示例#1
0
        /// <summary>
        /// 归档
        /// </summary>
        public void Archive()
        {
            var      model = new PostListModel();
            string   year  = Jqpress.Framework.Web.PressRequest.GetQueryString("year");
            string   month = Jqpress.Framework.Web.PressRequest.GetQueryString("month");
            DateTime date  = Convert.ToDateTime(year + "-" + month);

            begindate = date.ToString();
            enddate   = date.AddMonths(1).ToString();

            model.MetaKeywords    = "归档";
            model.MetaDescription = BlogConfig.GetSetting().SiteName + date.ToString("yyyy-MM") + "的归档";
            model.PageTitle       = "归档:" + date.ToString("yyyy-MM");
            model.PostMessage     = string.Format("<h2 class=\"post-message\">归档:{0}</h2>", date.ToString("yyyy-MM"));
            model.Url             = ConfigHelper.SiteUrl + "archive/" + date.ToString("yyyyMM") + "/page/{0}" + BlogConfig.GetSetting().RewriteExtension;
            int recordCount = 0;

            model.PostList = PostService.GetPostList(BlogConfig.GetSetting().PageSizePostCount, pageindex,
                                                     out recordCount, categoryId, tagId, userId, -1, 1, -1, 0,
                                                     begindate, enddate, keyword);
            model.Pager = Pager.CreateHtml(BlogConfig.GetSetting().PageSizePostCount, recordCount, model.Url);

            model.IsDefault = 0;
            model.ThemeName = _themeName;
            th.Put("Model", model);

            Display(th, _listTemplate);
        }
示例#2
0
        /// <summary>
        /// 作者
        /// </summary>
        public void Author()
        {
            var model = new PostListModel();

            string   userName = Jqpress.Framework.Web.PressRequest.GetQueryString("username");
            UserInfo user     = UserService.GetUser(userName);

            if (user != null)
            {
                userId                = user.UserId;
                model.MetaKeywords    = user.NickName;
                model.MetaDescription = user.Description;
                model.PageTitle       = user.NickName;

                model.PostMessage = string.Format("<h2 class=\"post-message\">作者:{0}</h2>", user.NickName);
                model.Url         = ConfigHelper.SiteUrl + "author/" + HttpContext.Current.Server.UrlEncode(userName) + "/page/{0}" + BlogConfig.GetSetting().RewriteExtension;
                int recordCount = 0;
                model.PostList = PostService.GetPostList(BlogConfig.GetSetting().PageSizePostCount, pageindex,
                                                         out recordCount, categoryId, tagId, userId, -1, 1, -1, 0,
                                                         begindate, enddate, keyword);
                model.Pager = Pager.CreateHtml(BlogConfig.GetSetting().PageSizePostCount, recordCount, model.Url);
            }

            model.IsDefault = 0;
            model.ThemeName = _themeName;
            th.Put("Model", model);

            Display(th, _listTemplate);
        }
示例#3
0
        /// <summary>
        /// 标签
        /// </summary>
        public void Tag()
        {
            var model = new PostListModel();

            TagInfo tag = TagService.GetTagBySlug(slug);

            if (tag != null)
            {
                tagId = tag.TagId;
                model.MetaKeywords    = tag.CateName;
                model.MetaDescription = tag.Description;
                model.PageTitle       = tag.CateName;
                model.PostMessage     = string.Format("<h2 class=\"post-message\">标签:{0}</h2>", tag.CateName);
                model.Url             = ConfigHelper.SiteUrl + "tag/" + HttpContext.Current.Server.UrlEncode(slug) + "/page/{0}" + BlogConfig.GetSetting().RewriteExtension;
                int recordCount = 0;
                model.PostList = PostService.GetPostList(BlogConfig.GetSetting().PageSizePostCount, pageindex,
                                                         out recordCount, categoryId, tagId, userId, -1, 1, -1, 0,
                                                         begindate, enddate, keyword);
                model.Pager = Pager.CreateHtml(BlogConfig.GetSetting().PageSizePostCount, recordCount, model.Url);
            }
            model.IsDefault = 0;
            model.ThemeName = _themeName;
            th.Put("Model", model);

            Display(th, _listTemplate);
        }
示例#4
0
        /// <summary>
        /// 首页
        /// </summary>
        public void Home()
        {
            var model = new PostListModel();

            model.IsDefault   = 1;
            model.ThemeName   = _themeName;
            model.PostMessage = string.Empty;
            model.Url         = ConfigHelper.SiteUrl + "page/{0}" + BlogConfig.GetSetting().RewriteExtension;;
            int recordCount = 0;

            model.PostList = PostService.GetPostList(BlogConfig.GetSetting().PageSizePostCount, pageindex,
                                                     out recordCount, categoryId, tagId, userId, -1, 1, -1, 0,
                                                     begindate, enddate, keyword);
            model.Pager = Pager.CreateHtml(BlogConfig.GetSetting().PageSizePostCount, recordCount, model.Url);
            th.Put("Model", model);

            Display(th, _listTemplate);
        }
示例#5
0
        /// <summary>
        /// 搜索
        /// </summary>
        public void Search()
        {
            var model = new PostListModel();

            keyword               = StringHelper.CutString(StringHelper.SqlEncode(Jqpress.Framework.Web.PressRequest.GetQueryString("keyword")), 0, 50);
            model.MetaKeywords    = keyword;
            model.MetaDescription = keyword;
            model.PageTitle       = keyword;
            model.PostMessage     = string.Format("<h2 class=\"post-message\">搜索:{0}</h2>", keyword);
            model.Url             = ConfigHelper.SiteUrl + "search" + BlogConfig.GetSetting().RewriteExtension + "?keyword=" + HttpContext.Current.Server.UrlEncode(keyword) + "&page={0}";
            int recordCount = 0;

            model.PostList = PostService.GetPostList(BlogConfig.GetSetting().PageSizePostCount, pageindex,
                                                     out recordCount, categoryId, tagId, userId, -1, 1, -1, 0,
                                                     begindate, enddate, keyword);
            model.Pager = Pager.CreateHtml(BlogConfig.GetSetting().PageSizePostCount, recordCount, model.Url);

            model.IsDefault = 0;
            model.ThemeName = _themeName;
            th.Put("Model", model);

            Display(th, _listTemplate);
        }
示例#6
0
    /// <summary>
    /// 加载文章
    /// </summary>
    protected void LoadPost()
    {
        th.Put(TagFields.IS_POST, "1");

        if (RequestHelper.IsPost && !RequestHelper.IsCrossSitePost)
        {
            AddComment();
        }

        PostInfo post = null;

        int    postId = -1;
        string name   = RequestHelper.QueryString("name");

        if (StringHelper.IsInt(name))
        {
            post = PostManager.GetPost(StringHelper.StrToInt(name, 0));
        }
        else
        {
            post = PostManager.GetPost(StringHelper.SqlEncode(name));
        }

        if (post == null)
        {
            ResponseError("文章未找到", "囧!没有找到此文章!", 404);
        }

        if (post.Status == (int)PostStatus.Draft)
        {
            ResponseError("文章未发布", "囧!此文章未发布!");
        }

        string cookie = "isviewpost" + post.PostId;
        int    isview = StringHelper.StrToInt(PageUtils.GetCookie(cookie), 0);

        //未访问或按刷新统计
        if (isview == 0 || SettingManager.GetSetting().SiteTotalType == 1)
        {
            PostManager.UpdatePostViewCount(post.PostId, 1);
        }
        //未访问
        if (isview == 0 && SettingManager.GetSetting().SiteTotalType == 2)
        {
            PageUtils.SetCookie(cookie, "1", 1440);
        }

        th.Put(TagFields.POST, post);
        th.Put(TagFields.PAGE_TITLE, post.Title);

        string metaKeywords = string.Empty;

        foreach (TagInfo tag in post.Tags)
        {
            metaKeywords += tag.Name + ",";
        }
        if (metaKeywords.Length > 0)
        {
            metaKeywords = metaKeywords.TrimEnd(',');
        }
        th.Put(TagFields.META_KEYWORDS, metaKeywords);

        string metaDescription = post.Summary;

        if (string.IsNullOrEmpty(post.Summary))
        {
            metaDescription = post.Content;
        }
        th.Put(TagFields.META_DESCRIPTION, StringHelper.CutString(StringHelper.RemoveHtml(metaDescription), 50).Replace("\n", ""));

        int recordCount = 0;
        List <CommentInfo> commentList = CommentManager.GetCommentList(SettingManager.GetSetting().PageSizeCommentCount, Pager.PageIndex, out recordCount, SettingManager.GetSetting().CommentOrder, -1, post.PostId, 0, -1, -1, null);

        th.Put(TagFields.COMMENTS, commentList);
        th.Put(TagFields.PAGER, Pager.CreateHtml(SettingManager.GetSetting().PageSizeCommentCount, recordCount, post.PageUrl + "#comments"));

        //同时判断评论数是否一致
        if (recordCount != post.CommentCount)
        {
            post.CommentCount = recordCount;
            PostManager.UpdatePost(post);
        }

        th.Put(TagFields.LOACHS, new LoachsDataManager());

        if (System.IO.File.Exists(Server.MapPath(string.Format("{0}/themes/{1}/template/{2}", ConfigHelper.SitePath, themeName, post.Template))))
        {
            Display(post.Template);
        }
        else
        {
            Display("post.html");
        }
    }
