public static ActionResult UpdateProfilePropertyLocalization(UpdateProfilePropertyLocalizationRequest request) { ActionResult actionResult = new ActionResult(); SiteSettingsController _controller = new SiteSettingsController(); try { int pid = request.PortalId ?? PortalSettings.Current.PortalId; if (!PortalSettings.Current.UserInfo.IsSuperUser && PortalSettings.Current.PortalId != pid) { actionResult.AddError(HttpStatusCode.Unauthorized.ToString(), Components.Constants.AuthFailureMessage); } if (actionResult.IsSuccess) { DNNLocalization.Locale language = DNNLocalization.LocaleController.Instance.GetLocale(pid, request.Language); if (language == null) { actionResult.AddError(HttpStatusCode.BadRequest.ToString(), string.Format(DNNLocalization.Localization.GetString("InvalidLocale.ErrorMessage", PersonaBar.Constants.LocalResourcesFile), request.Language)); } if (actionResult.IsSuccess) { _controller.SaveLocalizedKeys(pid, request.PropertyName, request.PropertyCategory, request.Language, request.PropertyNameString, request.PropertyHelpString, request.PropertyRequiredString, request.PropertyValidationString, request.CategoryNameString); DataCache.ClearCache(); } } } catch (Exception exc) { actionResult.AddError(HttpStatusCode.InternalServerError.ToString(), exc.Message); } return(actionResult); }
public static IEnumerable <Url> GetCustomUrls(int pageId) { List <Url> CustomUrls = PagesController.Instance.GetPageUrls(pageId).ToList(); bool IsLocaleNotEnabled = string.IsNullOrEmpty(PortalSettings.Current.PortalAlias.CultureCode); List <Url> Urls = new List <Url>(); foreach (Url url in CustomUrls) { DNNLocalization.Locale locale = DNNLocalization.LocaleController.Instance.GetLocale(url.Locale.Key); if (!string.IsNullOrEmpty(url.Locale.Value) && locale != null && locale.Code == PortalSettings.Current.CultureCode) { Urls.Add(url); } } if (Urls.Count == 0 || IsLocaleNotEnabled) { foreach (Url url in CustomUrls) { DNNLocalization.Locale locale = DNNLocalization.LocaleController.Instance.GetLocale(url.Locale.Key); if (locale == null && url.SiteAlias.Value == PortalSettings.Current.DefaultPortalAlias) { Urls.Add(url); } } } return(Urls); }
public static ActionResult GetProfilePropertyLocalization(string cultureCode, string propertyName, string propertyCategory) { ActionResult actionResult = new ActionResult(); try { int pid = PortalSettings.Current.PortalId; //if (!PortalSettings.Current.UserInfo.IsSuperUser) //{ // actionResult.AddError(HttpStatusCode.Unauthorized.ToString(), Components.Constants.AuthFailureMessage); //} if (actionResult.IsSuccess) { cultureCode = string.IsNullOrEmpty(cultureCode) ? DNNLocalization.LocaleController.Instance.GetCurrentLocale(pid).Code : cultureCode; DNNLocalization.Locale language = DNNLocalization.LocaleController.Instance.GetLocale(pid, cultureCode); if (language == null) { actionResult.AddError(HttpStatusCode.BadRequest.ToString(), string.Format(DNNLocalization.Localization.GetString("InvalidLocale.ErrorMessage", PersonaBar.Constants.LocalResourcesFile), cultureCode)); } if (actionResult.IsSuccess) { string resourceFile = "~/DesktopModules/Admin/Security/App_LocalResources/Profile.ascx"; var response = new { PortalId = pid, PropertyName = propertyName, PropertyCategory = propertyCategory, Language = cultureCode, PropertyNameString = DNNLocalization.Localization.GetString("ProfileProperties_" + propertyName, resourceFile, cultureCode) ?? "", PropertyHelpString = DNNLocalization.Localization.GetString("ProfileProperties_" + propertyName + ".Help", resourceFile, cultureCode) ?? "", PropertyRequiredString = DNNLocalization.Localization.GetString("ProfileProperties_" + propertyName + ".Required", resourceFile, cultureCode) ?? "", PropertyValidationString = DNNLocalization.Localization.GetString("ProfileProperties_" + propertyName + ".Validation", resourceFile, cultureCode) ?? "", CategoryNameString = DNNLocalization.Localization.GetString("ProfileProperties_" + propertyCategory + ".Header", resourceFile, cultureCode) ?? "" }; actionResult.Data = response; } } } catch (Exception exc) { actionResult.AddError(HttpStatusCode.InternalServerError.ToString(), exc.Message); } return(actionResult); }
/// ----------------------------------------------------------------------------- /// <summary> /// Constructs the LanguageComponentWriter /// </summary> /// <param name="languagePack">Language Package info.</param> /// <param name="basePath">Base Path.</param> /// <param name="files">A Dictionary of files</param> /// <param name="package">Package Info.</param> /// <history> /// [cnurse] 02/08/2008 created /// </history> /// ----------------------------------------------------------------------------- public LanguageComponentWriter(LanguagePackInfo languagePack, string basePath, Dictionary<string, InstallFile> files, PackageInfo package) : base(basePath, files, package) { _Language = LocaleController.Instance.GetLocale(languagePack.LanguageID); _PackageType = languagePack.PackageType; _DependentPackageID = languagePack.DependentPackageID; }
/// ----------------------------------------------------------------------------- /// <summary> /// Constructs the LanguageComponentWriter /// </summary> /// <param name="language">Language Info.</param> /// <param name="basePath">Base Path.</param> /// <param name="files">A Dictionary of files</param> /// <param name="package">Package Info.</param> /// <history> /// [cnurse] 02/08/2008 created /// </history> /// ----------------------------------------------------------------------------- public LanguageComponentWriter(Locale language, string basePath, Dictionary<string, InstallFile> files, PackageInfo package) : base(basePath, files, package) { _Language = language; _PackageType = LanguagePackType.Core; }
private void AddUrlToList(List <Url> tabs, int portalId, int id, PortalAliasInfo alias, DNNLocalization.Locale urlLocale, string path, string queryString, int statusCode, bool isSystem, FriendlyUrlSettings friendlyUrlSettings, int?lastModifiedByUserId) { string userName = ""; if (lastModifiedByUserId.HasValue) { userName = UserController.Instance.GetUser(portalId, lastModifiedByUserId.Value)?.DisplayName; } tabs.Add(new Url { Id = id, SiteAlias = new KeyValuePair <int, string>(alias.KeyID, alias.HTTPAlias), Path = path, PathWithNoExtension = GetCleanPath(path, friendlyUrlSettings), QueryString = queryString, Locale = (urlLocale != null) ? new KeyValuePair <int, string>(urlLocale.KeyID, urlLocale.EnglishName) : new KeyValuePair <int, string>(-1, ""), StatusCode = StatusCodes.SingleOrDefault(kv => kv.Key == statusCode), SiteAliasUsage = (int)PortalAliasUsageType.ChildPagesInherit, IsSystem = isSystem, UserName = userName }); }
private IEnumerable <Url> GetSortedUrls(TabInfo tab, int portalId, Lazy <Dictionary <string, DNNLocalization.Locale> > locales, int sortColumn, bool sortOrder, bool isSystem) { FriendlyUrlSettings friendlyUrlSettings = new FriendlyUrlSettings(tab.PortalID); List <Url> tabs = new List <Url>(); if (isSystem) { //Add generated urls foreach (PortalAliasInfo alias in PortalAliasController.Instance.GetPortalAliasesByPortalId(portalId)) { DNNLocalization.Locale urlLocale = locales.Value.Values.FirstOrDefault(local => local.Code == alias.CultureCode); /*var isRedirected = tab.TabUrls.Any(u => u.HttpStatus == "200" * && u.CultureCode == ((urlLocale != null) ? urlLocale.Code : String.Empty)) || alias.PortalAliasID != PrimaryAliasId;*/ bool isRedirected = false; bool isCustom200Urls = tab.TabUrls.Any(u => u.HttpStatus == "200");//are there any custom Urls for this tab? string baseUrl = Globals.AddHTTP(alias.HTTPAlias) + "/Default.aspx?TabId=" + tab.TabID; if (urlLocale != null) { baseUrl += "&language=" + urlLocale.Code; } string customPath = null; if (isCustom200Urls) { //get the friendlyUrl, including custom Urls customPath = AdvancedFriendlyUrlProvider.ImprovedFriendlyUrl(tab, baseUrl, Globals.glbDefaultPage, alias.HTTPAlias, false, friendlyUrlSettings, Guid.Empty); customPath = customPath.Replace(Globals.AddHTTP(alias.HTTPAlias), ""); } //get the friendlyUrl and ignore and custom Urls string path = AdvancedFriendlyUrlProvider.ImprovedFriendlyUrl(tab, baseUrl, Globals.glbDefaultPage, alias.HTTPAlias, true, friendlyUrlSettings, Guid.Empty); path = path.Replace(Globals.AddHTTP(alias.HTTPAlias), ""); int status = 200; if (customPath != null && (string.Compare(customPath, path, StringComparison.OrdinalIgnoreCase) != 0)) { //difference in custom/standard URL, so standard is 301 status = 301; isRedirected = true; } //AddUrlToList(tabs, -1, alias, urlLocale, path, String.Empty, (isRedirected) ? 301 : 200); //27139 : only show primary aliases in the tab grid (gets too confusing otherwise) if (alias.IsPrimary) //alias was provided to FriendlyUrlCall, so will always get the correct canonical Url back { AddUrlToList(tabs, portalId, -1, alias, urlLocale, path, string.Empty, status, isSystem, friendlyUrlSettings, null); } //Add url with diacritics isRedirected = friendlyUrlSettings.RedirectUnfriendly; string asciiTabPath = TabPathHelper.ReplaceDiacritics(tab.TabPath, out bool replacedDiacritic).Replace("//", "/"); if (replacedDiacritic) { if (friendlyUrlSettings.AutoAsciiConvert) { if (friendlyUrlSettings.ReplaceSpaceWith != FriendlyUrlSettings.ReplaceSpaceWithNothing) { path = path.Replace(friendlyUrlSettings.ReplaceSpaceWith, string.Empty); } path = path.Replace(asciiTabPath, tab.TabPath.Replace("//", "/")); AddUrlToList(tabs, portalId, -1, alias, urlLocale, path, string.Empty, (isRedirected) ? 301 : 200, isSystem, friendlyUrlSettings, null); } } else { //Add url with space if (tab.TabName.Contains(" ") && friendlyUrlSettings.ReplaceSpaceWith != FriendlyUrlSettings.ReplaceSpaceWithNothing) { path = path.Replace(friendlyUrlSettings.ReplaceSpaceWith, string.Empty); if (customPath != null && string.Compare(customPath, path, StringComparison.OrdinalIgnoreCase) != 0) { AddUrlToList(tabs, portalId, -1, alias, urlLocale, path, string.Empty, (isRedirected) ? 301 : 200, isSystem, friendlyUrlSettings, null); } } } } } foreach (TabUrlInfo url in tab.TabUrls.Where(u => u.IsSystem == isSystem).OrderBy(u => u.SeqNum)) { int.TryParse(url.HttpStatus, out int statusCode); //27133 : Only show a custom URL if (url.PortalAliasUsage == PortalAliasUsageType.Default) { IEnumerable <PortalAliasInfo> aliases = PortalAliasController.Instance.GetPortalAliasesByPortalId(portalId); PortalAliasInfo alias = aliases.FirstOrDefault(primary => primary.IsPrimary == true); if (alias == null) { //if no primary alias just get first in list, need to use something alias = aliases.FirstOrDefault(a => a.PortalID == portalId); } if (alias != null) { DNNLocalization.Locale urlLocale = locales.Value.Values.FirstOrDefault(local => local.Code == alias.CultureCode); AddUrlToList(tabs, portalId, url.SeqNum, alias, urlLocale, url.Url, url.QueryString, statusCode, isSystem, friendlyUrlSettings, url.LastModifiedByUserId); } } else { DNNLocalization.Locale urlLocale = locales.Value.Values.FirstOrDefault(local => local.Code == url.CultureCode); PortalAliasInfo alias = PortalAliasController.Instance.GetPortalAliasesByPortalId(portalId) .SingleOrDefault(p => p.PortalAliasID == url.PortalAliasId); if (alias != null) { AddUrlToList(tabs, portalId, url.SeqNum, alias, urlLocale, url.Url, url.QueryString, statusCode, isSystem, friendlyUrlSettings, url.LastModifiedByUserId); } } } KeyValuePairComparer pairComparer = new KeyValuePairComparer(); switch ((SortingFields)sortColumn) { case SortingFields.Url: case SortingFields.None: return(sortOrder ? tabs.OrderBy(url => url.SiteAlias, pairComparer).ThenBy(url => url.Path) : tabs.OrderByDescending(url => url.SiteAlias, pairComparer).ThenByDescending(url => url.Path)); case SortingFields.Locale: return(sortOrder ? tabs.OrderBy(url => url.Locale, pairComparer) : tabs.OrderByDescending(url => url.Locale, pairComparer)); case SortingFields.Status: return(sortOrder ? tabs.OrderBy(url => url.StatusCode, pairComparer) : tabs.OrderByDescending(url => url.StatusCode, pairComparer)); default: return(sortOrder ? tabs.OrderBy(url => url.SiteAlias, pairComparer).ThenBy(url => url.Path) : tabs.OrderByDescending(url => url.SiteAlias, pairComparer).ThenByDescending(url => url.Path)); } }
public LocaleFilePack() { this._LocalePackCulture = new Locale(); this._Files = new LocaleFileCollection(); }