public IActionResult Get() { SiteConfigurationModel model = null; SiteConfigurationInfo configuration = _parameterManager.GetSiteConfiguration(); if (configuration == null) { return(NotFound()); } // Get themes list DirectoryInfo themeDirectory = new DirectoryInfo(Path.Combine(_hostingEnvironment.WebRootPath, "themes")); DirectoryInfo[] themes = themeDirectory.GetDirectories("*", SearchOption.TopDirectoryOnly); model = new SiteConfigurationModel(); model.Title = configuration.Title; model.Description = configuration.Description; model.HostUrl = configuration.HostUrl; model.CacheActivated = configuration.CacheActivated; model.SmtpHost = configuration.SmtpHost; model.SmtpPort = configuration.SmtpPort.ToString(); model.SmtpCredentialsUser = configuration.SmtpCredentialsUser; model.SmtpCredentialsPassword = configuration.SmtpCredentialsPassword; model.SmtpEnableSsl = configuration.SmtpEnableSsl; model.EmailSender = configuration.EmailSender; model.RequireConfirmedEmail = configuration.RequireConfirmedEmail; model.Theme = configuration.Theme; model.ThemeList = themes?.Select(t => t.Name)?.OrderBy(t => t)?.ToArray() ?? new string[] { SiteConfiguration.DefaultTheme }; model.CookieUsePolicyUrl = configuration.CookieUsePolicyUrl; model.ConsentNotice = configuration.ConsentNotice; model.CheckConsentNeeded = configuration.CheckConsentNeeded; return(Json(model)); }
public override void OnActionExecuting(ActionExecutingContext context) { base.OnActionExecuting(context); IParameterManager parameterManager = context.HttpContext.RequestServices.GetService(typeof(IParameterManager)) as IParameterManager; SiteConfigurationInfo siteConfiguration = parameterManager.GetSiteConfiguration(); Controller controller = context.Controller as Controller; if (controller != null) { controller.ViewBag.Title = siteConfiguration.Title; controller.ViewBag.Theme = siteConfiguration.Theme; controller.ViewBag.ConsentNotice = siteConfiguration.ConsentNotice; controller.ViewBag.CookieUsePolicyUrl = siteConfiguration.CookieUsePolicyUrl; } }