Esempio n. 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            BlogSettings settingsItem = XBlogHelper.General.DataManager.GetBlogSettingsItem(DataSourceItem != null ? DataSourceItem : Sitecore.Context.Item);

            BlogPost blogPost = Sitecore.Context.Item.CreateAs <BlogPost>();

            UrlOptions options = new UrlOptions();

            options.AlwaysIncludeServerUrl = true;
            ogURL = LinkManager.GetItemUrl(blogPost.InnerItem, options);

            ogTitle = blogPost.Title;

            ogDescription = "";
            if (!String.IsNullOrEmpty(blogPost.Summary))
            {
                ogDescription = Regex.Replace(blogPost.Summary, "<.*?>", String.Empty);
            }
            else
            {
                ogDescription = Regex.Replace(XBlogHelper.Helpers.Helper.SafeSubstring(blogPost.Summary, settingsItem.DisplaySummaryLength), "<.*?>", String.Empty);
            }

            ogAuthorImage = "";
            if (blogPost.Authors.Any())
            {
                List <Sitecore.Data.ID> authorIds = new List <Sitecore.Data.ID>();
                foreach (Author a in blogPost.Authors)
                {
                    authorIds.Add(a.ItemId);
                }

                List <Author> authors = AuthorManager.GetAuthorsForBlogPost(authorIds);

                if (authors[0].ProfileImage != null && authors[0].ProfileImage.MediaItem != null && settingsItem.DisplayAuthorImage)
                {
                    MediaUrlOptions mediaOptions = new MediaUrlOptions();
                    mediaOptions.AlwaysIncludeServerUrl = true;
                    ogAuthorImage = MediaManager.GetMediaUrl(authors[0].ProfileImage.MediaItem, mediaOptions);
                }
            }
        }
Esempio n. 2
0
        public ActionResult OGPostMeta()
        {
            var          model          = new MetaModel();
            Item         dataSourceItem = Context.Database.GetItem(RenderingContext.Current.Rendering.DataSource);
            BlogSettings settingsItem   = DataManager.GetBlogSettingsItem(dataSourceItem != null ? dataSourceItem : Sitecore.Context.Item);
            BlogPost     blogPost       = Context.Item.CreateAs <BlogPost>();

            model.title = blogPost.Title;
            UrlOptions options = new UrlOptions();

            options.AlwaysIncludeServerUrl = true;
            model.ogURL = LinkManager.GetItemUrl(blogPost.InnerItem, options);

            if (!String.IsNullOrEmpty(blogPost.Summary))
            {
                model.description = Regex.Replace(blogPost.Summary, "<.*?>", String.Empty);
            }
            else
            {
                model.description = Regex.Replace(Sitecore.Feature.XBlog.Areas.XBlog.Helpers.Helper.SafeSubstring(blogPost.Summary, settingsItem.DisplaySummaryLength), "<.*?>", String.Empty);
            }

            if (blogPost.Authors.Any())
            {
                List <Sitecore.Data.ID> authorIds = new List <Sitecore.Data.ID>();
                foreach (Author a in blogPost.Authors)
                {
                    authorIds.Add(a.ItemId);
                }

                List <Author> authors = AuthorManager.GetAuthorsForBlogPost(authorIds);
                if (authors[0].ProfileImage != null && authors[0].ProfileImage.MediaItem != null && settingsItem.DisplayAuthorImage)
                {
                    MediaUrlOptions mediaOptions = new MediaUrlOptions();
                    mediaOptions.AlwaysIncludeServerUrl = true;
                    model.image = MediaManager.GetMediaUrl(authors[0].ProfileImage.MediaItem, mediaOptions);
                }
            }

            return(this.View("~/Areas/XBlog/Views/XBlog/Callouts/OGPostMeta.cshtml", model));
        }
