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