protected SiteNav GetCurrentPage()
        {
            SiteNav          pageNav = null;
            ControlUtilities cu      = new ControlUtilities(this);
            ContentPage      cp      = cu.GetContainerContentPage(this);

            if (cp != null)
            {
                pageNav = new SiteNav();
                pageNav.Root_ContentID = cp.Root_ContentID;
                pageNav.NavMenuText    = cp.NavMenuText;
                pageNav.FileName       = cp.FileName;
                pageNav.TemplateFile   = cp.TemplateFile;
                pageNav.ContentType    = cp.ContentType;

                pageNav = cp.GetSiteNav();
            }
            else
            {
                pageNav = navHelper.FindByFilename(SiteData.CurrentSiteID, SiteData.AlternateCurrentScriptName);
                //assign bogus page name for comp purposes
                if (pageNav == null)
                {
                    pageNav = new SiteNav();
                    pageNav.Root_ContentID = Guid.Empty;
                    pageNav.FileName       = "/##/##/";
                    pageNav.TemplateFile   = "/##/##/";
                }
            }
            pageNav.SiteID = SiteData.CurrentSiteID;

            return(pageNav);
        }
Ejemplo n.º 2
0
        protected override void OnPreRender(EventArgs e)
        {
            if (_usr == null)
            {
                _usr = ExtendedUserData.GetEditorFromURL();
            }
            if (_usr == null)
            {
                ContentPage cp = cu.GetContainerContentPage(this);

                switch (this.SourceField)
                {
                case AuthorSource.Editor:
                    _usr = cp.GetUserInfo();
                    break;

                case AuthorSource.Created:
                    _usr = cp.GetCreateUserInfo();
                    break;

                case AuthorSource.Credited:
                    _usr = cp.GetCreditUserInfo();
                    break;

                default:
                    _usr = cp.BylineUser;
                    break;
                }
            }

            AssignUser();

            base.OnPreRender(e);
        }
        protected override void OnPreRender(EventArgs e)
        {
            string sFieldValue = string.Empty;
            string sField      = DataField.ToString();

            try {
                ContentPage cp = cu.GetContainerContentPage(this);

                if (cp != null)
                {
                    if (sField.StartsWith("Author_") || sField.StartsWith("Credit_"))
                    {
                        ExtendedUserData usr = null;
                        if (sField.StartsWith("Credit_"))
                        {
                            sField = DataField.ToString().Replace("Credit_", String.Empty);
                            usr    = cp.GetCreditUserInfo();
                        }

                        if (sField.StartsWith("Author_") || usr == null)
                        {
                            sField = DataField.ToString().Replace("Credit_", String.Empty).Replace("Author_", String.Empty);
                            usr    = cp.GetUserInfo();
                        }

                        if (usr == null)
                        {
                            usr = cp.BylineUser;
                        }

                        if (usr != null)
                        {
                            object objData = ReflectionUtilities.GetPropertyValue(usr, sField);
                            if (objData != null)
                            {
                                sFieldValue = String.Format(FieldFormat, objData);
                            }
                        }
                    }
                    else
                    {
                        object objData = ReflectionUtilities.GetPropertyValue(cp, sField);
                        if (objData != null)
                        {
                            sFieldValue = String.Format(FieldFormat, objData);
                        }
                    }
                }
            } catch {
                if (!SiteData.IsWebView)
                {
                    sFieldValue = sField;
                }
            }

            this.Text = sFieldValue;

            base.OnPreRender(e);
        }
        protected override void Render(HtmlTextWriter writer)
        {
            this.EnsureChildControls();

            ContentPage cp = cu.GetContainerContentPage(this);

            if (cp != null)
            {
                SetFileInfo(cp);
            }
        }
        protected override void OnPreRender(EventArgs e)
        {
            string sFieldValue = string.Empty;

            ContentPage cp      = cu.GetContainerContentPage(this);
            SiteNav     navNext = new SiteNav();

            if (NavigationDirection != NavDirection.Unknown)
            {
                using (ISiteNavHelper navHelper = SiteNavFactory.GetSiteNavHelper()) {
                    if (NavigationDirection == NavDirection.Prev)
                    {
                        navNext = navHelper.GetPrevPost(SiteData.CurrentSiteID, cp.Root_ContentID, !SecurityData.IsAuthEditor);
                    }
                    if (NavigationDirection == NavDirection.Next)
                    {
                        navNext = navHelper.GetNextPost(SiteData.CurrentSiteID, cp.Root_ContentID, !SecurityData.IsAuthEditor);
                    }

                    if (navNext != null)
                    {
                        if (UseDefaultText)
                        {
                            string sField = this.CaptionDataField.ToString();

                            object objData = ReflectionUtilities.GetPropertyValue(navNext, sField);
                            if (objData != null)
                            {
                                sFieldValue = String.Format("{0}", objData);
                            }

                            this.Text = sFieldValue;
                        }

                        this.NavigateUrl = navNext.FileName;
                    }
                    else
                    {
                        this.Visible = false;
                    }
                }
            }
            else
            {
                this.Visible = false;
            }

            base.OnPreRender(e);
        }
