コード例 #1
0
        private string SiteTemplateCheck(bool blocker)
        {
            if (WebTemplate.Equals("STS#0", StringComparison.InvariantCultureIgnoreCase) || WebTemplate.Equals("DEV#0", StringComparison.InvariantCultureIgnoreCase))
            {
                // We're good with these
                return(null);
            }
            else if (WebTemplate.Equals("BICENTERSITE#0", StringComparison.InvariantCultureIgnoreCase) || WebTemplate.Equals("BLANKINTERNET#0", StringComparison.InvariantCultureIgnoreCase) ||
                     WebTemplate.Equals("ENTERWIKI#0", StringComparison.InvariantCultureIgnoreCase) || WebTemplate.Equals("SRCHCEN#0", StringComparison.InvariantCultureIgnoreCase) ||
                     WebTemplate.Equals("SRCHCENTERLITE#0", StringComparison.InvariantCultureIgnoreCase) || WebTemplate.Equals("POINTPUBLISHINGHUB#0", StringComparison.InvariantCultureIgnoreCase) ||
                     WebTemplate.Equals("POINTPUBLISHINGTOPIC#0", StringComparison.InvariantCultureIgnoreCase) || WebTemplate.Equals("CMSPUBLISHING#0", StringComparison.InvariantCultureIgnoreCase) ||
                     SiteColUrl.EndsWith("/sites/contenttypehub", StringComparison.InvariantCultureIgnoreCase))
            {
                // Block these
                if (blocker)
                {
                    return("IncompatibleWebTemplate");
                }
            }
            else
            {
                // Provide a warning
                if (!blocker)
                {
                    return("DefaultHomePageImpacted");
                }
            }

            return(null);
        }
コード例 #2
0
        private bool DefineAsPublishingPortal()
        {
            // Check web template
            if (WebTemplate.Equals("BICENTERSITE#0", StringComparison.InvariantCultureIgnoreCase) || WebTemplate.Equals("BLANKINTERNET#0", StringComparison.InvariantCultureIgnoreCase) ||
                WebTemplate.Equals("ENTERWIKI#0", StringComparison.InvariantCultureIgnoreCase) || WebTemplate.Equals("SRCHCEN#0", StringComparison.InvariantCultureIgnoreCase) ||
                WebTemplate.Equals("SRCHCENTERLITE#0", StringComparison.InvariantCultureIgnoreCase) || WebTemplate.Equals("POINTPUBLISHINGHUB#0", StringComparison.InvariantCultureIgnoreCase) ||
                WebTemplate.Equals("POINTPUBLISHINGTOPIC#0", StringComparison.InvariantCultureIgnoreCase) || WebTemplate.Equals("CMSPUBLISHING#0", StringComparison.InvariantCultureIgnoreCase))
            {
                return(true);
            }

            // Check publishing page library usage
            if (PublishingPagesUsed)
            {
                return(true);
            }

            return(false);
        }
コード例 #3
0
        public void Register()
        {
            Application.Current.Use(new HtmlFromJsonProvider());
            Application.Current.Use(new PartialToStandaloneHtmlProvider());

            Handle.GET("/WebsiteProvider", () =>
            {
                return("Welcome to WebsiteProvider.");
            });

            Handle.GET("/WebsiteProvider/partial/template/{?}", (string templateId) =>
            {
                var page = new WebTemplatePage
                {
                    Data = GetWebTemplate(templateId)
                };
                InitializeTemplate(page);
                return(page);
            });

            Handle.GET("/WebsiteProvider/partial/layout/{?}", (string templateId) =>
            {
                WrapperPage page;

                if (Session.Current != null)
                {
                    page = Session.Current.Data as WrapperPage;
                    var sessionWebTemplate = page?.WebTemplatePage.Data;

                    if (sessionWebTemplate != null)
                    {
                        var webTemplate = GetWebTemplate(templateId);
                        if (sessionWebTemplate.Equals(webTemplate))
                        {
                            return(page);
                        }
                    }
                }
                else
                {
                    Session.Current = new Session(SessionOptions.PatchVersioning);
                }

                page = new WrapperPage
                {
                    Session = Session.Current
                };

                if (page.Session.PublicViewModel != page)
                {
                    page.Session.PublicViewModel = page;
                }

                return(page);
            });

            Handle.GET("/WebsiteProvider/partial/wrapper?uri={?}&response={?}", (string requestUri, string responseKey) =>
            {
                Response currentResponse = ResponseStorage.Get(responseKey);
                WebUrl webUrl            = this.GetWebUrl(requestUri);
                WebTemplate template     = webUrl?.Template;

                if (template == null)
                {
                    throw new Exception("Default template is missing");
                }

                WrapperPage master = GetLayoutPage(template);
                master.IsFinal     = webUrl.IsFinal || string.IsNullOrEmpty(webUrl.Url);

                if (!template.Equals(master.WebTemplatePage.Data))
                {
                    master.WebTemplatePage = GetTemplatePage(template.GetObjectID());
                }

                UpdateTemplateSections(requestUri, currentResponse, master.WebTemplatePage, webUrl);

                return(master);
            });

            RegisterFilter();
        }