public IEnumerable <Culture> Get() => _localizationManager.GetSupportedCultures().Select(c => new Culture { Name = CultureInfo.GetCultureInfo(c).Name, DisplayName = CultureInfo.GetCultureInfo(c).DisplayName, IsDefault = _localizationManager.GetDefaultCulture() .Equals(CultureInfo.GetCultureInfo(c).Name, StringComparison.OrdinalIgnoreCase) });
public void OnGet() { var assemblies = AppDomain.CurrentDomain.GetOqtaneAssemblies(); foreach (Assembly assembly in assemblies) { ProcessHostResources(assembly); ProcessModuleControls(assembly); ProcessThemeControls(assembly); } // if culture not specified and framework is installed if (HttpContext.Request.Cookies[CookieRequestCultureProvider.DefaultCookieName] == null && !string.IsNullOrEmpty(_configuration.GetConnectionString("DefaultConnection"))) { var uri = new Uri(Request.GetDisplayUrl()); var alias = _aliases.GetAlias(uri.Authority + "/" + uri.LocalPath.Substring(1)); _state.Alias = alias; // set default language for site if the culture is not supported var languages = _languages.GetLanguages(alias.SiteId); if (languages.Any() && languages.All(l => l.Code != CultureInfo.CurrentUICulture.Name)) { var defaultLanguage = languages.Where(l => l.IsDefault).SingleOrDefault() ?? languages.First(); SetLocalizationCookie(defaultLanguage.Code); } else { SetLocalizationCookie(_localizationManager.GetDefaultCulture()); } } }
public void OnGet() { AntiForgeryToken = _antiforgery.GetAndStoreTokens(HttpContext).RequestToken; if (_configuration.GetSection("Runtime").Exists()) { Runtime = _configuration.GetSection("Runtime").Value; } if (_configuration.GetSection("RenderMode").Exists()) { RenderMode = (RenderMode)Enum.Parse(typeof(RenderMode), _configuration.GetSection("RenderMode").Value, true); } var assemblies = AppDomain.CurrentDomain.GetOqtaneAssemblies(); foreach (Assembly assembly in assemblies) { ProcessHostResources(assembly); ProcessModuleControls(assembly); ProcessThemeControls(assembly); } // if framework is installed if (!string.IsNullOrEmpty(_configuration.GetConnectionString("DefaultConnection"))) { var alias = _tenantManager.GetAlias(); if (alias != null) { var site = _sites.GetSite(alias.SiteId); if (site != null) { if (!string.IsNullOrEmpty(site.Runtime)) { Runtime = site.Runtime; } if (!string.IsNullOrEmpty(site.RenderMode)) { RenderMode = (RenderMode)Enum.Parse(typeof(RenderMode), site.RenderMode, true); } } // if culture not specified if (HttpContext.Request.Cookies[CookieRequestCultureProvider.DefaultCookieName] == null) { // set default language for site if the culture is not supported var languages = _languages.GetLanguages(alias.SiteId); if (languages.Any() && languages.All(l => l.Code != CultureInfo.CurrentUICulture.Name)) { var defaultLanguage = languages.Where(l => l.IsDefault).SingleOrDefault() ?? languages.First(); SetLocalizationCookie(defaultLanguage.Code); } else { SetLocalizationCookie(_localizationManager.GetDefaultCulture()); } } } } }
public IActionResult OnGet() { AntiForgeryToken = _antiforgery.GetAndStoreTokens(HttpContext).RequestToken; if (_configuration.GetSection("Runtime").Exists()) { Runtime = _configuration.GetSection("Runtime").Value; } if (_configuration.GetSection("RenderMode").Exists()) { RenderMode = (RenderMode)Enum.Parse(typeof(RenderMode), _configuration.GetSection("RenderMode").Value, true); } // if framework is installed if (!string.IsNullOrEmpty(_configuration.GetConnectionString("DefaultConnection"))) { var alias = _tenantManager.GetAlias(); if (alias != null) { Route route = new Route(HttpContext.Request.GetEncodedUrl(), alias.Path); var site = _sites.GetSite(alias.SiteId); if (site != null) { if (!string.IsNullOrEmpty(site.Runtime)) { Runtime = site.Runtime; } if (!string.IsNullOrEmpty(site.RenderMode)) { RenderMode = (RenderMode)Enum.Parse(typeof(RenderMode), site.RenderMode, true); } if (site.FaviconFileId != null) { FavIcon = Utilities.ContentUrl(alias, site.FaviconFileId.Value); } if (site.PwaIsEnabled && site.PwaAppIconFileId != null && site.PwaSplashIconFileId != null) { PWAScript = CreatePWAScript(alias, site, route); } Title = site.Name; ThemeType = site.DefaultThemeType; if (site.VisitorTracking) { TrackVisitor(site.SiteId); } var page = _pages.GetPage(route.PagePath, site.SiteId); if (page != null) { // set page title if (!string.IsNullOrEmpty(page.Title)) { Title = page.Title; } else { Title = Title + " - " + page.Name; } // include theme resources if (!string.IsNullOrEmpty(page.ThemeType)) { ThemeType = page.ThemeType; } } else { // page does not exist var url = route.SiteUrl + "/" + route.PagePath; var urlMapping = _urlMappings.GetUrlMapping(site.SiteId, url); if (urlMapping == null) { if (site.CaptureBrokenUrls) { urlMapping = new UrlMapping(); urlMapping.SiteId = site.SiteId; urlMapping.Url = url; urlMapping.MappedUrl = ""; urlMapping.Requests = 1; urlMapping.CreatedOn = DateTime.UtcNow; urlMapping.RequestedOn = DateTime.UtcNow; _urlMappings.AddUrlMapping(urlMapping); } } else { urlMapping.Requests += 1; urlMapping.RequestedOn = DateTime.UtcNow; _urlMappings.UpdateUrlMapping(urlMapping); if (!string.IsNullOrEmpty(urlMapping.MappedUrl)) { return(RedirectPermanent(urlMapping.MappedUrl)); } } } } // include global resources var assemblies = AppDomain.CurrentDomain.GetOqtaneAssemblies(); foreach (Assembly assembly in assemblies) { ProcessHostResources(assembly); ProcessModuleControls(assembly); ProcessThemeControls(assembly); } // set culture if not specified if (HttpContext.Request.Cookies[CookieRequestCultureProvider.DefaultCookieName] == null) { // set default language for site if the culture is not supported var languages = _languages.GetLanguages(alias.SiteId); if (languages.Any() && languages.All(l => l.Code != CultureInfo.CurrentUICulture.Name)) { var defaultLanguage = languages.Where(l => l.IsDefault).SingleOrDefault() ?? languages.First(); SetLocalizationCookie(defaultLanguage.Code); } else { SetLocalizationCookie(_localizationManager.GetDefaultCulture()); } } } } return(Page()); }
public IActionResult OnGet() { AntiForgeryToken = _antiforgery.GetAndStoreTokens(HttpContext).RequestToken; RemoteIPAddress = HttpContext.Connection.RemoteIpAddress?.ToString() ?? ""; if (_configuration.GetSection("Runtime").Exists()) { Runtime = _configuration.GetSection("Runtime").Value; } if (_configuration.GetSection("RenderMode").Exists()) { RenderMode = (RenderMode)Enum.Parse(typeof(RenderMode), _configuration.GetSection("RenderMode").Value, true); } // if framework is installed if (_configuration.IsInstalled()) { var alias = _tenantManager.GetAlias(); if (alias != null) { var url = WebUtility.UrlDecode(HttpContext.Request.GetEncodedUrl()); // redirect non-default alias unless you are trying to access site settings if (!alias.IsDefault && !url.Contains("admin/site")) { var aliases = _aliases.GetAliases().Where(item => item.TenantId == alias.TenantId && item.SiteId == alias.SiteId); if (aliases.Where(item => item.IsDefault).FirstOrDefault() != null) { return(RedirectPermanent(url.Replace(alias.Name, aliases.Where(item => item.IsDefault).FirstOrDefault().Name))); } else // no default specified - use first alias { if (alias.Name.Trim() != aliases.First().Name.Trim()) { return(RedirectPermanent(url.Replace(alias.Name, aliases.First().Name))); } } } var site = _sites.GetSite(alias.SiteId); if (site != null && !site.IsDeleted) { Route route = new Route(url, alias.Path); if (!string.IsNullOrEmpty(site.Runtime)) { Runtime = site.Runtime; } if (!string.IsNullOrEmpty(site.RenderMode)) { RenderMode = (RenderMode)Enum.Parse(typeof(RenderMode), site.RenderMode, true); } if (site.FaviconFileId != null) { FavIcon = Utilities.ContentUrl(alias, site.FaviconFileId.Value); } if (site.PwaIsEnabled && site.PwaAppIconFileId != null && site.PwaSplashIconFileId != null) { PWAScript = CreatePWAScript(alias, site, route); } Title = site.Name; ThemeType = site.DefaultThemeType; if (site.VisitorTracking) { TrackVisitor(site.SiteId); } var page = _pages.GetPage(route.PagePath, site.SiteId); if (page != null) { // set page title if (!string.IsNullOrEmpty(page.Title)) { Title = page.Title; } else { Title = Title + " - " + page.Name; } Meta = page.Meta; // include theme resources if (!string.IsNullOrEmpty(page.ThemeType)) { ThemeType = page.ThemeType; } } else // page not found { // look for url mapping var urlMapping = _urlMappings.GetUrlMapping(site.SiteId, route.PagePath); if (urlMapping != null && !string.IsNullOrEmpty(urlMapping.MappedUrl)) { url = (urlMapping.MappedUrl.StartsWith("http")) ? urlMapping.MappedUrl : route.SiteUrl + "/" + urlMapping.MappedUrl; return(RedirectPermanent(url)); } } // include global resources var assemblies = AppDomain.CurrentDomain.GetOqtaneAssemblies(); foreach (Assembly assembly in assemblies) { ProcessHostResources(assembly); ProcessModuleControls(assembly); ProcessThemeControls(assembly); } // set culture if not specified string culture = HttpContext.Request.Cookies[CookieRequestCultureProvider.DefaultCookieName]; if (culture == null) { // get default language for site var languages = _languages.GetLanguages(alias.SiteId); if (languages.Any()) { // use default language if specified otherwise use first language in collection culture = (languages.Where(l => l.IsDefault).SingleOrDefault() ?? languages.First()).Code; } else { culture = _localizationManager.GetDefaultCulture(); } SetLocalizationCookie(culture); } // set language for page if (!string.IsNullOrEmpty(culture)) { // localization cookie value in form of c=en|uic=en Language = culture.Split('|')[0]; Language = Language.Replace("c=", ""); } } else { Message = "Site Is Either Disabled Or Not Configured Correctly"; } } else { Message = "Site Not Configured Correctly - No Matching Alias Exists For Host Name"; } } return(Page()); }
public IActionResult OnGet() { AntiForgeryToken = _antiforgery.GetAndStoreTokens(HttpContext).RequestToken; RemoteIPAddress = HttpContext.Connection.RemoteIpAddress?.ToString() ?? ""; if (_configuration.GetSection("Runtime").Exists()) { Runtime = _configuration.GetSection("Runtime").Value; } if (_configuration.GetSection("RenderMode").Exists()) { RenderMode = (RenderMode)Enum.Parse(typeof(RenderMode), _configuration.GetSection("RenderMode").Value, true); } // if framework is installed if (!string.IsNullOrEmpty(_configuration.GetConnectionString("DefaultConnection"))) { var alias = _tenantManager.GetAlias(); if (alias != null) { var url = WebUtility.UrlDecode(HttpContext.Request.GetEncodedUrl()); // redirect non-default alias if (!alias.IsDefault) { var aliases = _aliases.GetAliases().Where(item => item.TenantId == alias.TenantId && item.SiteId == alias.SiteId); if (aliases.Where(item => item.IsDefault).FirstOrDefault() != null) { return(RedirectPermanent(url.Replace(alias.Name, aliases.Where(item => item.IsDefault).FirstOrDefault().Name))); } else // no default specified - use first alias { if (alias.Name.Trim() != aliases.First().Name.Trim()) { return(RedirectPermanent(url.Replace(alias.Name, aliases.First().Name))); } } } var site = _sites.GetSite(alias.SiteId); if (site != null) { Route route = new Route(url, alias.Path); if (!string.IsNullOrEmpty(site.Runtime)) { Runtime = site.Runtime; } if (!string.IsNullOrEmpty(site.RenderMode)) { RenderMode = (RenderMode)Enum.Parse(typeof(RenderMode), site.RenderMode, true); } if (site.FaviconFileId != null) { FavIcon = Utilities.ContentUrl(alias, site.FaviconFileId.Value); } if (site.PwaIsEnabled && site.PwaAppIconFileId != null && site.PwaSplashIconFileId != null) { PWAScript = CreatePWAScript(alias, site, route); } Title = site.Name; ThemeType = site.DefaultThemeType; if (site.VisitorTracking) { TrackVisitor(site.SiteId); } var page = _pages.GetPage(route.PagePath, site.SiteId); if (page != null) { // set page title if (!string.IsNullOrEmpty(page.Title)) { Title = page.Title; } else { Title = Title + " - " + page.Name; } // include theme resources if (!string.IsNullOrEmpty(page.ThemeType)) { ThemeType = page.ThemeType; } } else // page not found { // look for url mapping var urlMapping = _urlMappings.GetUrlMapping(site.SiteId, route.PagePath); if (urlMapping != null && !string.IsNullOrEmpty(urlMapping.MappedUrl)) { url = (urlMapping.MappedUrl.StartsWith("http")) ? urlMapping.MappedUrl : route.SiteUrl + "/" + urlMapping.MappedUrl; return(RedirectPermanent(url)); } } } // include global resources var assemblies = AppDomain.CurrentDomain.GetOqtaneAssemblies(); foreach (Assembly assembly in assemblies) { ProcessHostResources(assembly); ProcessModuleControls(assembly); ProcessThemeControls(assembly); } // set culture if not specified if (HttpContext.Request.Cookies[CookieRequestCultureProvider.DefaultCookieName] == null) { // set default language for site if the culture is not supported var languages = _languages.GetLanguages(alias.SiteId); if (languages.Any() && languages.All(l => l.Code != CultureInfo.CurrentUICulture.Name)) { var defaultLanguage = languages.Where(l => l.IsDefault).SingleOrDefault() ?? languages.First(); SetLocalizationCookie(defaultLanguage.Code); } else { SetLocalizationCookie(_localizationManager.GetDefaultCulture()); } } } } return(Page()); }