/// <summary> /// Initializes the specified rewrite settings. /// </summary> /// <param name="rewriteSettings">The rewrite settings.</param> public override void Initialize(RewriteSettings rewriteSettings) { base.Initialize(rewriteSettings); if (!string.IsNullOrEmpty(rewriteSettings.Attributes["handlerflag"])) { this.handlerFlag = rewriteSettings.Attributes["handlerflag"].ToLower(CultureInfo.InvariantCulture); } if (!string.IsNullOrEmpty(rewriteSettings.Attributes["handlersplitter"])) { this.defaultSplitter = rewriteSettings.Attributes["handlersplitter"]; } else { if (ConfigurationManager.AppSettings["HandlerDefaultSplitter"] != null) { this.defaultSplitter = ConfigurationManager.AppSettings["HandlerDefaultSplitter"]; } } if (!string.IsNullOrEmpty(rewriteSettings.Attributes["pageidnosplitter"])) { bool.Parse(rewriteSettings.Attributes["pageidnosplitter"]); } if (!string.IsNullOrEmpty(rewriteSettings.Attributes["friendlyPageName"])) { this.friendlyPageName = rewriteSettings.Attributes["friendlyPageName"]; } // [email protected] - 2014/12/16 - Set friendlyURl from Web.config //if (!string.IsNullOrEmpty(rewriteSettings.Attributes["friendlyUrlExtension"])) if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["FriendlyUrlExtension"])) { this.friendlyUrlExtension = System.Configuration.ConfigurationManager.AppSettings["FriendlyUrlExtension"]; } //if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["friendlyUrlNoExtension"]) && System.Configuration.ConfigurationManager.AppSettings["friendlyUrlNoExtension"] == "1") if (PortalSettings.FriendlyUrlNoExtensionEnabled()) { friendlyUrlNoExtension = true; } }
/// <summary> /// Get pageId from pagename /// </summary> /// <returns>PageID</returns> public static string GetPageIDFromPageName(string pagepath) { PagesDB DB = new PagesDB(); var settings = PortalSettings.GetPortalSettingsbyPageID(Portal.PageID, Config.DefaultPortal); int portalID = 0; if (settings != null) { portalID = settings.PortalID; } DataTable dtPages = DB.GetPagesFlatTable(portalID); //When friendly URl applied and go to Home page from and sub pages if (pagepath.ToLower().Contains("default.aspx")) { string page_ID = "1"; return(page_ID); } // Check requested page url contains the /site when friendly URL is on var handlerFlag = System.Configuration.ConfigurationManager.AppSettings["handlerFlag"]; if (pagepath.Contains("/" + handlerFlag + "/")) { string[] splitpaths = pagepath.Split('/'); int index = Array.IndexOf(splitpaths, handlerFlag); int requesetedPageId = Convert.ToInt32(splitpaths[index + 1]); pagepath = HttpUrlBuilder.BuildUrl(requesetedPageId); } string _friendlyUrlExtension = ".aspx"; bool _friendlyUrlNoExtension = false; if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["FriendlyUrlExtension"])) { _friendlyUrlExtension = System.Configuration.ConfigurationManager.AppSettings["FriendlyUrlExtension"]; } //if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["friendlyUrlNoExtension"]) && System.Configuration.ConfigurationManager.AppSettings["friendlyUrlNoExtension"] == "1") if (PortalSettings.FriendlyUrlNoExtensionEnabled()) { _friendlyUrlNoExtension = true; } pagepath = pagepath.ToLower(); if (!pagepath.Contains(_friendlyUrlExtension) && !_friendlyUrlNoExtension) { pagepath += _friendlyUrlExtension; } if (pagepath.Contains(_friendlyUrlExtension) && _friendlyUrlNoExtension) { pagepath = pagepath.Replace(_friendlyUrlExtension, string.Empty); } foreach (DataRow pageRow in dtPages.Rows) { int pageId = Convert.ToInt32(pageRow["PageID"]); string url = HttpUrlBuilder.BuildUrl(pageId).ToLower(); if (url == pagepath) { return(pageId.ToString()); } else { if (!url.Contains(_friendlyUrlExtension)) { url += _friendlyUrlExtension; } if (url == pagepath) { return(pageId.ToString()); } } } string dynamicPage = DB.GetDynamicPageUrl(pagepath); if (!string.IsNullOrEmpty(dynamicPage)) { //-1 for dynamic pages return("-1"); } // if page is not found it will throw 404 error throw new HttpException(404, "Page not Found", 3); }
/// <summary> /// The initialize method lets you retrieve provider specific settings from web.config /// </summary> /// <param name="name"></param> /// <param name="configValue"></param> public override void Initialize(string name, NameValueCollection configValue) { base.Initialize(name, configValue); // For legacy support first check provider settings then web.config/Appleseed.config legacy settings if (configValue["handlersplitter"] != null) { _defaultSplitter = configValue["handlersplitter"].ToString(); } else { if (ConfigurationManager.AppSettings["HandlerDefaultSplitter"] != null) { _defaultSplitter = ConfigurationManager.AppSettings["HandlerDefaultSplitter"]; } } // For legacy support first check provider settings then web.config/Appleseed.config legacy settings if (configValue["handlerflag"] != null) { _handlerFlag = configValue["handlerflag"].ToString(); } else { _handlerFlag = string.Empty; } //if (configValue["FriendlyUrlExtension"] != null) if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["FriendlyUrlExtension"])) { _friendlyUrlExtension = System.Configuration.ConfigurationManager.AppSettings["FriendlyUrlExtension"]; } else { _friendlyUrlExtension = ".aspx"; } //if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["friendlyUrlNoExtension"]) && System.Configuration.ConfigurationManager.AppSettings["friendlyUrlNoExtension"] == "1") if (PortalSettings.FriendlyUrlNoExtensionEnabled()) { _friendlyUrlNoExtension = true; } // For legacy support first check provider settings then web.config/Appleseed.config legacy settings if (configValue["aliasinurl"] != null) { _aliasInUrl = bool.Parse(configValue["aliasinurl"].ToString()); } else { if (ConfigurationManager.AppSettings["UseAlias"] != null) { _aliasInUrl = bool.Parse(ConfigurationManager.AppSettings["UseAlias"]); } } // For legacy support first check provider settings then web.config/Appleseed.config legacy settings if (configValue["langinurl"] != null) { _langInUrl = bool.Parse(configValue["langinurl"].ToString()); } else { if (ConfigurationManager.AppSettings["LangInURL"] != null) { _langInUrl = bool.Parse(ConfigurationManager.AppSettings["LangInURL"]); } } if (configValue["ignoretargetpage"] != null) { _ignoreTargetPage = configValue["ignoretargetpage"].ToString(); } if (configValue["cacheminutes"] != null) { _cacheMinutes = Convert.ToDouble(configValue["cacheminutes"].ToString()); } if (configValue["pageidnosplitter"] != null) { _pageidNoSplitter = bool.Parse(configValue["pageidnosplitter"].ToString()); } else { if (ConfigurationManager.AppSettings["PageIdNoSplitter"] != null) { _pageidNoSplitter = bool.Parse(ConfigurationManager.AppSettings["PageIdNoSplitter"]); } } // For legacy support first check provider settings then web.config/Appleseed.config legacy settings if (configValue["friendlypagename"] != null) { // TODO: Friendly url's need to be fixed _friendlyPageName = configValue["friendlypagename"].ToString(); } else { if (ConfigurationManager.AppSettings["FriendlyPageName"] != null) { _friendlyPageName = ConfigurationManager.AppSettings["FriendlyPageName"]; } } if (configValue["Querylist"] != null) { queryList = new StringDictionary(); string list = configValue["Querylist"].ToString(); var parts = list.Split(';'); for (int i = 0; i < parts.Length; i++) { queryList.Add(parts[i], parts[i]); } } if (configValue["ShowHieranchy"] != null) { string ShowHieranchy = configValue["ShowHieranchy"].ToString(); try { Hieranchy = bool.Parse(ShowHieranchy); } catch (Exception) { Hieranchy = false; } } }