using DotNetNuke.Collections; using DotNetNuke.Security; using DotNetNuke.Web.Mvc.Framework.ActionFilters; using System; using System.Web.Mvc; using <%= fullNamespace %>.Components; using <%= fullNamespace %>.Models; namespace <%= fullNamespace %>.Controllers { [DnnModuleAuthorize(AccessLevel = SecurityAccessLevel.Edit)] [DnnHandleError] public class SettingsController : <%= extensionName %>ModuleControllerBase { /// /// /// /// [HttpGet] public ActionResult Settings() { var settings = new Settings(); settings.Setting1 = ModuleContext.Configuration.ModuleSettings.GetValueOrDefault("<%= fullNamespace %>_Setting1", false); settings.Setting2 = ModuleContext.Configuration.ModuleSettings.GetValueOrDefault("<%= fullNamespace %>_Setting2", string.Empty); settings.Setting3 = ModuleContext.Configuration.ModuleSettings.GetValueOrDefault("<%= fullNamespace %>_Setting3", DateTime.Now); return View(settings); } /// /// /// /// /// [HttpPost] [ValidateInput(false)] [DotNetNuke.Web.Mvc.Framework.ActionFilters.ValidateAntiForgeryToken] public ActionResult Settings(Settings settings) { var security = new PortalSecurity(); ModuleContext.Configuration.ModuleSettings["<%= fullNamespace %>_Setting1"] = security.InputFilter(settings.Setting1.ToString().Trim(), PortalSecurity.FilterFlag.NoMarkup); var setting2 = settings.Setting2.Trim(); if (!string.IsNullOrEmpty(setting2)) { ModuleContext.Configuration.ModuleSettings["<%= fullNamespace %>_Setting2"] = security.InputFilter(setting2, PortalSecurity.FilterFlag.NoMarkup); } else if(ModuleContext.Configuration.ModuleSettings.ContainsKey("<%= fullNamespace %>_Setting2")) { ModuleContext.Configuration.ModuleSettings.Remove("<%= fullNamespace %>_Setting2"); } ModuleContext.Configuration.ModuleSettings["<%= fullNamespace %>_Setting3"] = security.InputFilter(settings.Setting3.ToUniversalTime().ToString("u"), PortalSecurity.FilterFlag.NoMarkup); return RedirectToDefaultRoute(); } } }