コード例 #1
0
ファイル: AuthorList.ascx.cs プロジェクト: zmalmquist/XBlog
        protected void Page_Load(object sender, EventArgs e)
        {
            settingsItem = XBlogHelper.General.DataManager.GetBlogSettingsItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);
            authorCount = AuthorManager.GetAuthorCount(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);

            // set title
            frTitle.FieldName = BlogSettings.AuthorListTitleFieldId;
            frTitle.Item = settingsItem.InnerItem;

            //Get search results
            IEnumerable<Author> authors = null;
            if (settingsItem.OrderAuthorOnCount)
            {

                authors = AuthorManager.GetAuthorsOrderedByCount(authorCount);
            }
            else
            {
                authors = AuthorManager.GetAuthors(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);
            }

            // Set max display
            authors = AuthorManager.SetAuthorDisplayLimit(settingsItem.AuthorListMaxAuthorsToDisplay, authors);

            if (authors == null || !authors.Any())
                return;

            // Bind data source
            lvAuthorList.DataSource = authors;
            lvAuthorList.DataBind();
        }
コード例 #2
0
ファイル: TagList.ascx.cs プロジェクト: zmalmquist/XBlog
        protected void Page_Load(object sender, EventArgs e)
        {
            settingsItem = XBlogHelper.General.DataManager.GetBlogSettingsItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);
            tagCount = TagManager.GetTagCloud(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);

            // set title
            frTitle.FieldName = BlogSettings.TagListTitleFieldId;
            frTitle.Item = settingsItem.InnerItem;

            //Get search results
            IEnumerable<Tag> tags = null;
            if (settingsItem.OrderTagOnCount)
            {

                tags = TagManager.GetTagsOrderedByCount(tagCount);
            }
            else
            {
                tags = TagManager.GetTags(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);
            }

            if (tags == null || !tags.Any())
                return;

            // Bind data source
            lvTagList.DataSource = tags;
            lvTagList.DataBind();
        }
コード例 #3
0
ファイル: CategoryList.ascx.cs プロジェクト: zmalmquist/XBlog
        protected void Page_Load(object sender, EventArgs e)
        {
            settingsItem = XBlogHelper.General.DataManager.GetBlogSettingsItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);
            categoryCount = CategoryManager.GetCategoryCount(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);

            // set title
            frTitle.FieldName = BlogSettings.CategoryListTitleFieldId;
            frTitle.Item = settingsItem.InnerItem;

            //Get search results
            IEnumerable<Category> categories = null;
            if (settingsItem.OrderCategoryOnCount)
            {

                categories = CategoryManager.GetCategoriesOrderedByCount(categoryCount);
            }
            else
            {
                categories = CategoryManager.GetCategories(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);
            }

            if (categories == null || !categories.Any())
                return;

            // Bind data source
            lvCategoryList.DataSource = categories;
            lvCategoryList.DataBind();
        }
コード例 #4
0
ファイル: TextSearch.ascx.cs プロジェクト: zmalmquist/XBlog
        protected void Page_Load(object sender, EventArgs e)
        {
            settingsItem = XBlogHelper.General.DataManager.GetBlogSettingsItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);

            Item blogHome = XBlogHelper.General.DataManager.GetBlogHomeItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);
            UrlOptions option = new UrlOptions();
            option.AddAspxExtension = false;
            searchUrl = String.Format("{0}/{1}/", LinkManager.GetItemUrl(blogHome, option), XBSettings.XBSearchQS);
        }
