/// <summary>
        /// 删除投稿
        /// </summary>
        /// <param name="ArticleID"></param>
        /// <returns></returns>
        public ActionResult DeletePost(string ArticleID)
        {
            Article article = Article.GetArticleBySn(ArticleID);

            if (article == null)
            {
                return(Redirect("/Home/Index"));
            }
            if (Session[ConstHelper.Session_USERID] == null)
            {
                return(Redirect("/Home/Index"));
            }
            if (Session[ConstHelper.Session_USERID].ToString() != article.OwnerId)
            {
                return(Redirect("/Home/Index"));
            }
            //已经发布的首页文章不允许删除
            if (article.PublishStatus == ApproveStatus.Accept && article.IsFirstPage)
            {
                return(Redirect("/Home/Index"));
            }
            Article.DropArticle(article);
            //收录到专题中的文章也要处理掉
            TopicArticle.RemoveArticle(article.Sn);
            return(Redirect("/PostEdit/PostList"));
        }
Example #2
0
        /// <summary>
        /// 拒绝文章被收录到某主题(操作人是专题的拥有者)
        /// </summary>
        /// <param name="TopicOwnerId"></param>
        /// <param name="ArticleId"></param>
        /// <returns></returns>
        public ActionResult RefuseActicle(string TopicId, string ArticleId, string MessageId)
        {
            if (Session[ConstHelper.Session_USERID] == null)
            {
                return(Redirect("/"));
            }
            string accountid = Session[ConstHelper.Session_USERID].ToString();
            var    article   = Article.GetArticleBySn(ArticleId);
            var    topic     = Topic.GetTopicBySn(TopicId);

            if (article == null || topic == null)
            {
                SiteMessage.CloseMessage(MessageId, accountid, "没有发现文章或者主题");
            }
            else
            {
                if (accountid != topic.OwnerId)
                {
                    return(Redirect("/"));
                }
                TopicArticle.ChangeTopicStatus(topic.OwnerId, ArticleId, false);
                SiteMessage.CreateNotify(article.OwnerId, "您的收录请求被拒绝,[" + article.Title + "]没有被收录到文集中", accountid);
                SiteMessage.CloseMessage(MessageId, accountid, "拒绝");
            }
            return(Redirect("/Author/SiteMessageList"));
        }
Example #3
0
        /// <summary>
        /// 接受文章被收录到某主题(操作人是文章的拥有者)
        /// </summary>
        /// <param name="TopicOwnerId"></param>
        /// <param name="ArticleId"></param>
        /// <returns></returns>
        public ActionResult AcceptTopic(string TopicOwnerId, string ArticleId, string MessageId)
        {
            if (Session[ConstHelper.Session_USERID] == null)
            {
                return(Redirect("/"));
            }
            string accountid = Session[ConstHelper.Session_USERID].ToString();
            var    article   = Article.GetArticleBySn(ArticleId);

            if (article == null)
            {
                SiteMessage.CloseMessage(MessageId, accountid, "没有发现文章");
            }
            else
            {
                if (accountid != article.OwnerId)
                {
                    return(Redirect("/"));
                }
                TopicArticle.ChangeTopicStatus(TopicOwnerId, ArticleId, true);
                SiteMessage.CreateNotify(TopicOwnerId, "您的收录请求被接受,[" + article.Title + "]被收录到您的文集中", accountid);
                SiteMessage.CloseMessage(MessageId, accountid, "接受");
            }
            return(Redirect("/Author/SiteMessageList"));
        }
Example #4
0
        /// <summary>
        /// 投稿文章到专题
        /// </summary>
        /// <param name="TopicId"></param>
        /// <param name="ArticleId"></param>
        /// <returns></returns>
        public ActionResult PostArticle(string TopicId, string ArticleId)
        {
            if (Session[ConstHelper.Session_USERID] == null)
            {
                return(Redirect("/Home/Index"));
            }
            string accountid = Session[ConstHelper.Session_USERID].ToString();
            var    article   = Article.GetArticleBySn(ArticleId);

            if (article.OwnerId != accountid)
            {
                return(Redirect("/"));
            }
            var topic = Topic.GetTopicBySn(TopicId);

            if (topic == null || (!topic.IsPostable))
            {
                return(Redirect("/"));
            }
            if (topic.IsNeedApproval)
            {
                TopicArticle.InsertTopicArticle(new TopicArticle()
                {
                    ArticleID     = ArticleId,
                    TopicID       = TopicId,
                    PublishStatus = ApproveStatus.Pending
                });
                var parm       = "TopicId=" + topic.Sn + "&ArticleId=" + ArticleId;
                var articleurl = "<a href = '/Article/Index?ArticleId=" + article.Sn + "'>" + article.Title + "</a>";
                var topicurl   = "<a href = '/Author/TopicPage?accountid=" + topic.OwnerId + "'>" + topic.Title + "</a>";
                SiteMessage.CreateYesNo(topic.OwnerId, articleurl + "请求投稿到专题" + topicurl, "/Author/AcceptActicle?" + parm, "/Author/RefuseActicle?" + parm, accountid);
            }
            else
            {
                TopicArticle.InsertTopicArticle(new TopicArticle()
                {
                    ArticleID     = ArticleId,
                    TopicID       = TopicId,
                    PublishStatus = ApproveStatus.Accept
                });
            }
            return(Redirect("/Author/PostToTopic?TopicId=" + TopicId));
        }
