Beispiel #1
0
        private void LoadHeadCaption()
        {
            if (this.TheSite.Blog_Root_ContentID == this.ThePage.Root_ContentID &&
                _headingText == null && this.TypeLabelPrefixes.Any())
            {
                _headingText = String.Empty;
                using (ContentPageHelper pageHelper = new ContentPageHelper()) {
                    PageViewType pvt = pageHelper.GetBlogHeadingFromURL(this.TheSite, SiteData.CurrentScriptName);
                    _headingText = pvt.ExtraTitle;

                    TypeHeadingOption titleOpts = this.TypeLabelPrefixes.Where(x => x.KeyValue == pvt.CurrentViewType).FirstOrDefault();

                    if (titleOpts == null &&
                        (pvt.CurrentViewType == PageViewType.ViewType.DateDayIndex ||
                         pvt.CurrentViewType == PageViewType.ViewType.DateMonthIndex ||
                         pvt.CurrentViewType == PageViewType.ViewType.DateYearIndex))
                    {
                        titleOpts = this.TypeLabelPrefixes.Where(x => x.KeyValue == PageViewType.ViewType.DateIndex).FirstOrDefault();
                    }

                    if (titleOpts != null)
                    {
                        if (!String.IsNullOrEmpty(titleOpts.FormatText))
                        {
                            pvt.ExtraTitle = string.Format(titleOpts.FormatText, pvt.RawValue);
                            _headingText   = pvt.ExtraTitle;
                        }
                        if (!String.IsNullOrEmpty(titleOpts.LabelText))
                        {
                            this.ThePage.PageHead = String.Format("{0} {1}", titleOpts.LabelText, _headingText);
                            this.ThePage.TitleBar = this.ThePage.PageHead;
                            _headingText          = this.ThePage.PageHead;
                        }
                    }
                }
            }
        }
        public PageViewType GetBlogHeadingFromURL(SiteData currentSite, string sFilterPath)
        {
            Guid siteID = currentSite.SiteID;
            PageViewType pvt = new PageViewType { ExtraTitle = "", CurrentViewType = PageViewType.ViewType.SinglePage, RawValue = null };

            string sTitle = String.Empty;

            if (currentSite.CheckIsBlogCategoryPath(sFilterPath)) {
                pvt.CurrentViewType = PageViewType.ViewType.CategoryIndex;
                vw_carrot_CategoryURL query = CompiledQueries.cqGetCategoryByURL(db, siteID, sFilterPath);
                if (query != null) {
                    sTitle = query.CategoryText;
                    pvt.RawValue = query.CategoryText;
                }
            }
            if (currentSite.CheckIsBlogTagPath(sFilterPath)) {
                pvt.CurrentViewType = PageViewType.ViewType.TagIndex;
                vw_carrot_TagURL query = CompiledQueries.cqGetTagByURL(db, siteID, sFilterPath);
                if (query != null) {
                    sTitle = query.TagText;
                    pvt.RawValue = query.TagText;
                }
            }
            if (currentSite.CheckIsBlogEditorFolderPath(sFilterPath)) {
                pvt.CurrentViewType = PageViewType.ViewType.AuthorIndex;
                vw_carrot_EditorURL query = CompiledQueries.cqGetEditorByURL(db, siteID, sFilterPath);
                if (query != null) {
                    ExtendedUserData usr = new ExtendedUserData(query.UserId);
                    sTitle = usr.ToString();
                    pvt.RawValue = usr;
                }
            }
            if (currentSite.CheckIsBlogDateFolderPath(sFilterPath)) {
                pvt.CurrentViewType = PageViewType.ViewType.DateIndex;

                BlogDatePathParser p = new BlogDatePathParser(currentSite, sFilterPath);
                TimeSpan ts = p.DateEndUTC - p.DateBeginUTC;

                pvt.RawValue = p.DateBegin;

                int daysDelta = ts.Days;
                if (daysDelta < 400 && daysDelta > 90) {
                    sTitle = p.DateBegin.ToString("yyyy");
                    pvt.CurrentViewType = PageViewType.ViewType.DateYearIndex;
                }
                if (daysDelta < 36 && daysDelta > 3) {
                    sTitle = p.DateBegin.ToString("MMMM yyyy");
                    pvt.CurrentViewType = PageViewType.ViewType.DateMonthIndex;
                }
                if (daysDelta < 5) {
                    sTitle = p.DateBegin.ToString("MMMM d, yyyy");
                    pvt.CurrentViewType = PageViewType.ViewType.DateDayIndex;
                }
            }

            if (currentSite.CheckIsSiteSearchPath(sFilterPath)) {
                pvt.CurrentViewType = PageViewType.ViewType.SearchResults;
                string sSearchTerm = "";

                if (HttpContext.Current.Request.QueryString[SiteData.SearchQueryParameter] != null) {
                    sSearchTerm = HttpContext.Current.Request.QueryString[SiteData.SearchQueryParameter].ToString();
                }

                pvt.RawValue = sSearchTerm;
                sTitle = string.Format(" '{0}' ", sSearchTerm);
            }

            pvt.ExtraTitle = sTitle;

            return pvt;
        }
 public PagedDataSummaryTitleOption(PageViewType.ViewType key, string labelText, string formatText)
 {
     _key = key;
     _label = labelText;
     _format = formatText;
 }
		public TypeHeadingOption(PageViewType.ViewType key, string labelText, string formatText) {
			this.KeyValue = key;
			this.LabelText = labelText;
			this.FormatText = formatText;
		}