Esempio n. 3
0
        protected void lvBlogPosts_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            if (e.Item.ItemType != ListViewItemType.DataItem)
            {
                return;
            }

            BlogPost blogPost = e.Item.DataItem as BlogPost;

            if (blogPost == null)
            {
                return;
            }

            Text scBlogPostTitle = e.Item.FindControl("scBlogPostTitle") as Text;

            if (scBlogPostTitle != null)
            {
                scBlogPostTitle.Item = blogPost.InnerItem;
            }

            HyperLink hlTitle = e.Item.FindControl("hlTitle") as HyperLink;

            if (hlTitle != null)
            {
                hlTitle.Text        = blogPost.Title;
                hlTitle.ToolTip     = blogPost.Title;
                hlTitle.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(blogPost.InnerItem);
            }

            Literal scBlogPostSummary = e.Item.FindControl("scBlogPostSummary") as Literal;

            if (scBlogPostSummary != null)
            {
                if (!String.IsNullOrEmpty(blogPost.Summary))
                {
                    scBlogPostSummary.Text = blogPost.Summary;
                }
                else
                {
                    scBlogPostSummary.Text = Sitecore.Feature.XBlog.Helpers.Helper.SafeSubstring(blogPost.Body, settingsItem.DisplaySummaryLength);
                }
            }

            Date dateBlogPostPublishDate = e.Item.FindControl("dateBlogPostPublishDate") as Date;

            if (dateBlogPostPublishDate != null)
            {
                dateBlogPostPublishDate.Item   = blogPost.InnerItem;
                dateBlogPostPublishDate.Field  = BlogPost.BlogPostPublishDateFieldId;
                dateBlogPostPublishDate.Format = settingsItem.BlogListingDateFormat;
            }

            if (settingsItem.DisplayCategoryOnBlogPostList && blogPost.Categories.Count > 0)
            {
                Literal litCategories = e.Item.FindControl("litCategories") as Literal;
                if (litCategories != null)
                {
                    litCategories.Text = "<strong>" + settingsItem.BlogListingCategoryTitle + "</strong> " + CategoryManager.GetCommaSeperatedCategoryList(blogPost);
                }
            }

            if (settingsItem.DisplayTagsOnBlogPostList && blogPost.Tags.Count > 0)
            {
                Literal litTags = e.Item.FindControl("litTags") as Literal;
                if (litTags != null)
                {
                    litTags.Text = "<strong>" + settingsItem.BlogListingTagTitle + "</strong> " + TagManager.GetCommaSeperatedTagList(blogPost);
                }
            }

            Literal litAuthor = e.Item.FindControl("litAuthor") as Literal;

            if (litAuthor != null && blogPost.Authors.Any())
            {
                List <ID> authorIds = new List <Sitecore.Data.ID>();
                foreach (Author a in blogPost.Authors)
                {
                    authorIds.Add(a.ItemId);
                }

                List <Author> authors = AuthorManager.GetAuthorsForBlogPost(authorIds);

                string authorNames = string.Empty;

                foreach (Author a in authors)
                {
                    authorNames += a.FullName;
                }

                litAuthor.Text = authors[0].FullName;

                Literal litProfileImage = e.Item.FindControl("litProfileImage") as Literal;

                if (litProfileImage != null && authors[0].ProfileImage != null && authors[0].ProfileImage.MediaItem != null && settingsItem.DisplayAuthorImage)
                {
                    litProfileImage.Text = String.Format("<img src=\"{0}?mw={1}\" border=\"0\" />", MediaManager.GetMediaUrl(authors[0].ProfileImage.MediaItem), settingsItem.AuthorImageMaxWidth);
                }
            }

            HyperLink hlReadMore = e.Item.FindControl("hlReadMore") as HyperLink;

            if (hlReadMore != null && settingsItem.ReadMoreLinkText != "")
            {
                hlReadMore.Text        = settingsItem.ReadMoreLinkText;
                hlReadMore.ToolTip     = settingsItem.ReadMoreLinkText;
                hlReadMore.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(blogPost.InnerItem);
            }
        }