示例#7
0
    /// <summary>
    /// 加载文章列表
    /// </summary>
    protected void LoadPostList()
    {
        int    categoryId = -1;
        int    tagId      = -1;
        int    userId     = -1;
        string keyword    = string.Empty;
        string data       = string.Empty;
        string begindate  = string.Empty;
        string enddate    = string.Empty;

        int pageindex = RequestHelper.QueryInt("page", 1);

        string messageinfo = string.Empty;

        string url = MakeUrl(string.Empty, string.Empty, string.Empty);

        if (pageType == "category")
        {
            string       slug = RequestHelper.QueryString("slug");
            CategoryInfo cate = CategoryManager.GetCategory(slug);
            if (cate != null)
            {
                categoryId = cate.CategoryId;
                th.Put(TagFields.META_KEYWORDS, cate.Name);
                th.Put(TagFields.META_DESCRIPTION, cate.Description);
                th.Put(TagFields.PAGE_TITLE, cate.Name);
                messageinfo = string.Format("<h2 class=\"post-message\">分类:{0}</h2>", cate.Name);

                url = MakeUrl("category", "slug", Server.UrlEncode(slug));
            }
        }
        else if (pageType == "tag")
        {
            string  slug = RequestHelper.QueryString("slug");
            TagInfo tag  = TagManager.GetTagBySlug(slug);
            if (tag != null)
            {
                tagId = tag.TagId;
                th.Put(TagFields.META_KEYWORDS, tag.Name);
                th.Put(TagFields.META_DESCRIPTION, tag.Description);
                th.Put(TagFields.PAGE_TITLE, tag.Name);
                messageinfo = string.Format("<h2 class=\"post-message\">标签:{0}</h2>", tag.Name);

                url = MakeUrl("tag", "slug", Server.UrlEncode(slug));
            }
        }
        else if (pageType == "author")
        {
            string   userName = RequestHelper.QueryString("username");
            UserInfo user     = UserManager.GetUser(userName);
            if (user != null)
            {
                userId = user.UserId;
                th.Put(TagFields.META_KEYWORDS, user.Name);
                th.Put(TagFields.META_DESCRIPTION, user.Description);
                th.Put(TagFields.PAGE_TITLE, user.Name);
                messageinfo = string.Format("<h2 class=\"post-message\">作者:{0}</h2>", user.Name);

                url = MakeUrl("author", "username", Server.UrlEncode(userName));
            }
        }
        else if (pageType == "search")
        {
            keyword = StringHelper.CutString(StringHelper.SqlEncode(RequestHelper.QueryString("keyword")), 15);
            th.Put(TagFields.META_KEYWORDS, keyword);
            th.Put(TagFields.META_DESCRIPTION, keyword);
            th.Put(TagFields.PAGE_TITLE, keyword);
            th.Put(TagFields.SEARCH_KEYWORD, keyword);
            messageinfo = string.Format("<h2 class=\"post-message\">搜索:{0}</h2>", keyword);

            url = MakeUrl("search", "keyword", Server.UrlEncode(keyword));
        }
        else if (pageType == "archive")     //先按月归档
        {
            string datestr = RequestHelper.QueryString("date");

            string   year  = datestr.Substring(0, 4);
            string   month = datestr.Substring(4, 2);
            DateTime date  = Convert.ToDateTime(year + "-" + month);
            begindate = date.ToString();
            enddate   = date.AddMonths(1).ToString();
            th.Put(TagFields.META_KEYWORDS, "归档");
            th.Put(TagFields.META_DESCRIPTION, SettingManager.GetSetting().SiteName + date.ToString("yyyy-MM") + "的归档");
            th.Put(TagFields.PAGE_TITLE, "归档:" + date.ToString("yyyy-MM"));
            messageinfo = string.Format("<h2 class=\"post-message\">归档:{0}</h2>", date.ToString("yyyy-MM"));

            url = MakeUrl("archive", "date", datestr);
        }

        else    //首页
        {
            if (pageindex == 1)
            {
                th.Put(TagFields.IS_DEFAULT, "1");
            }
        }

        th.Put(TagFields.POST_MESSAGE, messageinfo);
        //     th.Put(TagFields.PAGER_INDEX, pageindex);

        int recordCount = 0;

        th.Put(TagFields.POSTS, PostManager.GetPostList(SettingManager.GetSetting().PageSizePostCount, pageindex, out recordCount, categoryId, tagId, userId, -1, 1, -1, 0, begindate, enddate, keyword));
        th.Put(TagFields.PAGER, Pager.CreateHtml(SettingManager.GetSetting().PageSizePostCount, recordCount, url));

        Display("default.html");
    }