Ejemplo n.º 6
0
        protected override void OnPreRender(EventArgs e)
        {
            if (usr == null)
            {
                usr = ExtendedUserData.GetEditorFromURL();
            }
            if (usr == null)
            {
                ContentPage cp = cu.GetContainerContentPage(this);
                usr = cp.BylineUser;
            }

            AssignUser();

            base.OnPreRender(e);
        }
        protected override void OnPreRender(EventArgs e)
        {
            string sFieldValue = string.Empty;

            SiteData sd = SiteData.CurrentSite;

            if (sd != null)
            {
                sFieldValue = sd.DefaultCanonicalURL;

                ControlUtilities cu = new ControlUtilities();
                ContentPage      cp = cu.GetContainerContentPage(this);

                if (cp != null)
                {
                    if (cp.NavOrder == 0)
                    {
                        sFieldValue = sd.MainCanonicalURL;
                    }
                    else
                    {
                        sFieldValue = sd.DefaultCanonicalURL;
                    }
                }
            }
            else
            {
                sFieldValue = SiteData.DefaultDirectoryFilename;
            }

            this.Text = String.Format("<link rel=\"canonical\" href=\"{0}\" />\r\n", sFieldValue);

            if (this.Enable301Redirect)
            {
                HttpContext ctx = HttpContext.Current;

                if (!SiteData.CurrentSite.MainCanonicalURL.ToLowerInvariant().Contains(@"://" + CMSConfigHelper.DomainName.ToLowerInvariant()))
                {
                    ctx.Response.Status = "301 Moved Permanently";
                    ctx.Response.AddHeader("Location", sFieldValue);
                }
            }

            base.OnPreRender(e);
        }
Ejemplo n.º 8
0
        private void SetFileInfo(string sImageName, string sTemplateFolderPath)
        {
            string sFieldValue = sImageName;

            if (String.IsNullOrEmpty(sFieldValue))
            {
                // if page itself has no image, see if the image had been specified directly
                sFieldValue = this.ImageUrl;
            }
            if (String.IsNullOrEmpty(sFieldValue))
            {
                this.Visible = false;
            }
            if (!String.IsNullOrEmpty(sFieldValue) && !sFieldValue.StartsWith("/"))
            {
                sFieldValue = sTemplateFolderPath + sFieldValue;
            }

            if (!String.IsNullOrEmpty(sFieldValue) && !File.Exists(HttpContext.Current.Server.MapPath(sFieldValue)))
            {
                ContentPage cp = cu.GetContainerContentPage(this);
                sFieldValue = sImageName;
                if (String.IsNullOrEmpty(sFieldValue))
                {
                    sFieldValue = this.ImageUrl;
                }

                if (cp != null)
                {
                    if (!String.IsNullOrEmpty(sFieldValue) && !sFieldValue.StartsWith("/"))
                    {
                        sFieldValue = cp.TemplateFolderPath + sFieldValue;
                    }
                }
            }

            if (PerformURLResize && !String.IsNullOrEmpty(sFieldValue))
            {
                sFieldValue = String.Format("/carrotwarethumb.axd?scale={0}&thumb={1}&square={2}", ScaleImage, HttpUtility.UrlEncode(sFieldValue), ThumbSize);
            }

            this.ImageUrl = sFieldValue;
        }
Ejemplo n.º 9
0
        protected override void RenderContents(HtmlTextWriter output)
        {
            string sTrackback = ControlUtilities.GetManifestResourceStream("Carrotware.CMS.UI.Controls.Trackback.txt");

            ContentPage cp = cu.GetContainerContentPage(this);

            if (cp != null)
            {
                sTrackback = sTrackback.Replace("{URL}", SiteData.CurrentSite.ConstructedCanonicalURL(cp));
                sTrackback = sTrackback.Replace("{TB_TITLE}", cp.NavMenuText);
                sTrackback = sTrackback.Replace("{TB_URL_ID}", SiteData.CurrentSite.ConstructedCanonicalURL(TrackBackURI) + "?id=" + HttpUtility.UrlEncode(cp.FileName));
                output.Write(sTrackback);
            }

            if (IsPostBack && EnableDirectTrackback)
            {
                TrackbackHelper tbh = new TrackbackHelper();
                tbh.ProcessTrackback(HttpContext.Current, false);
            }
        }
