Carrotware.CMS.UI.Components.SiteCanonicalURL.GetHtml C# (CSharp) Method

GetHtml() public method

public GetHtml ( ) : string
return string
        public override string GetHtml()
        {
            string pageUri = string.Empty;

            SiteData sd = SiteData.CurrentSite;

            if (sd != null) {
                pageUri = sd.DefaultCanonicalURL;
                if (this.ContentPage == null) {
                    this.ContentPage = SiteData.GetCurrentPage();
                }

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

            string lnk = String.Format("<link rel=\"canonical\" href=\"{0}\" />", pageUri);

            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", pageUri);
                }
            }

            return lnk;
        }