コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
        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);
        }