/// <summary> /// cmdUpdate_Click runs when the Upgrade button is clicked /// </summary> /// <history> /// [cnurse] 9/27/2004 Updated to reflect design changes for Help, 508 support /// and localisation /// </history> protected void cmdUpdate_Click(object sender, EventArgs e) { try { HostSettingsController objHostSettings = new HostSettingsController(); objHostSettings.UpdateHostSetting("CheckUpgrade", Convert.ToString(chkUpgrade.Checked ? "Y" : "N")); objHostSettings.UpdateHostSetting("HostPortalId", cboHostPortal.SelectedItem.Value); objHostSettings.UpdateHostSetting("HostTitle", txtHostTitle.Text); objHostSettings.UpdateHostSetting("HostURL", txtHostURL.Text); objHostSettings.UpdateHostSetting("HostEmail", txtHostEmail.Text); objHostSettings.UpdateHostSetting("PaymentProcessor", cboProcessor.SelectedItem.Text); objHostSettings.UpdateHostSetting("ProcessorUserId", txtUserId.Text, true); objHostSettings.UpdateHostSetting("ProcessorPassword", txtPassword.Text, true); objHostSettings.UpdateHostSetting("HostFee", txtHostFee.Text); objHostSettings.UpdateHostSetting("HostCurrency", cboHostCurrency.SelectedItem.Value); objHostSettings.UpdateHostSetting("HostSpace", txtHostSpace.Text); objHostSettings.UpdateHostSetting("PageQuota", txtPageQuota.Text); objHostSettings.UpdateHostSetting("UserQuota", txtUserQuota.Text); objHostSettings.UpdateHostSetting("SiteLogStorage", optSiteLogStorage.SelectedItem.Value); objHostSettings.UpdateHostSetting("SiteLogBuffer", txtSiteLogBuffer.Text); objHostSettings.UpdateHostSetting("SiteLogHistory", txtSiteLogHistory.Text); objHostSettings.UpdateHostSetting("DemoPeriod", txtDemoPeriod.Text); objHostSettings.UpdateHostSetting("DemoSignup", Convert.ToString(chkDemoSignup.Checked ? "Y" : "N")); objHostSettings.UpdateHostSetting("Copyright", Convert.ToString(chkCopyright.Checked ? "Y" : "N")); bool OriginalUsersOnline; OriginalUsersOnline = Convert.ToBoolean(ViewState["SelectedUsersOnlineEnabled"]); if (OriginalUsersOnline != chkUsersOnline.Checked) { ScheduleItem objScheduleItem; objScheduleItem = SchedulingProvider.Instance().GetSchedule("DotNetNuke.Entities.Users.PurgeUsersOnline, DOTNETNUKE", Null.NullString); if (objScheduleItem != null) { if (!chkUsersOnline.Checked) { if (!objScheduleItem.Enabled) { objScheduleItem.Enabled = true; SchedulingProvider.Instance().UpdateSchedule(objScheduleItem); SchedulerMode mode = (SchedulerMode)Enum.Parse(typeof(SchedulerMode), cboSchedulerMode.SelectedItem.Value); if (mode == SchedulerMode.TIMER_METHOD) { SchedulingProvider.Instance().ReStart("Host Settings"); } } } else { if (objScheduleItem.Enabled) { objScheduleItem.Enabled = false; SchedulingProvider.Instance().UpdateSchedule(objScheduleItem); SchedulerMode mode = (SchedulerMode)Enum.Parse(typeof(SchedulerMode), cboSchedulerMode.SelectedItem.Value); if (mode == SchedulerMode.TIMER_METHOD) { SchedulingProvider.Instance().ReStart("Host Settings"); } } } } } objHostSettings.UpdateHostSetting("DisableUsersOnline", Convert.ToString(chkUsersOnline.Checked ? "Y" : "N")); objHostSettings.UpdateHostSetting("AutoAccountUnlockDuration", txtAutoAccountUnlock.Text); objHostSettings.UpdateHostSetting("UsersOnlineTime", txtUsersOnlineTime.Text); objHostSettings.UpdateHostSetting("ProxyServer", txtProxyServer.Text); objHostSettings.UpdateHostSetting("ProxyPort", txtProxyPort.Text); objHostSettings.UpdateHostSetting("ProxyUsername", txtProxyUsername.Text, true); objHostSettings.UpdateHostSetting("ProxyPassword", txtProxyPassword.Text, true); objHostSettings.UpdateHostSetting("SMTPServer", txtSMTPServer.Text); objHostSettings.UpdateHostSetting("SMTPAuthentication", optSMTPAuthentication.SelectedItem.Value); objHostSettings.UpdateHostSetting("SMTPUsername", txtSMTPUsername.Text, true); objHostSettings.UpdateHostSetting("SMTPPassword", txtSMTPPassword.Text, true); objHostSettings.UpdateHostSetting("SMTPEnableSSL", Convert.ToString((chkSMTPEnableSSL.Checked ? "Y" : "N"))); objHostSettings.UpdateHostSetting("FileExtensions", txtFileExtensions.Text); objHostSettings.UpdateHostSetting("SkinUpload", optSkinUpload.SelectedItem.Value); objHostSettings.UpdateHostSetting("UseCustomErrorMessages", Convert.ToString(chkUseCustomErrorMessages.Checked ? "Y" : "N")); objHostSettings.UpdateHostSetting("UseFriendlyUrls", Convert.ToString(chkUseFriendlyUrls.Checked ? "Y" : "N")); objHostSettings.UpdateHostSetting("ControlPanel", cboControlPanel.SelectedItem.Value); objHostSettings.UpdateHostSetting("SchedulerMode", cboSchedulerMode.SelectedItem.Value); objHostSettings.UpdateHostSetting("PerformanceSetting", cboPerformance.SelectedItem.Value); objHostSettings.UpdateHostSetting("AuthenticatedCacheability", cboCacheability.SelectedItem.Value); objHostSettings.UpdateHostSetting("PageStatePersister", cboPageState.SelectedItem.Value); objHostSettings.UpdateHostSetting("ModuleCaching", cboCacheMethod.SelectedItem.Value); objHostSettings.UpdateHostSetting("HttpCompression", cboCompression.SelectedItem.Value); objHostSettings.UpdateHostSetting("HttpCompressionLevel", cboLevel.SelectedItem.Value); objHostSettings.UpdateHostSetting("WhitespaceFilter", Convert.ToString((chkWhitespace.Checked ? "Y" : "N"))); objHostSettings.UpdateHostSetting("EnableModuleOnLineHelp", Convert.ToString(chkEnableHelp.Checked ? "Y" : "N")); objHostSettings.UpdateHostSetting("EnableFileAutoSync", Convert.ToString(chkAutoSync.Checked ? "Y" : "N")); objHostSettings.UpdateHostSetting("HelpURL", txtHelpURL.Text); bool originalLogBuffer = Convert.ToBoolean(ViewState["SelectedLogBufferEnabled"]); if (originalLogBuffer != chkLogBuffer.Checked) { ScheduleItem scheduleItem = SchedulingProvider.Instance().GetSchedule("DotNetNuke.Services.Log.EventLog.PurgeLogBuffer, DOTNETNUKE", Null.NullString); if (scheduleItem != null) { if (chkLogBuffer.Checked) { if (!scheduleItem.Enabled) { scheduleItem.Enabled = true; SchedulingProvider.Instance().UpdateSchedule(scheduleItem); SchedulerMode mode = (SchedulerMode)Enum.Parse(typeof(SchedulerMode), cboSchedulerMode.SelectedItem.Value); if (mode == SchedulerMode.TIMER_METHOD) { SchedulingProvider.Instance().ReStart("Host Settings"); } } } else { if (scheduleItem.Enabled) { scheduleItem.Enabled = false; SchedulingProvider.Instance().UpdateSchedule(scheduleItem); SchedulerMode mode = (SchedulerMode)Enum.Parse(typeof(SchedulerMode), cboSchedulerMode.SelectedItem.Value); if (mode == SchedulerMode.TIMER_METHOD) { SchedulingProvider.Instance().ReStart("Host Settings"); } } } } } objHostSettings.UpdateHostSetting("EventLogBuffer", Convert.ToString(chkLogBuffer.Checked ? "Y" : "N")); //SkinController objSkins = new SkinController(); //bool blnAdminSkinChanged = SkinChanged( SkinInfo.RootSkin, Null.NullInteger, SkinType.Admin, ctlAdminSkin.SkinSrc ) || SkinChanged( SkinInfo.RootContainer, Null.NullInteger, SkinType.Admin, ctlAdminContainer.SkinSrc ); SkinController.SetSkin(SkinInfo.RootSkin, Null.NullInteger, SkinType.Portal, ctlHostSkin.SkinSrc); SkinController.SetSkin(SkinInfo.RootContainer, Null.NullInteger, SkinType.Portal, ctlHostContainer.SkinSrc); SkinController.SetSkin(SkinInfo.RootSkin, Null.NullInteger, SkinType.Admin, ctlAdminSkin.SkinSrc); SkinController.SetSkin(SkinInfo.RootContainer, Null.NullInteger, SkinType.Admin, ctlAdminContainer.SkinSrc); // clear host settings cache DataCache.ClearHostCache(true); if (ViewState["SelectedSchedulerMode"] != null) { SchedulerMode originalSchedulerMode = (SchedulerMode)Enum.Parse(typeof(SchedulerMode), (string)ViewState["SelectedSchedulerMode"]); SchedulerMode smode = (SchedulerMode)Enum.Parse(typeof(SchedulerMode), cboSchedulerMode.SelectedItem.Value); if (smode == SchedulerMode.DISABLED) { if (originalSchedulerMode != SchedulerMode.DISABLED) { SchedulingProvider.Instance().Halt("Host Settings"); } } else if (smode == SchedulerMode.TIMER_METHOD) { if (originalSchedulerMode == SchedulerMode.DISABLED || originalSchedulerMode == SchedulerMode.REQUEST_METHOD) { Thread newThread = new Thread(new ThreadStart(SchedulingProvider.Instance().Start)); newThread.IsBackground = true; newThread.Start(); } } else if (smode != SchedulerMode.TIMER_METHOD) { if (originalSchedulerMode == SchedulerMode.TIMER_METHOD) { SchedulingProvider.Instance().Halt("Host Settings"); } } } // this is needed in order to fully flush the cache after changing FriendlyURL Response.Redirect(Request.RawUrl, true); // Redirect to this site to refresh only if admin skin changed //If blnAdminSkinChanged Then Response.Redirect(Request.RawUrl, True) } catch (Exception exc) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exc); } }
public ActionResult UpdateSchedulerSettings(dynamic request) { ActionResult actionResult = new ActionResult(); try { SchedulerMode originalSchedulerMode = (SchedulerMode)Convert.ToInt32(HostController.Instance.GetString("SchedulerMode")); Enum.TryParse(request.SchedulerMode.Value.ToString(), true, out SchedulerMode newSchedulerMode); if (originalSchedulerMode != newSchedulerMode) { switch (newSchedulerMode) { case SchedulerMode.DISABLED: Thread newThread1 = new Thread(new ThreadStart(Halt)) { IsBackground = true }; newThread1.Start(); break; case SchedulerMode.TIMER_METHOD: Thread newThread2 = new Thread(SchedulingProvider.Instance().Start) { IsBackground = true }; newThread2.Start(); break; default: Thread newThread3 = new Thread(new ThreadStart(Halt)) { IsBackground = true }; newThread3.Start(); break; } } HostController.Instance.Update("SchedulerMode", request.SchedulerMode.Value.ToString(), false); HostController.Instance.Update("SchedulerdelayAtAppStart", request.SchedulerdelayAtAppStart.Value.ToString()); switch (newSchedulerMode) { case SchedulerMode.DISABLED: actionResult.Message = Localization.GetString("DisabledSuccess", Components.Constants.LocalResourcesFile); break; case SchedulerMode.TIMER_METHOD: actionResult.Message = Localization.GetString("EnabledSuccess", Components.Constants.LocalResourcesFile); break; default: actionResult.Message = Localization.GetString("EnabledSuccess", Components.Constants.LocalResourcesFile); break; } } catch (Exception exc) { Exceptions.LogException(exc); actionResult.AddError("SchedulerUpdateError", Localization.GetString("SchedulerUpdateError", Components.Constants.TaskSchedulerResourcesFile)); } return(actionResult); }