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 ClearLogButton_ServerClick(object sender, System.EventArgs e) { try { Utils.ClearLog(); AdminPanelUtils.SetPageReportMessage(this.Page, Constants.mailAdmLogClearSuccess); } catch (Exception error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmLogClearUnsuccess); } }
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); } }
public static void ShowReportAndReportMessages(Page page) { string _PageReportMessage = (AdminPanelUtils.LoadState("SessPageReportMessage", page.Session) != null) ? AdminPanelUtils.LoadState("SessPageReportMessage", page.Session).ToString() : null; string _PageErrorMessage = (AdminPanelUtils.LoadState("SessPageErrorMessage", page.Session) != null) ? AdminPanelUtils.LoadState("SessPageErrorMessage", page.Session).ToString() : null; if (_PageReportMessage != null) { AdminPanelUtils.SetPageReportMessage(page, _PageReportMessage); AdminPanelUtils.SaveState("SessPageReportMessage", null, page.Session); } if (_PageErrorMessage != null) { AdminPanelUtils.SetPageErrorMessage(page, _PageErrorMessage); AdminPanelUtils.SaveState("SessPageErrorMessage", null, page.Session); } }
public void SaveSettings(object sender, System.EventArgs e) { if (txtPassword.Text.Trim() != AdminPanelConstants.DummyPassword) { apSettings.Pass = txtPassword.Text; } try { apSettings.Save(); AdminPanelUtils.SetPageReportMessage(Page, "Settings are successfully saved!"); Response.Redirect("install.aspx?mode=connection", true); } catch (Exception ex) { Log.WriteException(ex); AdminPanelUtils.SetPageErrorMessage(Page, (ex.InnerException != null ? ex.InnerException.Message : ex.Message)); } }
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); } }
protected void save_ServerClick(object sender, EventArgs e) { try { Context.Application.Remove(Constants.sessionSettings); WebmailSettings settings = new WebmailSettings().CreateInstance(AdminPanelUtils.GetWebMailDataFolder()); settings.WmServerRootPath = txtWmServerRootPath.Value; settings.WmServerHost = txtWmServerHostName.Value; settings.WmAllowManageXMailAccounts = intWmAllowManageXMailAccounts.Checked; if (!settings.EnableWmServer) { settings.SaveWebmailSettings(AdminPanelUtils.GetWebMailDataFolder()); AdminPanelUtils.SetPageReportMessage(this.Page, Constants.mailAdmSaveSuccess); } else if (txtWmServerRootPath.Value.Length > 0) { string fullPath = Path.Combine(txtWmServerRootPath.Value, "domains"); if (!Directory.Exists(fullPath)) { throw new WebMailIOException(string.Format(@"Server Root Path '{0}' incorrect.", AdminPanelUtils.EncodeHtml(fullPath))); } Utils.SettingsPath = AdminPanelUtils.GetWebMailFolder(); WMServerStorage storage = new WMServerStorage(txtWmServerHostName.Value, null); storage.GetDomainList(); // test command settings.SaveWebmailSettings(AdminPanelUtils.GetWebMailDataFolder()); this.Context.Application.Remove(Constants.sessionSettings); AdminPanelUtils.SetPageReportMessage(this.Page, Constants.mailAdmSaveSuccess); } else { throw new WebMailIOException(@"Server Root Path not set."); } } catch (Exception ex) { Log.WriteException(ex); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmSaveUnsuccess + "<br /> Error:" + ex.Message); } }
public void SaveSettings(object sender, System.EventArgs e) { bool flag = false; this.Context.Application.Remove(AdminPanelConstants.serverSettings); this.Context.Application.Remove(Constants.sessionSettings); string adminpanelxml = Path.Combine(AdminPanelUtils.GetAdminPanelDataFolderPath(), @"adminpanel.xml"); bool isAdminpanelxmlWrite = false; FileStream fs; try { fs = File.Open(adminpanelxml, FileMode.Open, FileAccess.Write); fs.Close(); isAdminpanelxmlWrite = true; } catch (UnauthorizedAccessException) { isAdminpanelxmlWrite = false; } if (isAdminpanelxmlWrite) { if (txtSecurityPassword.Text.Trim() != AdminPanelConstants.DummyPassword) { if (_isServerExist) { try { if (AdminPanelControlAccounts.IsControlAccountExist(UserName)) { AdminPanelControlAccounts.SetControlAccountPassword(UserName, txtSecurityPassword.Text); } else { AdminPanelControlAccounts.AdminPanelControlAccount ca = new AdminPanelControlAccounts.AdminPanelControlAccount(); ca.Name = UserName; ca.Password = txtSecurityPassword.Text; AdminPanelControlAccounts.AddControlAccount(ca); } flag = true; } catch (Exception ex) { flag = false; AdminPanelUtils.SetPageErrorMessage(Page, ex.Message); } if (flag) { apSettings.Pass = txtSecurityPassword.Text; } } else { apSettings.Pass = txtSecurityPassword.Text; } } if (_isServerExist) { apSettings.Host = txtHost.Value; apSettings.Port = txtPort.Value; } try { apSettings.Save(); AdminPanelUtils.SetPageReportMessage(Page, "Settings are successfully saved!"); } catch (Exception ex) { AdminPanelUtils.SetPageErrorMessage(Page, ex.Message); } } else { AdminPanelUtils.SetPageErrorMessage(Page, "Failed to access \"adminpanel.xml\" config file."); } }
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(); } }
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); } }