コード例 #5
0
ファイル: BlogManager.cs プロジェクト: zmalmquist/XBlog
        public static string GetBlogPagination(BlogSettings settingsItem, int currentPage, int totalRows, int maximumRows)
        {
            StringBuilder pagination = new StringBuilder();

            double decMaxPages = Convert.ToDouble(totalRows) / Convert.ToDouble(maximumRows);
            int maxPages = Convert.ToInt32(Math.Ceiling(decMaxPages));

            if (maxPages > 1)
            {

                if (currentPage > maxPages)
                {
                    // outside our range, make first page
                    currentPage = 1;
                }

                if (currentPage != 1)
                {
                    pagination.Append(String.Format("<a href=\"?{0}={1}\">{2}</a> ", XBSettings.XBPageQS, "1", settingsItem.FirstPageText));
                    pagination.Append(String.Format("<a href=\"?{0}={1}\">{2}</a> ", XBSettings.XBPageQS, Convert.ToString(currentPage - 1), settingsItem.PreviousPageText));
                }

                if (currentPage - 2 > 0)
                    pagination.Append(String.Format("<a href=\"?{0}={1}\">{2}</a> ", XBSettings.XBPageQS, Convert.ToString(currentPage - 2), Convert.ToString(currentPage - 2)));

                if (currentPage - 1 > 0)
                    pagination.Append(String.Format("<a href=\"?{0}={1}\">{2}</a> ", XBSettings.XBPageQS, Convert.ToString(currentPage - 1), Convert.ToString(currentPage - 1)));

                pagination.Append(String.Format("{0} ", Convert.ToString(currentPage)));

                if (currentPage + 1 <= maxPages)
                    pagination.Append(String.Format("<a href=\"?{0}={1}\">{2}</a> ", XBSettings.XBPageQS, Convert.ToString(currentPage + 1), Convert.ToString(currentPage + 1)));

                if (currentPage + 2 <= maxPages)
                    pagination.Append(String.Format("<a href=\"?{0}={1}\">{2}</a> ", XBSettings.XBPageQS, Convert.ToString(currentPage + 2), Convert.ToString(currentPage + 2)));

                if (currentPage + 1 <= maxPages)
                {
                    pagination.Append(String.Format("<a href=\"?{0}={1}\">{2}</a> ", XBSettings.XBPageQS, Convert.ToString(currentPage + 1), settingsItem.NextPageText));
                    pagination.Append(String.Format("<a href=\"?{0}={1}\">{2}</a> ", XBSettings.XBPageQS, Convert.ToString(maxPages), settingsItem.LastPageText));
                }
            }

            return pagination.ToString();
        }
コード例 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            settingsItem = XBlogHelper.General.DataManager.GetBlogSettingsItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);
            authorCount = AuthorManager.GetAuthorCount(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);

            // set title
            frTitle.FieldName = BlogSettings.AuthorViewListTitleFieldId;
            frTitle.Item = settingsItem.InnerItem;

            //Get search results
            IEnumerable<Author> authors = null;
            if (settingsItem.OrderAuthorOnCount)
            {

                authors = AuthorManager.GetAuthorsOrderedByCount(authorCount);
            }
            else
            {
                authors = AuthorManager.GetAuthors(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);
            }

            // Set max display
            authors = AuthorManager.SetAuthorDisplayLimit(settingsItem.AuthorListMaxAuthorsToDisplay, authors);

            if (authors == null || !authors.Any())
                return;

            // Bind data source
            lvAuthorList.DataSource = authors;
            lvAuthorList.DataBind();

            if (settingsItem.AuthorViewPage != null && settingsItem.AuthorViewAllLinkText != "")
            {
                ltlAuthorViewAllLink.Text = String.Format("<a href=\"{0}\" class=\"authorviewlink\">{1}</a><br class=\"clear\" />", LinkManager.GetItemUrl(settingsItem.AuthorViewPage), settingsItem.AuthorViewAllLinkText);
            }
        }
コード例 #7
0
ファイル: RelatedBlog.ascx.cs プロジェクト: zmalmquist/XBlog
        protected void Page_Load(object sender, EventArgs e)
        {
            settingsItem = XBlogHelper.General.DataManager.GetBlogSettingsItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);
            BlogPost currentBlogPost = Sitecore.Context.Item.CreateAs<BlogPost>();

            // set title
            frTitle.FieldName = BlogSettings.RelatedBlogTitleFieldId;
            frTitle.Item = settingsItem.InnerItem;

            //Get search results
            IEnumerable<BlogPost> blogs = BlogManager.GetBlogRelatedValues(currentBlogPost);
            blogs = BlogManager.SetBlogDisplayLimit(settingsItem.RelatedBlogMaxPosts, blogs);

            if (blogs == null || !blogs.Any())
            {
                return;
            }

            // Bind data source
            lvBlogPosts.DataSource = blogs;
            lvBlogPosts.DataBind();
        }
コード例 #8
0
ファイル: AuthorManager.cs プロジェクト: zmalmquist/XBlog
 public static string GetAuthorViewUrl(string authorName, BlogSettings settingsItem)
 {
     UrlOptions option = new UrlOptions();
     option.AddAspxExtension = false;
     return String.Format("{0}/{1}/{2}", LinkManager.GetItemUrl(settingsItem.AuthorViewPage, option), XBSettings.XBAuthorViewQS, authorName);
 }
コード例 #9
0
ファイル: AuthorViewSL.ascx.cs プロジェクト: zmalmquist/XBlog
        protected void Page_Load(object sender, EventArgs e)
        {
            // set settings item to datasource or context

            settingsItem = XBlogHelper.General.DataManager.GetBlogSettingsItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);

            bool authorFound = false;
            if (!String.IsNullOrEmpty(Request.QueryString[XBSettings.XBAuthorViewQS]))
            {
                Author authorItem = AuthorManager.GetAuthorByName(DataSourceItem, Request.QueryString[XBSettings.XBAuthorViewQS]);
                if (authorItem != null)
                {
                    authorFound = true;
                    lvAuthorList.Visible = false;
                    pnlAuthor.Visible = true;

                    frTitle.Item = authorItem.InnerItem;
                    frTitle.FieldName = Author.AuthorFullNameFieldId;

                    frAuthorTitle.Item = authorItem.InnerItem;
                    frAuthorTitle.FieldName = Author.AuthorTitleFieldId;

                    frLocation.Item = authorItem.InnerItem;
                    frLocation.FieldName = Author.AuthorLocationFieldId;

                    frBio.Item = authorItem.InnerItem;
                    frBio.FieldName = Author.AuthorBioFieldId;

                    frProfileImage.Item = authorItem.InnerItem;
                    frProfileImage.FieldName = Author.AuthorProfileImageFieldId;
                    frProfileImage.CssClass = "authorImage";

                    string searchHeading = "";
                    string categoryID = "";
                    string authorID = "";
                    string tagID = "";
                    string searchText = "";

                    authorID = authorItem.InnerItem.ID.ToString();

                    if (settingsItem.DisplayFilterMessage)
                    {
                        searchHeading = settingsItem.AuthorFilterTitle + authorItem.FullName;
                    }

                    //Get search results
                    int currentPage = 1;
                    int maximumRows = 5;
                    int startRowIndex = 1;
                    bool rowResult = Int32.TryParse(settingsItem.PageSize, out maximumRows);
                    if (!rowResult)
                    {
                        maximumRows = 5;
                    }

                    bool pageResult = false;

                    if (!String.IsNullOrEmpty(Request.QueryString[XBSettings.XBPageQS]))
                    {
                        pageResult = Int32.TryParse(Request.QueryString[XBSettings.XBPageQS], out currentPage);
                    }
                    if (!pageResult)
                    {
                        currentPage = 1;
                    }

                    startRowIndex = (currentPage - 1) * maximumRows;

                    IEnumerable<BlogPost> blogs = BlogManager.GetBlogPosts(DataSourceItem, categoryID, authorID, tagID, searchText, startRowIndex, maximumRows);
                    int totalRows = BlogManager.GetBlogsCount(DataSourceItem, categoryID, authorID, tagID, searchText);

                    if (searchHeading != "")
                    {
                        searchHeading = totalRows.ToString() + " " + searchHeading;
                    }

                    litSearchHeading.Text = searchHeading;

                    litPagination.Text = BlogManager.GetBlogPagination(settingsItem, currentPage, totalRows, maximumRows);

                    if (blogs == null || !blogs.Any())
                        return;

                    // Bind data source
                    lvBlogPosts.DataSource = blogs;
                    lvBlogPosts.DataBind();
                }
            }

            if (!authorFound)
            {
                lvAuthorList.Visible = true;
                pnlAuthor.Visible = false;

                // no author found, get list
                AuthorView authorItem = Sitecore.Context.Item.CreateAs<AuthorView>();

                frTitle.Item = authorItem.InnerItem;
                frTitle.FieldName = AuthorView.AuthorDefaultTitleFieldId;

                //Get search results
                IEnumerable<Author> authors = AuthorManager.GetAuthors(DataSourceItem);

                if (authors == null || !authors.Any())
                    return;

                // Bind data source
                lvAuthorList.DataSource = authors;
                lvAuthorList.DataBind();

            }
        }
コード例 #10
0
ファイル: RecentBlog.ascx.cs プロジェクト: zmalmquist/XBlog
        protected void Page_Load(object sender, EventArgs e)
        {
            settingsItem = XBlogHelper.General.DataManager.GetBlogSettingsItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);

            // set title
            frTitle.FieldName = BlogSettings.RecentBlogTitleFieldId;
            frTitle.Item = settingsItem.InnerItem;

            //Get search results
            int maximumRows = 3;
            int startRowIndex = 1;
            bool maximumRowsResult = false;

            if (!String.IsNullOrEmpty(settingsItem.RecentBlogMaxPosts))
            {
                maximumRowsResult = Int32.TryParse(settingsItem.RecentBlogMaxPosts, out maximumRows);
            }
            if (!maximumRowsResult)
            {
                maximumRows = 3;
            }

            IEnumerable<BlogPost> blogs = BlogManager.GetBlogPosts(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item, "", "", "", "", startRowIndex, maximumRows);

            if (blogs == null || !blogs.Any())
            {
                return;
            }

            // Bind data source
            lvBlogPosts.DataSource = blogs;
            lvBlogPosts.DataBind();
        }