Esempio n. 4
0
        protected void lvBlogPosts_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            if (e.Item.ItemType != ListViewItemType.DataItem)
            {
                return;
            }

            BlogPost blogPost = e.Item.DataItem as BlogPost;

            if (blogPost == null)
            {
                return;
            }

            Text scBlogPostTitle = e.Item.FindControl("scBlogPostTitle") as Text;

            if (scBlogPostTitle != null)
            {
                scBlogPostTitle.Item = blogPost.InnerItem;
            }

            HyperLink hlTitle = e.Item.FindControl("hlTitle") as HyperLink;

            if (hlTitle != null)
            {
                hlTitle.Text        = blogPost.Title;
                hlTitle.ToolTip     = blogPost.Title;
                hlTitle.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(blogPost.InnerItem);
            }

            Date dateBlogPostPublishDate = e.Item.FindControl("dateBlogPostPublishDate") as Date;

            if (dateBlogPostPublishDate != null)
            {
                dateBlogPostPublishDate.Item   = blogPost.InnerItem;
                dateBlogPostPublishDate.Field  = BlogPost.BlogPostPublishDateFieldId;
                dateBlogPostPublishDate.Format = settingsItem.BlogListingDateFormat;
            }

            Literal litAuthor = e.Item.FindControl("litAuthor") as Literal;

            if (litAuthor != null && blogPost.Authors.Any())
            {
                List <ID> authorIds = new List <Sitecore.Data.ID>();
                foreach (Author a in blogPost.Authors)
                {
                    authorIds.Add(a.ItemId);
                }

                List <Author> authors = AuthorManager.GetAuthorsForBlogPost(authorIds);

                string authorNames = string.Empty;

                foreach (Author a in authors)
                {
                    authorNames += a.FullName;
                }

                litAuthor.Text = authors[0].FullName;
            }
        }
Esempio n. 5
0
        private void LoadBlogPost()
        {
            //Context item - gets Blog Post infomration
            BlogPost blogPost = Sitecore.Context.Item.CreateAs <BlogPost>();

            scTitle.Item = Sitecore.Context.Item;
            scBody.Item  = Sitecore.Context.Item;
            dateBlogPostPublishDate.Item = Sitecore.Context.Item;

            UrlOptions option = new UrlOptions();

            option.AlwaysIncludeServerUrl = true;
            //currentUrl = HttpUtility.UrlEncode(LinkManager.GetItemUrl(blogPost.InnerItem, option));
            currentUrl = LinkManager.GetItemUrl(blogPost.InnerItem, option);
            title      = HttpUtility.UrlEncode(blogPost.Title);

            if (settingsItem.IncludeEmailOnBlogPost)
            {
                pnlEmail.Visible = true;
            }
            if (settingsItem.IncludeFacebookOnBlogPost)
            {
                pnlFacebook.Visible = true;
            }
            if (settingsItem.IncludeGooglePlusOnBlogPost)
            {
                pnlGooglePlus.Visible = true;
            }
            if (settingsItem.IncludeLinkedinOnBlogPost)
            {
                pnlLinkedin.Visible = true;
            }
            if (settingsItem.IncludeTwitterOnBlogPost)
            {
                pnlTwitter.Visible = true;
            }

            if (dateBlogPostPublishDate != null)
            {
                dateBlogPostPublishDate.Field  = BlogPost.BlogPostPublishDateFieldId;
                dateBlogPostPublishDate.Format = settingsItem.BlogPostDateFormat;
            }


            if (blogPost.Authors.Any())
            {
                List <Sitecore.Data.ID> authorIds = new List <Sitecore.Data.ID>();
                foreach (Author a in blogPost.Authors)
                {
                    authorIds.Add(a.ItemId);
                }

                List <Author> authors = AuthorManager.GetAuthorsForBlogPost(authorIds);


                litAuthor.Text = authors[0].FullName;
            }

            litCategories.Text = CategoryManager.GetCommaSeperatedCategoryList(blogPost);

            litTags.Text = TagManager.GetCommaSeperatedTagList(blogPost);
        }