Ejemplo n.º 10
0
        protected override void OnPreRender(EventArgs e)
        {
            if (_usr == null)
            {
                _usr = ExtendedUserData.GetEditorFromURL();
            }
            if (_usr == null)
            {
                ContentPage cp = cu.GetContainerContentPage(this);
                if (this.SourceField == AuthorSource.Editor)
                {
                    _usr = cp.GetUserInfo();
                }
                else
                {
                    _usr = cp.GetCreditUserInfo();
                }
            }

            AssignUser();

            base.OnPreRender(e);
        }
Ejemplo n.º 11
0
        protected SiteNav GetCurrentPage()
        {
            SiteNav pageNav = null;
            ControlUtilities cu = new ControlUtilities(this);
            ContentPage cp = cu.GetContainerContentPage(this);

            if (cp != null) {
                pageNav = new SiteNav();
                pageNav.Root_ContentID = cp.Root_ContentID;
                pageNav.FileName = cp.FileName;
                pageNav.TemplateFile = cp.TemplateFile;
            } else {
                pageNav = navHelper.FindByFilename(SiteData.CurrentSiteID, SiteData.AlternateCurrentScriptName);
                //assign bogus page name for comp purposes
                if (pageNav == null) {
                    pageNav = new SiteNav();
                    pageNav.Root_ContentID = Guid.Empty;
                    pageNav.FileName = "/##/##/";
                    pageNav.TemplateFile = "/##/##/";
                }
            }
            pageNav.SiteID = SiteData.CurrentSiteID;

            return pageNav;
        }
Ejemplo n.º 12
0
        protected override void Render(HtmlTextWriter writer)
        {
            this.EnsureChildControls();

            if (this.TextZone != TextFieldZone.Unknown && (String.IsNullOrEmpty(this.Text) || this.DatabaseKey == Guid.Empty))
            {
                ContentPage pageContents = cu.GetContainerContentPage(this);

                if (pageContents != null)
                {
                    this.DatabaseKey = pageContents.Root_ContentID;
                    this.IsAdminMode = SecurityData.AdvancedEditMode;

                    switch (this.TextZone)
                    {
                    case TextFieldZone.TextLeft:
                        this.ZoneChar = "l";
                        this.Text     = pageContents.LeftPageText;
                        break;

                    case TextFieldZone.TextCenter:
                        this.ZoneChar = "c";
                        this.Text     = pageContents.PageText;
                        break;

                    case TextFieldZone.TextRight:
                        this.ZoneChar = "r";
                        this.Text     = pageContents.RightPageText;
                        break;

                    default:
                        break;
                    }
                }
            }

            Control ctrl = new Control();

            string outputText = SiteData.CurrentSite.UpdateContent(this.Text);

            if (IsAdminMode)
            {
                ctrl = GetCtrl(this);
                Literal lit = (Literal)cu.FindControl("litContent", ctrl);
                lit.Text = outputText;
            }
            else
            {
#if DEBUG
                ctrl.Controls.Add(new Literal {
                    Text = "\r\n<span style=\"display: none;\" id=\"BEGIN-" + this.ClientID + "\"></span>"
                });
#endif
                ctrl.Controls.Add(new Literal {
                    Text = String.Format("\r\n {0} \r\n", outputText)
                });
#if DEBUG
                ctrl.Controls.Add(new Literal {
                    Text = "<span style=\"display: none;\" id=\"END-" + this.ClientID + "\"></span>\r\n"
                });
#endif
            }

            ctrl.RenderControl(writer);
        }
