private void ProcessDownload3(HttpContext context, BasicThread thread, PostV5 post, int diskFileID) { Forum forum = ForumBO.Instance.GetForum(post.ForumID); ForumPermissionSetNode permission = AllSettings.Current.ForumPermissionSet.Nodes.GetPermission(post.ForumID); if (false == permission.Can(userID, ForumPermissionSetNode.Action.ViewAttachment) && attachment.UserID != userID) { ShowErrorMessage(context, "您没有权限下载附件!", "您没有权限下载附件.gif"); return; } if (!AlwaysViewContents(forum, post.UserID) && attachment.UserID != userID)//检查是否是出售的帖子 { AuthUser user = User.Current; bool isBuy = false; if (user.BuyedThreads.TryGetValue(post.ThreadID, out isBuy))//缓存中获取 { } if (!isBuy) { if (thread.Price > 0) { if (post.PostType == MaxLabs.bbsMax.Enums.PostType.ThreadContent) { if (false == post.IsFreeDiskFileID(diskFileID) && false == post.IsFreeAttachmentID(attachment.AttachmentID)) { if (!thread.IsOverSellDays(forum.ForumSetting) && !thread.IsBuyed(user)) { Context.ThrowError <CustomError>(new CustomError("error", "该附件所在的帖子需要购买,您还没有购买该帖子没有权限下载附件!")); return; //Bbs3Globals.ShowError("error", "该附件所在的帖子需要购买,您还没有购买该帖子没有权限下载附件!", 0); } } } } } } if (CheckPermission(forum.ForumSetting) || AlwaysViewContents(forum, attachment.UserID)) { if (false == OutputFileByID(context, attachment.FileID, attachment.FileName, attachment.FileType, outputMode)) { ShowErrorMessage(context, "该附件不存在,可能被移动或被删除!", "文件不存在.gif"); } } else { ShowErrorMessage(context, "你还没有购买此附件,不能下载!", "needpay.gif"); } }
protected bool HasBuyed(PostV5 post) { if (post.PostType != PostType.ThreadContent) { return(true); } BasicThread thread = searchThreads.GetValue(post.ThreadID); if (thread == null) { return(true); } if (thread.Price == 0 || thread.PostUserID == MyUserID || thread.IsOverSellDays(thread.Forum.ForumSetting)) { return(true); } return(HasBuyThreadIDs.Contains(post.ThreadID)); }
private void ProcessDownload3(HttpContext context, BasicThread thread, PostV5 post,int diskFileID) { Forum forum = ForumBO.Instance.GetForum(post.ForumID); ForumPermissionSetNode permission = AllSettings.Current.ForumPermissionSet.Nodes.GetPermission(post.ForumID); if (false == permission.Can(userID,ForumPermissionSetNode.Action.ViewAttachment) && attachment.UserID != userID) { ShowErrorMessage(context, "您没有权限下载附件!", "您没有权限下载附件.gif"); return; } if (!AlwaysViewContents(forum, post.UserID) && attachment.UserID != userID)//检查是否是出售的帖子 { AuthUser user = User.Current; bool isBuy = false; if (user.BuyedThreads.TryGetValue(post.ThreadID, out isBuy))//缓存中获取 { } if (!isBuy) { if (thread.Price > 0) { if (post.PostType == MaxLabs.bbsMax.Enums.PostType.ThreadContent) { if (false == post.IsFreeDiskFileID(diskFileID) && false == post.IsFreeAttachmentID(attachment.AttachmentID)) { if (!thread.IsOverSellDays(forum.ForumSetting) && !thread.IsBuyed(user)) { Context.ThrowError<CustomError>(new CustomError("error", "该附件所在的帖子需要购买,您还没有购买该帖子没有权限下载附件!")); return; //Bbs3Globals.ShowError("error", "该附件所在的帖子需要购买,您还没有购买该帖子没有权限下载附件!", 0); } } } } } } if (CheckPermission(forum.ForumSetting) || AlwaysViewContents(forum, attachment.UserID)) { if (false == OutputFileByID(context, attachment.FileID, attachment.FileName, attachment.FileType, outputMode)) { ShowErrorMessage(context, "该附件不存在,可能被移动或被删除!", "文件不存在.gif"); } } else { ShowErrorMessage(context, "你还没有购买此附件,不能下载!", "needpay.gif"); } }
private static string ProcessFreeTag(string content, BasicThread thread, Forum forum) { AuthUser user = User.Current; if (user.UserID == thread.PostUserID || thread.IsOverSellDays(forum.ForumSetting) || thread.IsBuyed(user) || (AllSettings.Current.ForumPermissionSet.Nodes.GetPermission(forum.ForumID).Can(user, ForumPermissionSetNode.Action.AlwaysViewContents))) content = regex_free.Replace(content, string.Format(freeStyle, "$1")); else { content = ProcessFreeTag(content,thread.IsBuyed(user)); } return content; }
private void ProcessDownload(HttpContext context, string fileID) { PostV5 post = PostBOV5.Instance.GetPost(attachment.PostID, false); Forum forum = ForumBO.Instance.GetForum(post.ForumID); ForumPermissionSetNode permission = AllSettings.Current.ForumPermissionSet.Nodes.GetPermission(post.ForumID); //if (!forum.Permission.ViewAttachment && attachment.UserID != userID) if (false == permission.Can(userID, ForumPermissionSetNode.Action.ViewAttachment) && attachment.UserID != userID) { ShowErrorMessage(context, "您没有权限下载附件!", "您没有权限下载附件.gif"); return; } if (!AlwaysViewContents(forum, post.UserID) && attachment.UserID != userID)//检查是否是出售的帖子 { AuthUser user = User.Current; bool isBuy = false; if (user.BuyedThreads.TryGetValue(post.ThreadID, out isBuy))//缓存中获取 { } if (!isBuy) { BasicThread thread = PostBOV5.Instance.GetThread(post.ThreadID); if (thread.Price > 0) { //Post firstPost = PostManager.GetThreadFirstPost(thread.ThreadID); //if (firstPost != null && firstPost.PostID == post.PostID)//附件所在的帖子是主题的内容 if (post.PostType == MaxLabs.bbsMax.Enums.PostType.ThreadContent) { //if (!firstPost.FreeAttachmentIDs.Contains(attachment.AttachmentID))//attachment.DiskFileID))//不在[free]标签中 if (false == post.IsFreeAttachmentID(attachment.AttachmentID)) { if (!thread.IsOverSellDays(forum.ForumSetting) && !thread.IsBuyed(user)) { Context.ThrowError <CustomError>(new CustomError("error", "该附件所在的帖子需要购买,您还没有购买该帖子,没有权限下载附件!")); //Bbs3Globals.ShowError("error", "该附件所在的帖子需要购买,您还没有购买该帖子没有权限下载附件!", 0); return; } } } } } } if (CheckPermission(forum.ForumSetting) || AlwaysViewContents(forum, attachment.UserID)) { //if (!IOUtil.DownloadFile(context.Response, context.Request, filePath, attachment.FileName, true, false)) if (false == OutputFileByID(context, fileID, attachment.FileName, attachment.FileType, outputMode)) { ShowErrorMessage(context, "该附件不存在,可能被移动或被删除!", "文件不存在.gif"); return; } } else { ShowErrorMessage(context, "你还没有购买此附件,不能下载!", "needpay.gif"); return; } context.Response.End(); }