private static Collection <PageSettings> LoadMenuPages() { Collection <PageSettings> menuPages = new Collection <PageSettings>(); SiteSettings siteSettings = GetCurrentSiteSettings(); if (siteSettings == null) { return(menuPages); } bool useFolderForSiteDetection = ConfigHelper.GetBoolProperty("UseFoldersInsteadOfHostnamesForMultipleSites", false); string virtualFolder; if (useFolderForSiteDetection) { virtualFolder = VirtualFolderEvaluator.VirtualFolderName(); } else { virtualFolder = string.Empty; } using (IDataReader reader = PageSettings.GetPageList(siteSettings.SiteId)) { int i = 0; while (reader.Read()) { PageSettings pageDetails = new PageSettings(); pageDetails.SiteId = siteSettings.SiteId; pageDetails.PageId = Convert.ToInt32(reader["PageID"]); pageDetails.ParentId = Convert.ToInt32(reader["ParentID"]); pageDetails.PageName = reader["PageName"].ToString(); pageDetails.MenuImage = reader["MenuImage"].ToString(); pageDetails.PageOrder = Convert.ToInt32(reader["PageOrder"]); pageDetails.AuthorizedRoles = reader["AuthorizedRoles"].ToString(); pageDetails.EditRoles = reader["EditRoles"].ToString(); pageDetails.DraftEditOnlyRoles = reader["DraftEditRoles"].ToString(); pageDetails.CreateChildPageRoles = reader["CreateChildPageRoles"].ToString(); pageDetails.UseUrl = Convert.ToBoolean(reader["UseUrl"]); pageDetails.Url = reader["Url"].ToString(); pageDetails.IncludeInMenu = Convert.ToBoolean(reader["IncludeInMenu"]); pageDetails.IncludeInSiteMap = Convert.ToBoolean(reader["IncludeInSiteMap"]); pageDetails.IncludeInSearchMap = Convert.ToBoolean(reader["IncludeInSearchMap"]); pageDetails.IsClickable = Convert.ToBoolean(reader["IsClickable"]); pageDetails.ShowHomeCrumb = Convert.ToBoolean(reader["ShowHomeCrumb"]); pageDetails.RequireSsl = Convert.ToBoolean(reader["RequireSSL"]); if ( (useFolderForSiteDetection) && (virtualFolder.Length > 0) && (pageDetails.Url.StartsWith("~/")) ) { pageDetails.Url = pageDetails.Url.Replace("~/", "~/" + virtualFolder + "/"); } if ( (useFolderForSiteDetection) && (virtualFolder.Length > 0) && (!pageDetails.UseUrl) ) { pageDetails.Url = "~/" + virtualFolder + "/Default.aspx?pageid=" + pageDetails.PageId.ToString(); pageDetails.UseUrl = true; } pageDetails.OpenInNewWindow = Convert.ToBoolean(reader["OpenInNewWindow"]); pageDetails.ShowChildPageMenu = Convert.ToBoolean(reader["ShowChildPageMenu"]); pageDetails.ShowChildPageBreadcrumbs = Convert.ToBoolean(reader["ShowChildBreadCrumbs"]); pageDetails.PageIndex = i; string cf = reader["ChangeFrequency"].ToString(); switch (cf) { case "Always": pageDetails.ChangeFrequency = PageChangeFrequency.Always; break; case "Hourly": pageDetails.ChangeFrequency = PageChangeFrequency.Hourly; break; case "Daily": pageDetails.ChangeFrequency = PageChangeFrequency.Daily; break; case "Monthly": pageDetails.ChangeFrequency = PageChangeFrequency.Monthly; break; case "Yearly": pageDetails.ChangeFrequency = PageChangeFrequency.Yearly; break; case "Never": pageDetails.ChangeFrequency = PageChangeFrequency.Never; break; case "Weekly": default: pageDetails.ChangeFrequency = PageChangeFrequency.Weekly; break; } string smp = reader["SiteMapPriority"].ToString().Trim(); if (smp.Length > 0) { pageDetails.SiteMapPriority = smp; } if (reader["LastModifiedUTC"] != DBNull.Value) { pageDetails.LastModifiedUtc = Convert.ToDateTime(reader["LastModifiedUTC"]); } pageDetails.PageGuid = new Guid(reader["PageGuid"].ToString()); pageDetails.ParentGuid = new Guid(reader["ParentGuid"].ToString()); pageDetails.HideAfterLogin = Convert.ToBoolean(reader["HideAfterLogin"]); pageDetails.SiteGuid = new Guid(reader["SiteGuid"].ToString()); pageDetails.CompiledMeta = reader["CompiledMeta"].ToString(); if (reader["CompiledMetaUtc"] != DBNull.Value) { pageDetails.CompiledMetaUtc = Convert.ToDateTime(reader["CompiledMetaUtc"]); } pageDetails.IsPending = Convert.ToBoolean(reader["IsPending"]); menuPages.Add(pageDetails); i++; } } return(menuPages); }