Ejemplo n.º 13
0
        protected override void OnPreRender(EventArgs e)
        {
            this.Controls.Clear();

            try {
                ContentPage cp      = cu.GetContainerContentPage(this);
                SiteData    theSite = SiteData.CurrentSite;

                if (cp != null)
                {
                    HtmlMeta metaSub = new HtmlMeta();
                    metaSub.Attributes["property"] = "og:description";
                    metaSub.Content = String.IsNullOrEmpty(cp.MetaDescription) ? theSite.MetaDescription : cp.MetaDescription;
                    this.Controls.Add(metaSub);

                    HtmlMeta metaURL = new HtmlMeta();
                    metaURL.Attributes["property"] = "og:url";
                    metaURL.Content = theSite.DefaultCanonicalURL;
                    this.Controls.Add(metaURL);

                    HtmlMeta metaType = new HtmlMeta();
                    metaType.Attributes["property"] = "og:type";
                    if (this.OpenGraphType == OpenGraphTypeDef.Default)
                    {
                        if (cp.ContentType == ContentPageType.PageType.BlogEntry)
                        {
                            metaType.Content = OpenGraphTypeDef.Blog.ToString().ToLower();
                        }
                        else
                        {
                            metaType.Content = OpenGraphTypeDef.Article.ToString().ToLower();
                        }
                        if (theSite.Blog_Root_ContentID.HasValue && cp.Root_ContentID == theSite.Blog_Root_ContentID)
                        {
                            metaType.Content = OpenGraphTypeDef.Website.ToString().ToLower();
                        }
                    }
                    else
                    {
                        metaType.Content = this.OpenGraphType.ToString().ToLower();
                    }

                    this.Controls.Add(metaType);

                    if (!String.IsNullOrEmpty(this.Page.Title))
                    {
                        HtmlMeta metaTitle = new HtmlMeta();
                        metaTitle.Attributes["property"] = "og:title";
                        metaTitle.Content = cp.TitleBar;
                        this.Controls.Add(metaTitle);
                    }

                    if (!String.IsNullOrEmpty(cp.Thumbnail))
                    {
                        HtmlMeta metaTitle = new HtmlMeta();
                        metaTitle.Attributes["property"] = "og:image";
                        metaTitle.Content = String.Format("{0}/{1}", theSite.MainCanonicalURL, cp.Thumbnail).Replace(@"//", @"/").Replace(@"//", @"/").Replace(@":/", @"://");
                        this.Controls.Add(metaTitle);
                    }

                    if (!String.IsNullOrEmpty(theSite.SiteName))
                    {
                        HtmlMeta metaSite = new HtmlMeta();
                        metaSite.Attributes["property"] = "og:site_name";
                        metaSite.Content = theSite.SiteName;
                        this.Controls.Add(metaSite);
                    }

                    HtmlMeta metaPubDate = new HtmlMeta();
                    metaPubDate.Attributes["property"] = "article:published_time";
                    metaPubDate.Content = theSite.ConvertSiteTimeToISO8601(cp.GoLiveDate);
                    this.Controls.Add(metaPubDate);

                    HtmlMeta metaUpdateDate = new HtmlMeta();
                    metaUpdateDate.Attributes["property"] = "article:modified_time";
                    metaUpdateDate.Content = theSite.ConvertSiteTimeToISO8601(cp.EditDate);
                    this.Controls.Add(metaUpdateDate);

                    if (ShowExpirationDate)
                    {
                        HtmlMeta metaExpireDate = new HtmlMeta();
                        metaExpireDate.Attributes["property"] = "article:expiration_time";
                        metaExpireDate.Content = theSite.ConvertSiteTimeToISO8601(cp.RetireDate);
                        this.Controls.Add(metaExpireDate);
                    }
                }
            } catch (Exception ex) {
            }

            base.OnPreRender(e);
        }
Ejemplo n.º 14
0
        protected override void OnPreRender(EventArgs e)
        {
            string sFieldValue = string.Empty;

            SiteData sd = SiteData.CurrentSite;

            if (sd != null) {
                sFieldValue = sd.DefaultCanonicalURL;

                ControlUtilities cu = new ControlUtilities();
                ContentPage cp = cu.GetContainerContentPage(this);

                if (cp != null) {
                    if (cp.NavOrder == 0) {
                        sFieldValue = sd.MainCanonicalURL;
                    } else {
                        sFieldValue = sd.DefaultCanonicalURL;
                    }
                }
            } else {
                sFieldValue = SiteData.DefaultDirectoryFilename;
            }

            this.Text = String.Format("<link rel=\"canonical\" href=\"{0}\" />\r\n", sFieldValue);

            if (this.Enable301Redirect) {
                HttpContext ctx = HttpContext.Current;

                if (!SiteData.CurrentSite.MainCanonicalURL.ToLowerInvariant().Contains(@"://" + CMSConfigHelper.DomainName.ToLowerInvariant())) {
                    ctx.Response.Status = "301 Moved Permanently";
                    ctx.Response.AddHeader("Location", sFieldValue);
                }
            }

            base.OnPreRender(e);
        }