Exemplo n.º 1
0
        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;
            }
        }