protected void InitControl() { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); if (Session["TrySqlPassword"] == null) { Session["TrySqlPassword"] = settings.DbPassword; } txtSqlPassword.Attributes.Add("Value", Session["TrySqlPassword"].ToString()); switch (settings.DbType) { case SupportedDatabase.MsAccess: intDbTypeMsAccess.Checked = true; break; case SupportedDatabase.MsSqlServer: intDbTypeMsSql.Checked = true; break; case SupportedDatabase.MySql: intDbTypeMySql.Checked = true; break; } txtSqlLogin.Value = settings.DbLogin; txtSqlName.Value = settings.DbName; txtSqlDsn.Value = settings.DbDsn; txtSqlSrc.Value = settings.DbHost; txtAccessFile.Value = settings.DbPathToMdb; odbcConnectionString.Value = settings.DbCustomConnectionString; useCS.Checked = settings.UseCustomConnectionString; useDSN.Checked = settings.UseDSN; }
private void Save() { Session["TrySqlPassword"] = null; try { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); if (intDbTypeMsAccess.Checked) { settings.DbType = SupportedDatabase.MsAccess; } else if (intDbTypeMySql.Checked) { settings.DbType = SupportedDatabase.MySql; } else { settings.DbType = SupportedDatabase.MsSqlServer; } string rrr = Request[txtSqlLogin.ClientID]; if (useDSN.Checked) { settings.DbDsn = txtSqlDsn.Value; } else if (useCS.Checked) { settings.DbCustomConnectionString = odbcConnectionString.Value; } else { if (settings.DbType == SupportedDatabase.MsAccess) { settings.DbPathToMdb = txtAccessFile.Value; } else { settings.DbLogin = txtSqlLogin.Value; settings.DbPassword = txtSqlPassword.Text; settings.DbName = txtSqlName.Value; settings.DbHost = txtSqlSrc.Value; } } settings.UseCustomConnectionString = useCS.Checked; settings.UseDSN = useDSN.Checked; settings.SaveWebmailSettings(AdminPanelUtils.GetWebMailDataFolder()); this.Session.Remove(Constants.sessionDbManager); this.Context.Application.Remove(Constants.sessionSettings); } catch (Exception error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmSaveUnsuccess); } }
protected void SaveButton_Click(object sender, System.EventArgs e) { try { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); if (standartLoginRadio.Checked) { settings.HideLoginMode = LoginMode.Default; } else if (hideLoginRadio.Checked) { if (hideLoginSelect.SelectedIndex == 0) { settings.HideLoginMode = LoginMode.HideLoginFieldLoginIsEmail; } else { settings.HideLoginMode = LoginMode.HideLoginFieldLoginIsAccount; } } else { if ((intDisplayDomainAfterLoginField.Checked) && (intLoginAsConcatination.Checked)) { settings.HideLoginMode = LoginMode.HideEmailFieldDisplayDomainAfterLoginAndLoginIsLoginAndDomain; } else if (intDisplayDomainAfterLoginField.Checked) { settings.HideLoginMode = LoginMode.HideEmailFieldDisplayDomainAfterLogin; } else if (intLoginAsConcatination.Checked) { settings.HideLoginMode = LoginMode.HideEmailFieldLoginIsLoginAndDomain; } else { settings.HideLoginMode = LoginMode.HideEmailField; } } settings.DefaultDomainOptional = txtUseDomain.Value; settings.AllowAdvancedLogin = intAllowAdvancedLogin.Checked; settings.AutomaticCorrectLoginSettings = intAutomaticCorrectLogin.Checked; settings.AllowLanguageOnLogin = intAllowLangOnLogin.Checked; settings.SaveWebmailSettings(AdminPanelUtils.GetWebMailDataFolder()); Context.Application.Remove(Constants.sessionSettings); AdminPanelUtils.SetPageReportMessage(Page, Constants.mailAdmSaveSuccess); } catch (Exception error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(Page, Constants.mailAdmSaveUnsuccess); } }
protected void Page_Load(object sender, EventArgs e) { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); if (!Page.IsPostBack) { Utils.SettingsPath = AdminPanelUtils.GetWebMailFolder(); string logPath = Utils.GetLogFilePath(); intEnableLogging.Checked = settings.EnableLogging; txtPathForLog.Value = logPath; } }
protected void SubmitButton_Click(object sender, System.EventArgs e) { try { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); try { settings.MailsPerPage = short.Parse(intMailsPerPage.Value, CultureInfo.InvariantCulture); if (settings.MailsPerPage < 0) { settings.MailsPerPage = Math.Abs(settings.MailsPerPage); } } catch (Exception error) { Log.WriteException(error); } settings.DefaultSkin = txtDefaultSkin.Value; settings.DefaultLanguage = txtDefaultLanguage.Value; settings.AllowUsersChangeSkin = intAllowUsersChangeSkin.Checked; settings.AllowUsersChangeLanguage = intAllowUsersChangeLanguage.Checked; settings.ShowTextLabels = intShowTextLabels.Checked; settings.AllowDhtmlEditor = intAllowDHTMLEditor.Checked; settings.AllowContacts = intAllowContacts.Checked; settings.AllowCalendar = intAllowCalendar.Checked; ViewMode mode = ViewMode.WithoutPreviewPane; if (intRightMessagePane.Checked) { mode |= ViewMode.WithPreviewPane; } if (intAlwaysShowPictures.Checked) { mode |= ViewMode.AlwaysShowPictures; } settings.ViewMode = mode; settings.SaveWebmailSettings(AdminPanelUtils.GetWebMailDataFolder()); this.Context.Application.Remove(Constants.sessionSettings); AdminPanelUtils.SetPageReportMessage(this.Page, Constants.mailAdmSaveSuccess); } catch (Exception error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmSaveUnsuccess); } }
protected void InitData() { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); switch (settings.HideLoginMode) { case LoginMode.Default: standartLoginRadio.Checked = true; break; case LoginMode.HideLoginFieldLoginIsEmail: hideLoginRadio.Checked = true; hideLoginSelect.SelectedIndex = 0; break; case LoginMode.HideLoginFieldLoginIsAccount: hideLoginRadio.Checked = true; hideLoginSelect.SelectedIndex = 1; break; case LoginMode.HideEmailField: hideEmailRadio.Checked = true; break; case LoginMode.HideEmailFieldDisplayDomainAfterLogin: hideEmailRadio.Checked = true; intDisplayDomainAfterLoginField.Checked = true; break; case LoginMode.HideEmailFieldLoginIsLoginAndDomain: hideEmailRadio.Checked = true; intLoginAsConcatination.Checked = true; break; case LoginMode.HideEmailFieldDisplayDomainAfterLoginAndLoginIsLoginAndDomain: hideEmailRadio.Checked = true; intDisplayDomainAfterLoginField.Checked = true; intLoginAsConcatination.Checked = true; break; default: standartLoginRadio.Checked = true; break; } txtUseDomain.Value = settings.DefaultDomainOptional; intAllowAdvancedLogin.Checked = settings.AllowAdvancedLogin; intAutomaticCorrectLogin.Checked = settings.AutomaticCorrectLoginSettings; intAllowLangOnLogin.Checked = settings.AllowLanguageOnLogin; }
protected void InitData() { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); txtSiteName.Value = settings.SiteName; txtIncomingMail.Value = settings.IncomingMailServer; intIncomingMailPort.Value = settings.IncomingMailPort.ToString(CultureInfo.InvariantCulture); if (settings.IncomingMailProtocol == IncomingMailProtocol.Pop3) { intIncomingMailProtocol.SelectedIndex = 0; } else if (settings.IncomingMailProtocol == IncomingMailProtocol.Imap4) { intIncomingMailProtocol.SelectedIndex = 1; } else if (settings.IncomingMailProtocol == IncomingMailProtocol.WMServer) { intIncomingMailProtocol.SelectedIndex = 2; } txtOutgoingMail.Value = settings.OutgoingMailServer; intOutgoingMailPort.Value = settings.OutgoingMailPort.ToString(CultureInfo.InvariantCulture); intReqSmtpAuthentication.Checked = settings.ReqSmtpAuth; intAllowDirectMode.Checked = settings.AllowDirectMode; intDirectModeIsDefault.Checked = settings.DirectModeIsDefault; intAttachmentSizeLimit.Value = Math.Round((double)(settings.AttachmentSizeLimit / 1024)).ToString(CultureInfo.InvariantCulture); intEnableAttachmentSizeLimit.Checked = settings.EnableAttachmentSizeLimit; intMailboxSizeLimit.Value = Math.Round((double)(settings.MailboxSizeLimit / 1024)).ToString(CultureInfo.InvariantCulture); intEnableMailboxSizeLimit.Checked = settings.EnableMailboxSizeLimit; intAllowUsersChangeEmailSettings.Checked = settings.AllowUsersChangeEmailSettings; intAllowUsersAddNewAccounts.Checked = settings.AllowUsersAddNewAccounts; intAllowUsersChangeAccountsDef.Checked = settings.AllowUsersChangeAccountsDef; txtDefaultUserCharset.Value = settings.DefaultUserCharset.ToString(); intAllowUsersChangeCharset.Checked = settings.AllowUsersChangeCharset; if (settings.DefaultTimeZone < txtDefaultTimeZone.Items.Count) { txtDefaultTimeZone.SelectedIndex = settings.DefaultTimeZone; } intAllowUsersChangeTimeOffset.Checked = settings.AllowUsersChangeTimeZone; intTakeImapQuota.Checked = settings.TakeImapQuota; }
protected void Page_Load(object sender, System.EventArgs e) { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); divDatabase.Attributes["class"] = _selectedScreen == 1 ? "wm_selected_settings_item" : "wm_settings_item"; divCommon.Attributes["class"] = _selectedScreen == 3 ? "wm_selected_settings_item" : "wm_settings_item"; divInterface.Attributes["class"] = _selectedScreen == 4 ? "wm_selected_settings_item" : "wm_settings_item"; divLogin.Attributes["class"] = _selectedScreen == 5 ? "wm_selected_settings_item" : "wm_settings_item"; divDebug.Attributes["class"] = _selectedScreen == 6 ? "wm_selected_settings_item" : "wm_settings_item"; if (settings.EnableWmServer) { divServer.Attributes["class"] = _selectedScreen == 8 ? "wm_selected_settings_item" : "wm_settings_item"; } else { divServer.Visible = false; } }
protected void SaveButton_Click(object sender, System.EventArgs e) { try { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); settings.EnableLogging = intEnableLogging.Checked; settings.SaveWebmailSettings(AdminPanelUtils.GetWebMailDataFolder()); this.Context.Application.Remove(Constants.sessionSettings); AdminPanelUtils.SetPageReportMessage(this.Page, Constants.mailAdmSaveSuccess); } catch (Exception error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmSaveUnsuccess); } }
public bool CheckDB() { bool result = true; if (Plugin.IsPluginExist(AdminPanelConstants.PluginName.WebMail, (Page as DefaultPage).Settings) || Plugin.IsPluginExist(AdminPanelConstants.PluginName.WebMailLite, (Page as DefaultPage).Settings)) { WebmailSettings wmSettings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); if (!wmSettings.UseCustomConnectionString) { switch (wmSettings.DbType) { case SupportedDatabase.MsSqlServer: case SupportedDatabase.MySql: if (string.IsNullOrEmpty(wmSettings.DbDsn.Trim())) { if (string.IsNullOrEmpty(wmSettings.DbLogin.Trim())) { result = false; } } break; case SupportedDatabase.MsAccess: if (string.IsNullOrEmpty(wmSettings.DbPathToMdb.Trim())) { result = false; } break; } } else { if (string.IsNullOrEmpty(wmSettings.DbCustomConnectionString.Trim())) { result = false; } } } return(result); }
protected void InitData() { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); intMailsPerPage.Value = settings.MailsPerPage.ToString(CultureInfo.InvariantCulture); string[] supportedSkins = AdminPanelUtils.GetSupportedSkins(AdminPanelUtils.GetWebMailFolder()); for (int i = 0; i < supportedSkins.Length; i++) { txtDefaultSkin.Items.Add(supportedSkins[i]); if (string.Compare(supportedSkins[i], settings.DefaultSkin, true, CultureInfo.InvariantCulture) == 0) { txtDefaultSkin.SelectedIndex = i; } } string[] supportedLangs = AdminPanelUtils.GetSupportedLangs(AdminPanelUtils.GetWebMailDataFolder()); for (int i = 0; i < supportedLangs.Length; i++) { txtDefaultLanguage.Items.Add(supportedLangs[i]); if (string.Compare(supportedLangs[i], settings.DefaultLanguage, true, CultureInfo.InvariantCulture) == 0) { txtDefaultLanguage.SelectedIndex = i; } } intAllowUsersChangeSkin.Checked = settings.AllowUsersChangeSkin; intAllowUsersChangeLanguage.Checked = settings.AllowUsersChangeLanguage; intShowTextLabels.Checked = settings.ShowTextLabels; intAllowDHTMLEditor.Checked = settings.AllowDhtmlEditor; intAllowContacts.Checked = settings.AllowContacts; intAllowCalendar.Checked = settings.AllowCalendar; intRightMessagePane.Checked = ((settings.ViewMode & ViewMode.WithPreviewPane) > 0) ? true : false; intAlwaysShowPictures.Checked = ((settings.ViewMode & ViewMode.AlwaysShowPictures) > 0) ? true : false; }
protected void create_tables_Click(object sender, System.EventArgs e) { bool errorFlag = false; Save(); Session["TrySqlPassword"] = txtSqlPassword.Text; txtSqlPassword.Attributes.Add("Value", txtSqlPassword.Text); WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); string prefix = settings.DbPrefix; string[] dbTablesName = new string[] { }; string[] tablesNames = new string[] { /* WebMail Tables */ Constants.TablesNames.a_users, Constants.TablesNames.awm_accounts, Constants.TablesNames.awm_addr_book, Constants.TablesNames.awm_addr_groups, Constants.TablesNames.awm_addr_groups_contacts, Constants.TablesNames.awm_columns, Constants.TablesNames.awm_filters, Constants.TablesNames.awm_folders, Constants.TablesNames.awm_folders_tree, Constants.TablesNames.awm_messages, Constants.TablesNames.awm_messages_body, Constants.TablesNames.awm_reads, Constants.TablesNames.awm_senders, Constants.TablesNames.awm_settings, Constants.TablesNames.awm_domains, Constants.TablesNames.awm_temp }; bool isTableExist = false; Utils.SettingsPath = AdminPanelUtils.GetWebMailFolder(); DbStorage storage = DbStorageCreator.CreateDatabaseStorage(null, AdminPanelUtils.GetWebMailDataFolder()); try { storage.Connect(); dbTablesName = storage.GetTablesNames(); } catch (WebMailDatabaseException error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmTablesNotCreated); errorFlag = true; } finally { storage.Disconnect(); } for (int i = 0; i < dbTablesName.Length; i++) { string dbTable = dbTablesName[i]; foreach (string name in tablesNames) { if (string.Compare(dbTable, string.Format("{0}{1}", prefix, name), true, CultureInfo.InvariantCulture) == 0) { isTableExist = true; break; } } if (isTableExist) { break; } } if (isTableExist) { AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmTablesExists); errorFlag = true; } else { try { storage.Connect(); foreach (string name in tablesNames) { try { storage.CreateTable(name, prefix); } catch (WebMailDatabaseException error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmTablesNotCreated); errorFlag = true; } } } catch (WebMailDatabaseException error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmTablesNotCreated); errorFlag = true; } finally { storage.Disconnect(); } if (!errorFlag) { AdminPanelUtils.SetPageReportMessage(this.Page, Constants.mailAdmTablesCreated); } } InitControl(); }
protected void test_connection_Click(object sender, System.EventArgs e) { Utils.SettingsPath = AdminPanelUtils.GetWebMailFolder(); DbManager dbMan = null; string connectionString = string.Empty; SupportedDatabase dbType = SupportedDatabase.MsSqlServer; if (intDbTypeMsAccess.Checked) { dbMan = new MsAccessDbManager(); dbType = SupportedDatabase.MsAccess; } else if (intDbTypeMySql.Checked) { dbMan = new MySqlDbManager(); dbType = SupportedDatabase.MySql; } else { dbMan = new MsSqlDbManager(); dbType = SupportedDatabase.MsSqlServer; } WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); txtSqlPassword.Text = Request[txtSqlPassword.UniqueID] ?? settings.DbPassword; txtSqlLogin.Value = Request[txtSqlLogin.UniqueID] ?? settings.DbLogin; txtSqlName.Value = Request[txtSqlName.UniqueID] ?? settings.DbName; txtSqlDsn.Value = Request[txtSqlDsn.UniqueID] ?? settings.DbDsn; txtSqlSrc.Value = Request[txtSqlSrc.UniqueID] ?? settings.DbHost; txtAccessFile.Value = Request[txtAccessFile.UniqueID] ?? settings.DbPathToMdb; odbcConnectionString.Value = Request[odbcConnectionString.UniqueID] ?? settings.DbCustomConnectionString; useCS.Checked = (Request[useCS.UniqueID] != null) ? true : settings.UseCustomConnectionString; useDSN.Checked = (Request[useDSN.UniqueID] != null) ? true : settings.UseDSN; Session["TrySqlPassword"] = txtSqlPassword.Text; txtSqlPassword.Attributes.Add("Value", txtSqlPassword.Text); string dsn = txtSqlDsn.Value; if (!useDSN.Checked) { dsn = string.Empty; } connectionString = DbManager.CreateConnectionString(useCS.Checked, odbcConnectionString.Value, dsn, dbType, txtAccessFile.Value, txtSqlLogin.Value, txtSqlPassword.Text, txtSqlName.Value, txtSqlSrc.Value); try { dbMan.Connect(connectionString); AdminPanelUtils.SetPageReportMessage(this.Page, Constants.mailAdmConnectSuccess); } catch (WebMailDatabaseException error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmConnectUnsuccess); } finally { dbMan.Disconnect(); } }
public DataTable LoadDomains() { DomainCollection domColl = null; XMDomainCollection xmDomains = new XMDomainCollection(); DataTable domTable = new DataTable(); domTable.Columns.Add("id", typeof(string)); domTable.Columns.Add("name", typeof(string)); domTable.Columns.Add("type", typeof(string)); // xmail if (_isServerExist && AdminPanelUtils.IsSuperAdmin(Page.Session, (Page as DefaultPage).Settings)) { xmDomains = XMDomain.GetDomains(); XMDomainCollection xmDomsCust = XMDomain.GetCustomDomainins(); xmDomains.Add(xmDomsCust); } // webmail if (_isWebMailExist) { try { if (AdminPanelUtils.IsSuperAdmin(Page.Session, (Page as DefaultPage).Settings)) { if (_isServerExist) { domColl = Domain.GetDomains(); } else { domColl = Domain.GetDomains(new short[] { (short)IncomingMailProtocol.Pop3, (short)IncomingMailProtocol.Imap4 }); } } else { domColl = Subadmin.GetDomains(adminID); } foreach (XMDomain xmDom in xmDomains) { Domain dom = domColl.GetItem(xmDom.Name); if (dom == null) { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(); Domain new_dom = new Domain(0, xmDom.Name, IncomingMailProtocol.WMServer, settings.WmServerHost, 143, settings.WmServerHost, settings.XMailSmtpPort, false); new_dom.Save(); xmDom.Type = AdminPanelConstants.UserType.xma; } } foreach (Domain dom in domColl) { XMDomain xmDomain = xmDomains.GetItem(dom.Name); if (xmDomain != null) { xmDomains.Remove(xmDomain); xmDomains.Add(new XMDomain(dom.Name, dom.Name, dom.MailIncomingProtocol == IncomingMailProtocol.WMServer ? AdminPanelConstants.UserType.xma : AdminPanelConstants.UserType.wm)); } else { xmDomains.Add(new XMDomain(dom.Name, dom.Name, dom.MailIncomingProtocol == IncomingMailProtocol.WMServer ? AdminPanelConstants.UserType.xma : AdminPanelConstants.UserType.wm)); if (_isServerExist && dom.MailIncomingProtocol == IncomingMailProtocol.WMServer) { XMDomain.AddDomain(dom.Name); } } } foreach (XMDomain xmDomain in xmDomains) { domTable.Rows.Add(xmDomain.Name, xmDomain.Name, xmDomain.Type); } } catch (Exception ex) { AdminPanelUtils.SetPageErrorMessage(this.Page, (ex.InnerException != null ? ex.InnerException.Message : ex.Message)); Log.WriteException(ex); } } return(domTable); }
protected void SaveButton_Click(object sender, System.EventArgs e) { try { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); settings.SiteName = txtSiteName.Value; settings.IncomingMailServer = txtIncomingMail.Value; try { settings.IncomingMailPort = int.Parse(intIncomingMailPort.Value, CultureInfo.InvariantCulture); } catch (Exception ex) { Log.WriteException(ex); AdminPanelUtils.SetPageReportMessage(this.Page, ex.Message); } switch (intIncomingMailProtocol.Value.ToLower(CultureInfo.InvariantCulture)) { case "pop3": settings.IncomingMailProtocol = IncomingMailProtocol.Pop3; break; case "imap4": settings.IncomingMailProtocol = IncomingMailProtocol.Imap4; break; case "xmail": settings.IncomingMailProtocol = IncomingMailProtocol.WMServer; break; } settings.OutgoingMailServer = txtOutgoingMail.Value; try { settings.OutgoingMailPort = int.Parse(intOutgoingMailPort.Value, CultureInfo.InvariantCulture); } catch (Exception ex) { Log.WriteException(ex); AdminPanelUtils.SetPageReportMessage(this.Page, ex.Message); } settings.ReqSmtpAuth = intReqSmtpAuthentication.Checked; settings.AllowDirectMode = intAllowDirectMode.Checked; settings.DirectModeIsDefault = intDirectModeIsDefault.Checked; try { settings.AttachmentSizeLimit = long.Parse(intAttachmentSizeLimit.Value, CultureInfo.InvariantCulture) * 1024; } catch (Exception ex) { Log.WriteException(ex); AdminPanelUtils.SetPageReportMessage(this.Page, ex.Message); } settings.EnableAttachmentSizeLimit = intEnableAttachmentSizeLimit.Checked; try { settings.MailboxSizeLimit = long.Parse(intMailboxSizeLimit.Value, CultureInfo.InvariantCulture) * 1024; } catch (Exception ex) { Log.WriteException(ex); AdminPanelUtils.SetPageReportMessage(this.Page, ex.Message); } settings.EnableMailboxSizeLimit = intEnableMailboxSizeLimit.Checked; settings.AllowUsersChangeEmailSettings = intAllowUsersChangeEmailSettings.Checked; settings.AllowUsersAddNewAccounts = intAllowUsersAddNewAccounts.Checked; settings.AllowUsersChangeAccountsDef = intAllowUsersChangeAccountsDef.Checked; try { settings.DefaultUserCharset = int.Parse(txtDefaultUserCharset.Value, CultureInfo.InvariantCulture); } catch (Exception ex) { Log.WriteException(ex); AdminPanelUtils.SetPageReportMessage(this.Page, ex.Message); } settings.AllowUsersChangeCharset = intAllowUsersChangeCharset.Checked; settings.DefaultTimeZone = (short)txtDefaultTimeZone.SelectedIndex; settings.AllowUsersChangeTimeZone = intAllowUsersChangeTimeOffset.Checked; settings.TakeImapQuota = intTakeImapQuota.Checked; settings.SaveWebmailSettings(AdminPanelUtils.GetWebMailDataFolder()); this.Context.Application.Remove(Constants.sessionSettings); AdminPanelUtils.SetPageReportMessage(this.Page, Constants.mailAdmSaveSuccess); } catch (Exception error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmSaveUnsuccess); } }