示例#8
0
        /// <summary>
        /// 文章
        /// </summary>
        public void Post()
        {
            var model = new PostModel();

            model.IsPost = 1;
            PostInfo post = null;

            int    postId = -1;
            string name   = Jqpress.Framework.Web.PressRequest.GetQueryString("name");

            if (Jqpress.Framework.Utils.Validate.IsInt(name))
            {
                post = PostService.GetPost(Jqpress.Framework.Utils.TypeConverter.StrToInt(name, 0));
            }
            else
            {
                post = PostService.GetPost(StringHelper.SqlEncode(name));
            }

            if (post == null)
            {
                BasePage.ResponseError("文章未找到", "囧!没有找到此文章!", 404);
            }

            if (post.Status == (int)PostStatus.Draft)
            {
                BasePage.ResponseError("文章未发布", "囧!此文章未发布!");
            }

            string cookie = "isviewpost" + post.PostId;
            int    isview = Jqpress.Framework.Utils.TypeConverter.StrToInt(Jqpress.Framework.Web.PressRequest.GetCookie(cookie), 0);

            //未访问或按刷新统计
            if (isview == 0 || BlogConfig.GetSetting().SiteTotalType == 1)
            {
                PostService.UpdatePostViewCount(post.PostId, 1);
            }
            //未访问
            if (isview == 0 && BlogConfig.GetSetting().SiteTotalType == 2)
            {
                Jqpress.Framework.Web.PressRequest.WriteCookie(cookie, "1", 1440);
            }

            model.Post      = post;
            model.PageTitle = post.Title;

            string metaKeywords = string.Empty;

            foreach (TagInfo tag in post.Tags)
            {
                metaKeywords += tag.CateName + ",";
            }
            if (metaKeywords.Length > 0)
            {
                metaKeywords = metaKeywords.TrimEnd(',');
            }
            model.MetaKeywords = metaKeywords;

            string metaDescription = post.Summary;

            if (string.IsNullOrEmpty(post.Summary))
            {
                metaDescription = post.PostContent;
            }
            model.MetaDescription = StringHelper.CutString(StringHelper.RemoveHtml(metaDescription), 50).Replace("\n", "");

            int recordCount = 0;

            model.Comments = CommentService.GetCommentList(BlogConfig.GetSetting().PageSizeCommentCount, Pager.PageIndex, out recordCount, BlogConfig.GetSetting().CommentOrder, -1, post.PostId, 0, -1, -1, null);
            model.Pager    = Pager.CreateHtml(BlogConfig.GetSetting().PageSizeCommentCount, recordCount, post.PageUrl + "#comments");

            //同时判断评论数是否一致
            if (recordCount != post.CommentCount)
            {
                post.CommentCount = recordCount;
                PostService.UpdatePost(post);
            }
            model.IsDefault        = 0;
            model.ThemeName        = _themeName;
            model.EnableVerifyCode = BlogConfig.GetSetting().EnableVerifyCode;
            th.Put("Model", model);
            if (System.IO.File.Exists(HttpContext.Current.Server.MapPath(string.Format("{0}/themes/{1}/template/{2}", ConfigHelper.SitePath, _themeName, post.Template))))
            {
                Display(th, post.Template);
            }
            else
            {
                Display(th, _postTemplate);
            }
        }