public ActionResult Preview(string id)
        {
            blog_tb_article article = Utility.ArticleBll.GetEntity(id + "");
            string          content = Utility.ArticleBll.GetArticleContent(article.articleID + "").articleContent;
            string          reg     = "<\\s*?img.+?(src=\"(http://img.+?)\")";

            foreach (Match m in Regex.Matches(content, reg))
            {
                string src = m.Groups[1].Value;
                string img = m.Groups[2].Value;
                content = content.Replace(src, " src=\"http://static.kecq.com/images/common/big-loading.gif\" data-original=\"" + img + "\"");
            }

            reg = "<\\s*?img.+?(src='(http://img.+?)')";
            foreach (Match m in Regex.Matches(content, reg))
            {
                string src = m.Groups[1].Value;
                string img = m.Groups[2].Value;
                content = content.Replace(src, " src=\"http://static.kecq.com/images/common/big-loading.gif\" data-original=\"" + img + "\"");
            }
            ArticlePreviewViewModel model = new ArticlePreviewViewModel();

            model.Article = article;
            IList <blog_attachment> filelist = Utility.ArticleBll.GetFileRelation(id, "attachment");

            foreach (var v in filelist)
            {
                content += "<p><a href=\"" + v.fileUrl + "\">" + v.fileName + "</a></p>";
            }

            model.Content = content;
            return(View("~/Views/" + Utility.Version + "/Article/Preview.cshtml", model));
        }
Beispiel #2
0
        public int Insert(blog_tb_article article, blog_tb_article_content content)
        {
            //if (!String.IsNullOrEmpty(entity.articleSourceUrl))
            //{
            //    if (this.GetEntities().Where(c => c.articleSourceUrl == entity.articleSourceUrl).Count() > 0)
            //    {
            //        throw new CustomException("来源Url已存在");
            //    }
            //}

            //删除临时正文
            this.DbInstance.ExecuteSql("delete from blog_tb_article_temp where articleID=@articleID", DbInstance.CreateParameter("@articleID", article.articleID));
            //如果描述文本为空并且正文不为空 则取正文的html格式化后的一小段
            if (String.IsNullOrEmpty(content.articleSubContentText) && (!String.IsNullOrEmpty(content.articleContent)))
            {
                string articleSubContentText = HttpHelper.HtmlFilter(content.articleContent);
                content.articleSubContentText = articleSubContentText.Substring(0, Math.Min(300, articleSubContentText.Length));
            }
            //插入正文
            content.UPDATE_DATE = DateTime.Now;
            content.contentID   = Guid.NewGuid().ToString("N");
            EntityHelper <blog_tb_article_content> .Insert(content, "blog_tb_article_content", "contentID", true, this.DbInstance);

            return(base.Insert(article));
        }
Beispiel #3
0
        public blog_tb_article GetSingle(int articleID, string select = "*")
        {
            DataTable dt = DbInstance.GetDataTable("select " + select + " from blog_tb_article where articleID=@articleID"
                                                   , DbInstance.CreateParameter("@articleID", articleID));

            blog_tb_article model = FYJ.Data.Util.DataTableHelper.DataTableToModel <blog_tb_article>(dt).FirstOrDefault();

            return(model);
        }
Beispiel #4
0
        public blog_tb_article GetEntity(string articleID)
        {
            DataTable dt = DbInstance.GetDataTable("select * from blog_tb_article where articleID=@articleID"
                                                   , DbInstance.CreateParameter("@articleID", articleID));

            blog_tb_article model = ObjectHelper.DataTableToModel <blog_tb_article>(dt).FirstOrDefault();

            return(model);
        }