Example #5
0
        /// <summary>
        /// 从专题中移除文章
        /// </summary>
        /// <param name="articleId"></param>
        /// <returns></returns>
        public ActionResult RemoveFromTopic(string articleId)
        {
            if (Session[ConstHelper.Session_USERID] == null)
            {
                return(Redirect("/"));
            }
            Topic  topic     = null;
            string accountid = Session[ConstHelper.Session_USERID].ToString();

            if (Topic.IsExistTopic(accountid))
            {
                topic = Topic.GetTopicByAccountId(accountid);
            }
            else
            {
                return(Redirect("/"));
            }
            TopicArticle.Remove(topic.Sn, articleId);
            return(Redirect("/Author/ManagerTopic?PageNo=1"));
        }
Example #6
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/json";
            string json = string.Empty;

            if (context.Session[ConstHelper.Session_USERID] == null)
            {
                var SessionTimeout = new
                {
                    success = ConstHelper.Fail,
                    message = "系统超时,请重新登陆",
                };
                json = JsonConvert.SerializeObject(SessionTimeout);
                context.Response.Write(json);
                return;
            }
            string strArticleID = context.Request.QueryString["ArticleID"];
            string strOwnerID   = context.Session[ConstHelper.Session_USERID].ToString();
            bool   isOK         = TopicArticle.PutToTopic(strOwnerID, strArticleID);

            if (isOK)
            {
                var article = Article.GetArticleBySn(strArticleID);
                var Success = new
                {
                    success = ConstHelper.Success,
                    message = article.IsNeedTopicApproval ? "发送收录请求成功" : "收录成功",
                };
                json = JsonConvert.SerializeObject(Success);
            }
            else
            {
                var Success = new
                {
                    success = ConstHelper.Fail,
                    message = "收录失败",
                };
                json = JsonConvert.SerializeObject(Success);
            }
            context.Response.Write(json);
        }
Example #7
0
        /// <summary>
        /// 接受文章首页申请
        /// </summary>
        /// <param name="ArticleId"></param>
        /// <returns></returns>
        public ActionResult Accept(string ArticleId)
        {
            if (string.IsNullOrEmpty(ArticleId))
            {
                return(Redirect("/"));
            }
            if (Session[ConstHelper.Session_USERID] == null)
            {
                return(Redirect("/"));
            }
            if ((UserType)Session[ConstHelper.Session_PRIVILEGE] != UserType.Admin &&
                (UserType)Session[ConstHelper.Session_PRIVILEGE] != UserType.Editor)
            {
                return(Redirect("/"));
            }

            if (Article.GetArticleBySn(ArticleId) == null)
            {
                return(Redirect("/"));
            }
            Article.Accept(ArticleId);
            Article article    = Article.GetArticleBySn(ArticleId);
            var     articleurl = "<a href = '/Article/Index?ArticleId=" + article.Sn + "'>" + article.Title + "</a>";

            SiteMessage.CreateNotify(article.OwnerId, "您的文章[" + articleurl + "]通过审核");
            if (article.IsPutToMyTopic)
            {
                //发布后则加入到自己专题
                var topic = Topic.GetTopicByAccountId(article.OwnerId);
                if (topic != null)
                {
                    TopicArticle.InsertTopicArticle(new TopicArticle()
                    {
                        ArticleID     = article.Sn,
                        TopicID       = topic.Sn,
                        PublishStatus = ApproveStatus.NotNeed
                    });
                }
            }
            return(Redirect("/Admin"));
        }
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/json";
            string json = string.Empty;

            if (context.Session[ConstHelper.Session_USERID] == null)
            {
                var SessionTimeout = new
                {
                    success = ConstHelper.Fail,
                    message = "系统超时,请重新登陆",
                };
                json = JsonConvert.SerializeObject(SessionTimeout);
                context.Response.Write(json);
                return;
            }
            string  strArticleID = context.Request.Unvalidated.Form["ArticleID"];
            string  strMarkDown  = context.Request.Unvalidated.Form["Content"];
            string  strHTML      = context.Request.Unvalidated.Form["HTML"];
            Article article      = Article.GetArticleBySn(strArticleID);

            if (!article.OwnerId.Equals(context.Session[ConstHelper.Session_USERID].ToString()))
            {
                var NotTheOwner = new
                {
                    success = ConstHelper.Fail,
                    message = "你所编辑的文章的所有者和您的登陆用户不匹配",
                };
                json = JsonConvert.SerializeObject(NotTheOwner);
                context.Response.Write(json);
                return;
            }

            ArticleContent.SaveMarkDownVersion(strArticleID, strMarkDown, article.Sn, RevisionType.Draft);
            ArticleContent.SaveHTMLVersion(strArticleID, strHTML, article.Sn);
            if (article.IsFirstPage)
            {
                //首页发布处理
                Article.Publish(strArticleID, strMarkDown, strHTML);
            }
            else
            {
                //非首页处理
                ArticleContent.SaveMarkDownVersion(strArticleID, strMarkDown, article.Sn, RevisionType.Current);
            }
            if (!article.IsPrivate && !article.IsFirstPage)
            {
                //公开非首页,变成发布状态
                article.PublishStatus   = ApproveStatus.Accept;
                article.PublishDateTime = System.DateTime.Now;
                if (article.IsPutToMyTopic)
                {
                    //发布后则加入到自己专题
                    var topic = Topic.GetTopicByAccountId(context.Session[ConstHelper.Session_USERID].ToString());
                    if (topic != null)
                    {
                        TopicArticle.InsertTopicArticle(new TopicArticle()
                        {
                            ArticleID     = article.Sn,
                            TopicID       = topic.Sn,
                            PublishStatus = ApproveStatus.NotNeed
                        });
                    }
                }
                Article.UpdateArticle(article);
                ArticleListManager.RemoveArticleItemBody(article.Sn);
            }
            var Success = new
            {
                success = ConstHelper.Success,
                message = "保存成功",
            };

            json = JsonConvert.SerializeObject(Success);
            context.Response.Write(json);
        }