コード例 #1
0
    public static bool IsControlAccountExist(string Name)
    {
        List <AdminPanelControlAccount> cAccounts = new List <AdminPanelControlAccount>();
        bool result = false;

        try
        {
            cAccounts = AdminPanelControlAccounts.GetControlAccounts();
            foreach (AdminPanelControlAccount ca in cAccounts)
            {
                if (ca.Name != Name)
                {
                    continue;
                }
                result = true;
                break;
            }
        }
        catch (Exception error)
        {
            Log.WriteException(error);
            throw new WebMail.WebMailException(error);
        }
        return(result);
    }
コード例 #2
0
    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.");
        }
    }