Beispiel #5
0
 public int Update(blog_tb_article article, blog_tb_article_content content)
 {
     //删除临时正文
     this.DbInstance.ExecuteSql("delete from blog_tb_article_temp where articleID=@articleID", DbInstance.CreateParameter("@articleID", article.articleID));
     //如果描述文本为空并且正文不为空 则取正文的html格式化后的一小段
     if (String.IsNullOrEmpty(content.articleSubContentText) && (!String.IsNullOrEmpty(content.articleContent)))
     {
         string articleSubContentText = HttpHelper.HtmlFilter(content.articleContent);
         content.articleSubContentText = articleSubContentText.Substring(0, Math.Min(300, articleSubContentText.Length));
     }
     //修改正文
     content.UPDATE_DATE = DateTime.Now;
     EntityHelper<blog_tb_article_content>.Update(content, "blog_tb_article_content", this.DbInstance, "articleID");
     return base.Update(article);
 }
        protected ShowViewModel GetModel(blog_tb_article article)
        {
            ShowViewModel viewmodel = new ShowViewModel();

            base.SetModel(viewmodel);
            viewmodel.IsCloseComment = Info.IsCloseComment;
            viewmodel.ThemeName      = article.themeID;
            viewmodel.Title          = article.articleTitle + "-" + viewmodel.Title;
            viewmodel.Keywords       = article.articleKeywords;
            viewmodel.Description    = article.articleDescription;
            viewmodel.ObjectID       = articleID;


            UserModel    user  = base.CurrentUser;
            ArticleModel model = Utility.ArticleBll.GetArticleByID(articleID, Utility.GetClientIP(HttpContext), user == null ? null : user.userID);

            viewmodel.CurrentArticle = model.CurrentArticle;


            if (viewmodel.CurrentArticle.articleIsOriginal)
            {
                viewmodel.CurrentArticle.articleSource = "本站原创";
            }
            else
            {
                if (viewmodel.CurrentArticle.IsShowSource)  //如果显示来源
                {
                    if (!String.IsNullOrEmpty(viewmodel.CurrentArticle.articleSourceUrl))
                    {
                        //return "本文转载自:<a href=\"" + _articleSourceUrl + "\" target=\"_blank\">" + _articleSourceUrl + "</a>";
                        viewmodel.CurrentArticle.articleSourceUrl = "本文转载自:" + viewmodel.CurrentArticle.articleSourceUrl;
                    }
                }
                else
                {
                    viewmodel.CurrentArticle.articleSource    = "";
                    viewmodel.CurrentArticle.articleSourceUrl = "";
                }
            }

            blog_tb_article_content content = Utility.ArticleBll.GetArticleContent(articleID);

            if (!ObjectHelper.IsNullOrEmptyOruUndefinedOrWhiteSpace(content.articleHideContent))
            {
                if (this.isReplyed())
                {
                    viewmodel.CurrentArticle.articleHideContent = content.articleHideContent;
                }
                else
                {
                    viewmodel.CurrentArticle.articleHideContent = "本文有隐藏内容,需要登录回复后刷新方能查看";
                }
            }

            if (model.CurrentArticle.articleIsOriginal)
            {
                viewmodel.Shenming = "欢迎转载,但请以超链接的形式给出原文链接:<a href=\"" + Request.Url.ToString() + "\">" + Request.Url.ToString() + "</a>";
            }

            viewmodel.CommentStateCollection = model.CommentStateCollection;
            viewmodel.CommentTagCollection   = model.CommentTagCollection;
            viewmodel.CommentPagerHtml       = GetCommentPager(1, model.CommentCount);

            viewmodel.BeforeArticle     = model.BeforeArticle;
            viewmodel.AfterArticle      = model.AfterArticle;
            viewmodel.CommentCollection = FYJ.IocFactory <IBlogFix> .Instance.GetComments(model.CurrentArticle.articleAttachmentLimit, model.CommentCollection);

            string articleContent = content.articleContent;

            #region 获取附件
            List <blog_attachment> atts = Utility.ArticleBll.GetFileRelation(articleID, "attachment");
            FixAttachment(viewmodel, atts);
            viewmodel.AttachmentCollection = atts;
            #endregion

            if (viewmodel.CurrentArticle.articleIsOriginal)
            {
                viewmodel.Shenming = "本文为原创,欢迎转载,请注明出处和原文链接:" + viewmodel.CurrentArticle.Url;
            }

            viewmodel.CurrentArticle.articleContent = articleContent;
            //如果是远程 则替换图片地址为阿里云
            if (Utility.IsRemote)
            {
                viewmodel.CurrentArticle.articleContent = Utility.ReplaceImgOrFileSrc(viewmodel.CurrentArticle.articleContent);
            }

            viewmodel.CurrentArticle.articleContent = Utility.ReplaceImgLazyload(viewmodel.CurrentArticle.articleContent);

            return(viewmodel);
        }
        public JsonResult Edit(string id, FormCollection collection)
        {
            int              articleID = Convert.ToInt32(Request["objectID"]);
            string           userID    = UserInfo.UserID;
            ArticleViewModel m         = new ArticleViewModel();

            ObjectHelper.UpdateModel(m, collection);
            CommentLimit articleCommentLimit = 0;

            if (m.IsDisableComment)
            {
                articleCommentLimit |= CommentLimit.禁止回复;
            }
            if (m.IsVerifyComment)
            {
                articleCommentLimit |= CommentLimit.需要审核;
            }
            if (m.IsDisabledAnonymouComment)
            {
                articleCommentLimit |= CommentLimit.禁止匿名用户回复;
            }

            AttachmentLimit attachmentLimit = 0;

            if (!String.IsNullOrEmpty(Request["chkAttachmentLimit"]))
            {
                if (Request["chkAttachmentLimit"].Contains("1"))
                {
                    attachmentLimit |= AttachmentLimit.禁止未登录用户下载;
                }
                if (Request["chkAttachmentLimit"].Contains("2"))
                {
                    attachmentLimit |= AttachmentLimit.禁止未回复用户下载;
                }
                if (Request["chkAttachmentLimit"].Contains("3"))
                {
                    attachmentLimit |= AttachmentLimit.禁止下载;
                }
            }

            blog_tb_article model = new blog_tb_article();

            if (String.IsNullOrEmpty(id) || id == "0")  //新增
            {
                //UpdateModel(model);
                ObjectHelper.UpdateModel(model, collection);
                model.articleID   = articleID;
                model.ADD_DATE    = DateTime.Now;
                model.UPDATE_DATE = DateTime.Now;
                Blogs.Entity.blog_tb_article_content contentModel = new blog_tb_article_content();
                contentModel.blogID      = model.blogID;
                contentModel.UPDATE_DATE = DateTime.Now;
                ObjectHelper.UpdateModel(contentModel, collection);
                contentModel.articleID = articleID;

                model.articleCommentLimit    = (int)articleCommentLimit;
                model.articleAttachmentLimit = (int)attachmentLimit;
                model.siteCategoryID         = 33927842;
                model.blogID = Convert.ToInt32(UserInfo.BlogID);
                Utility.ArticleBll.Insert(model, contentModel);
            }
            else
            {
                model = Utility.ArticleBll.GetEntity(articleID + "");
                ObjectHelper.UpdateModel(model, collection);
                model.UPDATE_DATE = DateTime.Now;
                Blogs.Entity.blog_tb_article_content contentModel = Utility.ArticleBll.GetArticleContent(id);
                contentModel.blogID = model.blogID;
                ObjectHelper.UpdateModel(contentModel, collection);

                model.articleCommentLimit    = (int)articleCommentLimit;
                model.articleAttachmentLimit = (int)attachmentLimit;
                Utility.ArticleBll.Update(model, contentModel);
            }

            //处理标签  必须后处理 因为之前还没有插入articleID
            if (!String.IsNullOrEmpty(Request["txt_tag"]))
            {
                Utility.TagBll.UpdateTag(Request["blogID"], articleID + "", Request["txt_tag"].TrimEnd(','));
            }

            return(Json(new { code = 1, message = "操作成功" }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(null);
            }
            int             objectID = 0;
            int             blogID   = Convert.ToInt32(UserInfo.BlogID);
            blog_tb_article model    = new blog_tb_article {
                blogID = blogID, ADD_DATE = DateTime.Now, UPDATE_DATE = DateTime.Now, articleDatetime = DateTime.Now
            };

            if ((!String.IsNullOrEmpty(id)) && id.ToString() != "0")
            {
                //model = Utility.ArticleBll.GetEntity(id);
                objectID = Convert.ToInt32(id);
                model    = Utility.ArticleBll.GetEntity(id);
                string tagString = "";
                foreach (var item in Utility.ArticleBll.GetArticleTags(id))
                {
                    tagString += item.tagDisplay + ",";
                }
                tagString             = tagString.TrimEnd(',');
                ViewData["tagString"] = tagString;
                model.UPDATE_DATE     = DateTime.Now;
                blog_tb_article_content contentModel = Utility.ArticleBll.GetArticleContent(id);
                //加载临时正文
                string tempContent = Utility.ArticleBll.ReadTempContent(id);
                if (!String.IsNullOrEmpty(tempContent))
                {
                    //contentModel.articleContent = tempContent;
                }
                ViewData["content"] = contentModel;
            }
            else
            {
                string lastArticleID = Utility.ArticleBll.LoadLastArticleID();
                if (!String.IsNullOrEmpty(lastArticleID))
                {
                    objectID = Convert.ToInt32(lastArticleID);
                    string tempContent = Utility.ArticleBll.ReadTempContent(lastArticleID);
                    blog_tb_article_content contentModel = new blog_tb_article_content();
                    contentModel.articleContent = tempContent;
                    contentModel.UPDATE_DATE    = DateTime.Now;
                    ViewData["content"]         = contentModel;
                }
                else
                {
                    objectID = Convert.ToInt32(Utility.ArticleBll.NewID());
                }
            }

            string userID = UserInfo.UserID;

            var categorys     = Utility.CategoryBll.GetTreeData(UserInfo.BlogID);
            var topics        = Utility.TopicBll.GetTopic(blogID + "");
            var tags          = Utility.TagBll.GetTags(blogID + "");
            var siteCategorys = Utility.BlogBll.QuerySiteCategory();

            ViewData["categorySelect"]     = new SelectList(categorys, "categoryID", "TextWithTreeSpace");
            ViewData["TopicSelect"]        = new SelectList(topics, "topicID", "topicDisplay");
            ViewData["TagSelect"]          = new SelectList(tags, "tagID", "tagDisplay");
            ViewData["siteCategorySelect"] = new SelectList(siteCategorys, "ID", "Display");
            if (tags.Count() > 0)
            {
            }

            ViewData["objectID"] = objectID;

            ArticleViewModel m = ObjectHelper.CloneProperties <ArticleViewModel>(model);

            m.IsDisableComment          = Utility.CommentBll.isDisableComment(model.articleCommentLimit);
            m.IsDisabledAnonymouComment = Utility.CommentBll.isDisabledAnonymousComment(model.articleCommentLimit);
            m.IsVerifyComment           = Utility.CommentBll.isVerifyComment(model.articleCommentLimit);

            IList <blog_attachment> filelist = Utility.ArticleBll.GetFileRelation(id, "attachment");

            if (filelist.Count > 0)
            {
                List <Models.Attachment> atts = new List <Models.Attachment>();
                foreach (var v in filelist)
                {
                    atts.Add(new Models.Attachment()
                    {
                        fileUrl = v.fileUrl, fileSize = v.fileSize
                    });
                }

                m.AttachmentCollection = atts;
            }

            //DataTable dt = FYJ.Common.JsonHelper.JsonToDataTable(json);
            //if (dt != null && dt.Rows.Count > 0)
            //{
            //    foreach (DataRow dr in dt.Rows)
            //    {
            //        str += "<p><a href='" + dr["fileUrl"] + "' target='_blank'>" + dr["fileName"] + "</a></p>";
            //    }
            //}

            if (Request["v"] == "simple")
            {
                return(View("~/Views/" + Utility.Version + "/Article/Edit-simple.cshtml", m));
            }
            else if (Request["v"] == "property")
            {
                return(View("~/Views/" + Utility.Version + "/Article/Edit-property.cshtml", m));
            }

            return(View("~/Views/" + Utility.Version + "/Article/Edit.cshtml", m));
        }