public HttpResponseMessage GetPortalSettings() { try { int portal_id = this.PortalSettings.PortalId; DotNetNuke.Entities.Urls.FriendlyUrlSettings fs = new DotNetNuke.Entities.Urls.FriendlyUrlSettings(portal_id); WebAPI.Models.FriendlyUrlSettings dto = new WebAPI.Models.FriendlyUrlSettings() { auto_ascii_convert = fs.AutoAsciiConvert, check_for_duplicate_urls = fs.CheckForDuplicateUrls, deleted_tab_handling = fs.DeletedTabHandlingType.ToString(), do_not_include_in_path_regex = fs.DoNotIncludeInPathRegex, do_not_redirect_regex = fs.DoNotRedirectRegex, do_not_redirect_secure_regex = fs.DoNotRedirectSecureRegex, do_not_rewrite_regex = fs.DoNotRewriteRegex, enable_custom_providers = fs.EnableCustomProviders, force_lower_case = fs.ForceLowerCase, force_lower_case_regex = fs.ForceLowerCaseRegex, ignore_regex = fs.IgnoreRegex, log_cache_messages = fs.LogCacheMessages, no_friendly_url_regex = fs.NoFriendlyUrlRegex, page_extension = fs.PageExtension, page_extension_usage = fs.PageExtensionUsageType.ToString(), redirect_old_profile_url = fs.RedirectOldProfileUrl, redirect_unfriendly = fs.RedirectUnfriendly, redirect_wrong_case = fs.RedirectWrongCase, regex_match = fs.RegexMatch, replace_chars = fs.ReplaceChars, replace_space_with = fs.ReplaceSpaceWith, ssl_client_redirect = fs.SSLClientRedirect, url_format = fs.UrlFormat, use_site_urls_regex = fs.UseSiteUrlsRegex, valid_extensionless_urls_regex = fs.ValidExtensionlessUrlsRegex }; // replace_char_with_char foreach (var key in fs.ReplaceCharacterDictionary.Keys) { dto.replace_char_with_char += key + "," + fs.ReplaceCharacterDictionary[key] + ";"; } return(Request.CreateResponse(HttpStatusCode.OK, dto)); } catch (Exception ex) { Exceptions.LogException(ex); return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } }
public HttpResponseMessage SaveHostSettings(WebAPI.Models.FriendlyUrlSettings dto) { try { // AUM_AutoAsciiConvert HostController.Instance.Update(FriendlyUrlSettings.AutoAsciiConvertSetting, dto.auto_ascii_convert.ToString(), true); // AUM_CheckForDuplicatedUrls HostController.Instance.Update(FriendlyUrlSettings.CheckForDuplicatedUrlsSetting, dto.check_for_duplicate_urls.ToString(), true); // AUM_DeletedTabHandlingType HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.DeletedTabHandlingTypeSetting, dto.deleted_tab_handling, true); // AUM_KeepInQueryStringRegex HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.KeepInQueryStringRegexSetting, dto.do_not_include_in_path_regex, true); // AUM_DoNotRedirectUrlRegex HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.DoNotRedirectUrlRegexSetting, dto.do_not_redirect_regex, true); // AUM_DoNotRedirectHttpsUrlRegex HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.DoNotRedirectHttpsUrlRegexSetting, dto.do_not_redirect_secure_regex, true); // AUM_DoNotRewriteRegEx HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.DoNotRewriteRegExSetting, dto.do_not_rewrite_regex, true); // AUM_EnableCustomProviders HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.EnableCustomProvidersSetting, dto.enable_custom_providers.ToString(), true); // AUM_ForceLowerCase HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.ForceLowerCaseSetting, dto.force_lower_case.ToString(), true); // AUM_PreventLowerCaseUrlRegex HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.PreventLowerCaseUrlRegexSetting, dto.force_lower_case_regex, true); // AUM_IgnoreUrlRegex HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.IgnoreRegexSetting, dto.ignore_regex, true); // AUM_LogCacheMessages HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.LogCacheMessagesSetting, dto.log_cache_messages.ToString(), true); // AUM_DoNotUseFriendlyUrlRegex HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.DoNotUseFriendlyUrlRegexSetting, dto.no_friendly_url_regex, true); // AUM_PageExtension HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.PageExtensionSetting, dto.page_extension, true); // AUM_PageExtensionUsage HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.PageExtensionUsageSetting, dto.page_extension_usage, true); // AUM_RedirectOldProfileUrl HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.RedirectOldProfileUrlSetting, dto.redirect_old_profile_url.ToString(), true); // AUM_RedirectUnfriendly HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.RedirectUnfriendlySetting, dto.redirect_unfriendly.ToString(), true); // AUM_RedirectMixedCase HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.RedirectMixedCaseSetting, dto.redirect_wrong_case.ToString(), true); // AUM_ValidFriendlyUrlRegex HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.ValidFriendlyUrlRegexSetting, dto.regex_match, true); // AUM_ReplaceChars HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.ReplaceCharsSetting, dto.replace_chars, true); // AUM_ReplaceCharWithChar HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.ReplaceCharWithCharSetting, dto.replace_char_with_char, true); // AUM_ReplaceSpaceWith HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.ReplaceSpaceWithSetting, dto.replace_space_with, true); // AUM_SSLClientRedirect HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.SslClientRedirectSetting, dto.ssl_client_redirect.ToString(), true); // AUM_UrlFormat HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.UrlFormatSetting, dto.url_format, true); // AUM_SiteUrlsOnlyRegex HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.SiteUrlsOnlyRegexSetting, dto.use_site_urls_regex, true); // AUM_UrlsWithNoExtensionRegex HostController.Instance.Update(DotNetNuke.Entities.Urls.FriendlyUrlSettings.UrlsWithNoExtensionRegexSetting, dto.valid_extensionless_urls_regex, true); CacheController.FlushFriendlyUrlSettingsFromCache(); CacheController.FlushPageIndexFromCache(); Config.Touch(); return(Request.CreateResponse(HttpStatusCode.OK)); } catch (Exception ex) { Exceptions.LogException(ex); return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } }