Ejemplo n.º 1
0
/**
 * Check correction of input data
 * @param EasySCP_TemplateEngine $tpl
 */
function check_data_iscorrect($tpl)
{
    global $hp_name, $hp_php, $hp_phpe, $hp_cgi, $hp_ssl;
    global $hp_sub, $hp_als, $hp_mail;
    global $hp_ftp, $hp_sql_db, $hp_sql_user;
    global $hp_traff, $hp_disk, $hp_countbackup;
    global $hpid;
    global $price, $setup_fee;
    global $hp_backup, $hp_dns;
    $ahp_error = array();
    $hp_name = clean_input($_POST['hp_name']);
    $hp_sub = clean_input($_POST['hp_sub']);
    $hp_als = clean_input($_POST['hp_als']);
    $hp_mail = clean_input($_POST['hp_mail']);
    $hp_ftp = clean_input($_POST['hp_ftp']);
    $hp_sql_db = clean_input($_POST['hp_sql_db']);
    $hp_sql_user = clean_input($_POST['hp_sql_user']);
    $hp_traff = clean_input($_POST['hp_traff']);
    $hp_disk = clean_input($_POST['hp_disk']);
    $price = clean_input($_POST['hp_price']);
    $setup_fee = clean_input($_POST['hp_setupfee']);
    if (isset($_SESSION['hpid'])) {
        $hpid = $_SESSION['hpid'];
    } else {
        $ahp_error[] = tr('Undefined reference to data!');
    }
    // put hosting plan id into session value
    $_SESSION['hpid'] = $hpid;
    // Get values from previous page and check him correction
    if (isset($_POST['php'])) {
        $hp_php = $_POST['php'];
    }
    if (isset($_POST['php_edit'])) {
        $hp_phpe = $_POST['php_edit'];
    }
    if (isset($_POST['cgi'])) {
        $hp_cgi = $_POST['cgi'];
    }
    if (isset($_POST['ssl'])) {
        $hp_ssl = $_POST['ssl'];
    }
    if (isset($_POST['dns'])) {
        $hp_dns = $_POST['dns'];
    }
    if (isset($_POST['backup'])) {
        $hp_backup = $_POST['backup'];
    }
    if (isset($_POST['countbackup'])) {
        $hp_countbackup = $_POST['countbackup'];
    }
    list($rsub_max, $rals_max, $rmail_max, $rftp_max, $rsql_db_max, $rsql_user_max) = check_reseller_permissions($_SESSION['user_id'], 'all_permissions');
    if ($rsub_max == "-1") {
        $hp_sub = "-1";
    } elseif (!easyscp_limit_check($hp_sub, -1)) {
        $ahp_error[] = tr('Incorrect subdomains limit!');
    }
    if ($rals_max == "-1") {
        $hp_als = "-1";
    } elseif (!easyscp_limit_check($hp_als, -1)) {
        $ahp_error[] = tr('Incorrect aliases limit!');
    }
    if ($rmail_max == "-1") {
        $hp_mail = "-1";
    } elseif (!easyscp_limit_check($hp_mail, -1)) {
        $ahp_error[] = tr('Incorrect mail accounts limit!');
    }
    if ($rftp_max == "-1") {
        $hp_ftp = "-1";
    } elseif (!easyscp_limit_check($hp_ftp, -1)) {
        $ahp_error[] = tr('Incorrect FTP accounts limit!');
    }
    if ($rsql_db_max == "-1") {
        $hp_sql_db = "-1";
    } elseif (!easyscp_limit_check($hp_sql_db, -1)) {
        $ahp_error[] = tr('Incorrect SQL users limit!');
    } else {
        if ($hp_sql_db == -1 && $hp_sql_user != -1) {
            $ahp_error[] = tr('SQL databases limit is <em>disabled</em>!');
        }
    }
    if ($rsql_user_max == "-1") {
        $hp_sql_user = "******";
    } elseif (!easyscp_limit_check($hp_sql_user, -1)) {
        $ahp_error[] = tr('Incorrect SQL databases limit!');
    } else {
        if ($hp_sql_user == -1 && $hp_sql_db != -1) {
            $ahp_error[] = tr('SQL users limit is <em>disabled</em>!');
        }
    }
    if (!easyscp_limit_check($hp_traff, null)) {
        $ahp_error[] = tr('Incorrect traffic limit!');
    }
    if (!easyscp_limit_check($hp_disk, null)) {
        $ahp_error[] = tr('Incorrect disk quota limit!');
    }
    if (!is_numeric($price)) {
        $ahp_error[] = tr('Price must be a number!');
    }
    if (!is_numeric($setup_fee)) {
        $ahp_error[] = tr('Setup fee must be a number!');
    }
    if (empty($ahp_error)) {
        return true;
    } else {
        set_page_message(format_message($ahp_error), 'error');
        return false;
    }
}
Ejemplo n.º 2
0
/**
 * Check input data
 * @param int $reseller_id
 * @param int $user_id
 */
function check_user_data($reseller_id, $user_id)
{
    $sql = EasySCP_Registry::get('Db');
    global $sub, $als, $mail, $ftp, $sql_db, $sql_user, $traff, $disk, $domain_php, $domain_php_edit, $domain_cgi, $domain_ssl, $allowbackup, $domain_dns, $domain_expires, $countbackup;
    $domain_expires_date = isset($_POST['dmn_expire_date']) ? clean_input($_POST['dmn_expire_date']) : 0;
    $domain_expires_never = isset($_POST['dmn_expire_never']) ? $_POST['dmn_expire_never'] : "off";
    $sub = clean_input($_POST['dom_sub']);
    $als = clean_input($_POST['dom_alias']);
    $mail = clean_input($_POST['dom_mail_acCount']);
    $ftp = clean_input($_POST['dom_ftp_acCounts']);
    $sql_db = clean_input($_POST['dom_sqldb']);
    $sql_user = clean_input($_POST['dom_sql_users']);
    $traff = clean_input($_POST['dom_traffic']);
    $disk = clean_input($_POST['dom_disk']);
    // $domain_ip = $_POST['domain_ip'];
    $domain_php = preg_replace("/\\_/", "", $_POST['domain_php']);
    $domain_php_edit = preg_replace("/\\_/", "", $_POST['domain_php_edit']);
    $domain_cgi = preg_replace("/\\_/", "", $_POST['domain_cgi']);
    $domain_ssl = preg_replace("/\\_/", "", $_POST['domain_ssl']);
    $domain_dns = preg_replace("/\\_/", "", $_POST['domain_dns']);
    $allowbackup = preg_replace("/\\_/", "", $_POST['backup']);
    $countbackup = preg_replace("/\\_/", "", $_POST['countbackup']);
    $ed_error = '';
    list($rsub_max, $rals_max, $rmail_max, $rftp_max, $rsql_db_max, $rsql_user_max) = check_reseller_permissions($_SESSION['user_id'], 'all_permissions');
    if ($rsub_max == "-1") {
        $sub = "-1";
    } elseif (!easyscp_limit_check($sub, -1)) {
        $ed_error .= tr('Incorrect subdomains limit!');
    }
    if ($rals_max == "-1") {
        $als = "-1";
    } elseif (!easyscp_limit_check($als, -1)) {
        $ed_error .= tr('Incorrect aliases limit!');
    }
    if ($rmail_max == "-1") {
        $mail = "-1";
    } elseif (!easyscp_limit_check($mail, -1)) {
        $ed_error .= tr('Incorrect mail accounts limit!');
    }
    if ($rftp_max == "-1") {
        $ftp = "-1";
    } elseif (!easyscp_limit_check($ftp, -1)) {
        $ed_error .= tr('Incorrect FTP accounts limit!');
    }
    if ($rsql_db_max == "-1") {
        $sql_db = "-1";
    } elseif (!easyscp_limit_check($sql_db, -1)) {
        $ed_error .= tr('Incorrect SQL users limit!');
    } else {
        if ($sql_db == -1 && $sql_user != -1) {
            $ed_error .= tr('SQL databases limit is <em>disabled</em>!');
        }
    }
    if ($rsql_user_max == "-1") {
        $sql_user = "******";
    } elseif (!easyscp_limit_check($sql_user, -1)) {
        $ed_error .= tr('Incorrect SQL databases limit!');
    } else {
        if ($sql_user == -1 && $sql_db != -1) {
            $ed_error .= tr('SQL users limit is <em>disabled</em>!');
        }
    }
    if (!easyscp_limit_check($traff, null)) {
        $ed_error .= tr('Incorrect traffic limit!');
    }
    if (!easyscp_limit_check($disk, null)) {
        $ed_error .= tr('Incorrect disk quota limit!');
    }
    list($usub_current, $usub_max, $uals_current, $uals_max, $umail_current, $umail_max, $uftp_current, $uftp_max, $usql_db_current, $usql_db_max, $usql_user_current, $usql_user_max, $utraff_max, $udisk_max) = generate_user_props($user_id);
    $previous_utraff_max = $utraff_max;
    list($rdmn_current, $rdmn_max, $rsub_current, $rsub_max, $rals_current, $rals_max, $rmail_current, $rmail_max, $rftp_current, $rftp_max, $rsql_db_current, $rsql_db_max, $rsql_user_current, $rsql_user_max, $rtraff_current, $rtraff_max, $rdisk_current, $rdisk_max) = get_reseller_default_props($sql, $reseller_id);
    list(, , , , , , $utraff_current, $udisk_current) = generate_user_traffic($user_id);
    if (empty($ed_error)) {
        calculate_user_dvals($sub, $usub_current, $usub_max, $rsub_current, $rsub_max, $ed_error, tr('Subdomain'));
        calculate_user_dvals($als, $uals_current, $uals_max, $rals_current, $rals_max, $ed_error, tr('Alias'));
        calculate_user_dvals($mail, $umail_current, $umail_max, $rmail_current, $rmail_max, $ed_error, tr('Mail'));
        calculate_user_dvals($ftp, $uftp_current, $uftp_max, $rftp_current, $rftp_max, $ed_error, tr('FTP'));
        calculate_user_dvals($sql_db, $usql_db_current, $usql_db_max, $rsql_db_current, $rsql_db_max, $ed_error, tr('SQL Database'));
    }
    if (empty($ed_error)) {
        $query = "\n\t\t\tSELECT\n\t\t\t\tCOUNT(distinct su.sqlu_name) AS cnt\n\t\t\tFROM\n\t\t\t\t`sql_user` AS su,\n\t\t\t\t`sql_database` AS sd\n\t\t\tWHERE\n\t\t\t\tsu.`sqld_id` = sd.`sqld_id`\n\t\t\tAND\n\t\t\t\tsd.`domain_id` = ?\n\t\t;";
        $rs = exec_query($sql, $query, $_SESSION['edit_id']);
        calculate_user_dvals($sql_user, $rs->fields['cnt'], $usql_user_max, $rsql_user_current, $rsql_user_max, $ed_error, tr('SQL User'));
    }
    if (empty($ed_error)) {
        calculate_user_dvals($traff, $utraff_current / 1024 / 1024, $utraff_max, $rtraff_current, $rtraff_max, $ed_error, tr('Traffic'));
        calculate_user_dvals($disk, $udisk_current / 1024 / 1024, $udisk_max, $rdisk_current, $rdisk_max, $ed_error, tr('Disk'));
    }
    if (empty($ed_error)) {
        // Set domains status to 'change' to update mod_cband's limit
        if ($previous_utraff_max != $utraff_max) {
            $query = "UPDATE `domain` SET `status` = 'change' WHERE `domain_id` = ?";
            exec_query($sql, $query, $user_id);
            $query = "UPDATE `subdomain` SET `status` = 'change' WHERE `domain_id` = ?";
            exec_query($sql, $query, $user_id);
            send_request('110 DOMAIN domain ' . $user_id);
        }
        $user_props = "{$usub_current};{$usub_max};";
        $user_props .= "{$uals_current};{$uals_max};";
        $user_props .= "{$umail_current};{$umail_max};";
        $user_props .= "{$uftp_current};{$uftp_max};";
        $user_props .= "{$usql_db_current};{$usql_db_max};";
        $user_props .= "{$usql_user_current};{$usql_user_max};";
        $user_props .= "{$utraff_max};";
        $user_props .= "{$udisk_max};";
        // $user_props .= "$domain_ip;";
        $user_props .= "{$domain_php};";
        $user_props .= "{$domain_php_edit};";
        $user_props .= "{$domain_cgi};";
        $user_props .= "{$domain_ssl};";
        $user_props .= "{$allowbackup};";
        $user_props .= "{$domain_dns};";
        $user_props .= "{$countbackup}";
        update_user_props($user_id, $user_props);
        $domain_expires = $_SESSION['domain_expires'];
        // Set domain expire date
        if ($domain_expires_never != "on") {
            $domain_expires = strtotime($domain_expires_date);
        } else {
            $domain_expires = "0";
        }
        update_expire_date($user_id, $domain_expires);
        $reseller_props = "{$rdmn_current};{$rdmn_max};";
        $reseller_props .= "{$rsub_current};{$rsub_max};";
        $reseller_props .= "{$rals_current};{$rals_max};";
        $reseller_props .= "{$rmail_current};{$rmail_max};";
        $reseller_props .= "{$rftp_current};{$rftp_max};";
        $reseller_props .= "{$rsql_db_current};{$rsql_db_max};";
        $reseller_props .= "{$rsql_user_current};{$rsql_user_max};";
        $reseller_props .= "{$rtraff_current};{$rtraff_max};";
        $reseller_props .= "{$rdisk_current};{$rdisk_max}";
        if (!update_reseller_props($reseller_id, $reseller_props)) {
            set_page_message(tr('Domain properties could not be updated!'), 'error');
            return false;
        }
        // Backup Settings
        $query = "UPDATE `domain` SET `allowbackup` = ? WHERE `domain_id` = ?";
        exec_query($sql, $query, array($allowbackup, $user_id));
        // update the sql quotas, too
        $query = "SELECT `domain_name` FROM `domain` WHERE `domain_id` = ?";
        $rs = exec_query($sql, $query, array($user_id));
        $temp_dmn_name = $rs->fields['domain_name'];
        $query = "SELECT COUNT(`name`) AS cnt FROM `quotalimits` WHERE `name` = ?";
        $rs = exec_query($sql, $query, $temp_dmn_name);
        if ($rs->fields['cnt'] > 0) {
            // we need to update it
            if ($disk == 0) {
                $dlim = 0;
            } else {
                $dlim = $disk * 1024 * 1024;
            }
            $query = "UPDATE `quotalimits` SET `bytes_in_avail` = ? WHERE `name` = ?";
            exec_query($sql, $query, array($dlim, $temp_dmn_name));
        }
        set_page_message(tr('Domain properties updated successfully!'), 'success');
        return true;
    } else {
        set_page_message($ed_error, 'error');
        return false;
    }
}
Ejemplo n.º 3
0
/**
 * Check validity of input data
 */
function check_user_data()
{
    global $hp_name, $hp_php, $hp_phpe, $hp_cgi, $hp_ssl;
    global $hp_sub, $hp_als, $hp_mail;
    global $hp_ftp, $hp_sql_db, $hp_sql_user;
    global $hp_traff, $hp_disk, $hp_countbackup, $hp_dmn, $hp_backup, $hp_dns;
    //$sql = EasySCP_Registry::get('Db');
    $ehp_error = array();
    // Get data for fields from previous page
    if (isset($_POST['template'])) {
        $hp_name = $_POST['template'];
    }
    if (isset($_POST['nreseller_max_domain_cnt'])) {
        $hp_dmn = clean_input($_POST['nreseller_max_domain_cnt']);
    }
    if (isset($_POST['nreseller_max_subdomain_cnt'])) {
        $hp_sub = clean_input($_POST['nreseller_max_subdomain_cnt']);
    }
    if (isset($_POST['nreseller_max_alias_cnt'])) {
        $hp_als = clean_input($_POST['nreseller_max_alias_cnt']);
    }
    if (isset($_POST['nreseller_max_mail_cnt'])) {
        $hp_mail = clean_input($_POST['nreseller_max_mail_cnt']);
    }
    if (isset($_POST['nreseller_max_ftp_cnt']) || $hp_ftp == -1) {
        $hp_ftp = clean_input($_POST['nreseller_max_ftp_cnt']);
    }
    if (isset($_POST['nreseller_max_sql_db_cnt'])) {
        $hp_sql_db = clean_input($_POST['nreseller_max_sql_db_cnt']);
    }
    if (isset($_POST['nreseller_max_sql_user_cnt'])) {
        $hp_sql_user = clean_input($_POST['nreseller_max_sql_user_cnt']);
    }
    if (isset($_POST['nreseller_max_traffic'])) {
        $hp_traff = clean_input($_POST['nreseller_max_traffic']);
    }
    if (isset($_POST['nreseller_max_disk'])) {
        $hp_disk = clean_input($_POST['nreseller_max_disk']);
    }
    if (isset($_POST['php'])) {
        $hp_php = $_POST['php'];
    }
    if (isset($_POST['php_edit'])) {
        $hp_phpe = $_POST['php_edit'];
    }
    if (isset($_POST['cgi'])) {
        $hp_cgi = $_POST['cgi'];
    }
    if (isset($_POST['ssl'])) {
        $hp_ssl = $_POST['ssl'];
    }
    if (isset($_POST['backup'])) {
        $hp_backup = $_POST['backup'];
    }
    if (isset($_POST['countbackup'])) {
        $hp_countbackup = $_POST['countbackup'];
    }
    if (isset($_POST['dns'])) {
        $hp_dns = $_POST['dns'];
    }
    // Begin checking...
    list($rsub_max, $rals_max, $rmail_max, $rftp_max, $rsql_db_max, $rsql_user_max) = check_reseller_permissions($_SESSION['user_id'], 'all_permissions');
    if ($rsub_max == "-1") {
        $hp_sub = "-1";
    } elseif (!easyscp_limit_check($hp_sub, -1)) {
        $ehp_error[] = tr('Incorrect subdomains limit!');
    }
    if ($rals_max == "-1") {
        $hp_als = "-1";
    } elseif (!easyscp_limit_check($hp_als, -1)) {
        $ehp_error[] = tr('Incorrect aliases limit!');
    }
    if ($rmail_max == "-1") {
        $hp_mail = "-1";
    } elseif (!easyscp_limit_check($hp_mail, -1)) {
        $ehp_error[] = tr('Incorrect mail accounts limit!');
    }
    if ($rftp_max == "-1") {
        $hp_ftp = "-1";
    } elseif (!easyscp_limit_check($hp_ftp, -1)) {
        $ehp_error[] = tr('Incorrect FTP accounts limit!');
    }
    if ($rsql_db_max == "-1") {
        $hp_sql_db = "-1";
    } elseif (!easyscp_limit_check($hp_sql_db, -1)) {
        $ehp_error[] = tr('Incorrect SQL databases limit!');
    } else {
        if ($hp_sql_user != -1 && $hp_sql_db == -1) {
            $ehp_error[] = tr('SQL users limit is <em>disabled</em>!');
        }
    }
    if ($rsql_user_max == "-1") {
        $hp_sql_user = "******";
    } elseif (!easyscp_limit_check($hp_sql_user, -1)) {
        $ehp_error[] = tr('Incorrect SQL users limit!');
    } else {
        if ($hp_sql_user == -1 && $hp_sql_db != -1) {
            $ehp_error[] = tr('SQL databases limit is not <em>disabled</em>!');
        }
    }
    if (!easyscp_limit_check($hp_traff, null)) {
        $ehp_error[] = tr('Incorrect traffic limit!');
    }
    if (!easyscp_limit_check($hp_disk, null)) {
        $ehp_error[] = tr('Incorrect disk quota limit!');
    }
    if (empty($ehp_error) && empty($_SESSION['user_page_message'])) {
        // send data through session
        return true;
    } else {
        set_page_message(format_message($ehp_error), 'error');
        return false;
    }
}
Ejemplo n.º 4
0
/**
 * Check reseller data
 *
 * @param array &$errFields  rerefence to the error indicators of input fields
 * @return boolean TRUE if all data are valid, FALSE otherwise
 */
function check_data(&$errFields)
{
    $cfg = EasySCP_Registry::get('Config');
    // Get needed data
    $rdata =& get_data();
    /**
     * Check for new password
     */
    if (!empty($_POST['pass0']) || !empty($_POST['pass1'])) {
        if (!chk_password($_POST['pass0'])) {
            if ($cfg->PASSWD_STRONG) {
                set_page_message(sprintf(tr('The password must be at least %s chars long and contain letters and numbers to be valid.'), $cfg->PASSWD_CHARS), 'warning');
            } else {
                set_page_message(sprintf(tr('Password data is shorter than %s signs or includes not permitted signs!'), $cfg->PASSWD_CHARS), 'warning');
            }
            $errFields[] = 'PWD_ERR';
        }
        if ($_POST['pass0'] != $_POST['pass1']) {
            set_page_message(tr('Entered passwords do not match!'), 'warning');
            $errFields[] = 'PWD_ERR';
            $errFields[] = 'PWDR_ERR';
        }
    }
    /**
     * Check for mail address
     */
    if (!chk_email($rdata['email'])) {
        set_page_message(tr('Incorrect email syntax!'), 'warning');
        $errFields[] = 'EMAIL_ERR';
    }
    list($udmn_current, , $udmn_uf, $usub_current, , $usub_uf, $uals_current, , $uals_uf, $umail_current, , $umail_uf, $uftp_current, , $uftp_uf, $usql_db_current, , $usql_db_uf, $usql_user_current, , $usql_user_uf, $utraff_current, , $utraff_uf, $udisk_current, , $udisk_uf) = generate_reseller_users_props($rdata['edit_id']);
    list($rdmn_current, , $rsub_current, , $rals_current, , $rmail_current, , $rftp_current, , $rsql_db_current, , $rsql_user_current, , $rtraff_current, , $rdisk_current, ) = generate_reseller_props($rdata['edit_id']);
    /**
     * Check for new domains limit
     */
    if (easyscp_limit_check($rdata['max_dmn_cnt'], null)) {
        $rs = _check_new_limit($rdata['max_dmn_cnt'], $rdmn_current, $udmn_current, $udmn_uf, tr('Domains'));
    } else {
        set_page_message(tr('Incorrect domains limit!'), 'warning');
        $rs = false;
    }
    if (!$rs) {
        $errFields[] = 'DMN_ERR';
    }
    /**
     * Check for new subdomains limit
     */
    if (easyscp_limit_check($rdata['max_sub_cnt'])) {
        $rs = _check_new_limit($rdata['max_sub_cnt'], $rsub_current, $usub_current, $usub_uf, tr('Subdomains'));
    } else {
        set_page_message(tr('Incorrect subdomains limit!'), 'warning');
        $rs = false;
    }
    if (!$rs) {
        $errFields[] = 'SUB_ERR';
    }
    /**
     * Check for new domain alias limit
     */
    if (easyscp_limit_check($rdata['max_als_cnt'])) {
        $rs = _check_new_limit($rdata['max_als_cnt'], $rals_current, $uals_current, $uals_uf, tr('Aliases'));
    } else {
        set_page_message(tr('Incorrect aliases limit!'), 'warning');
        $rs = false;
    }
    if (!$rs) {
        $errFields[] = 'ALS_ERR';
    }
    /**
     * Check for new mail accounts limit
     */
    if (easyscp_limit_check($rdata['max_mail_cnt'])) {
        $rs = _check_new_limit($rdata['max_mail_cnt'], $rmail_current, $umail_current, $umail_uf, tr('Mail'));
    } else {
        set_page_message(tr('Incorrect mail accounts limit!'), 'warning');
        $rs = false;
    }
    if (!$rs) {
        $errFields[] = 'MAIL_ERR';
    }
    /**
     * Check for new Ftp accounts limit
     */
    if (easyscp_limit_check($rdata['max_ftp_cnt'])) {
        $rs = _check_new_limit($rdata['max_ftp_cnt'], $rftp_current, $uftp_current, $uftp_uf, tr('FTP'));
    } else {
        set_page_message(tr('Incorrect FTP accounts limit!'), 'warning');
        $rs = false;
    }
    if (!$rs) {
        $errFields[] = 'FTP_ERR';
    }
    /**
     * Check for new Sql databases limit
     */
    if (!($rs = easyscp_limit_check($rdata['max_sql_db_cnt']))) {
        set_page_message(tr('Incorrect SQL databases limit!'), 'warning');
    } else {
        if ($rdata['max_sql_db_cnt'] == -1 && $rdata['max_sql_user_cnt'] != -1) {
            set_page_message(tr('SQL databases limit is <em>disabled</em> but SQL users limit not!'), 'warning');
            $rs = false;
        } else {
            $rs = _check_new_limit($rdata['max_sql_db_cnt'], $rsql_db_current, $usql_db_current, $usql_db_uf, tr('SQL Databases'));
        }
    }
    if (!$rs) {
        $errFields[] = 'SQLD_ERR';
    }
    /**
     * Check for new Sql users limit
     */
    if (!($rs = easyscp_limit_check($rdata['max_sql_user_cnt']))) {
        set_page_message(tr('Incorrect SQL users limit!'), 'warning');
    } else {
        if ($rdata['max_sql_db_cnt'] != -1 && $rdata['max_sql_user_cnt'] == -1) {
            set_page_message(tr('SQL users limit is <em>disabled</em> but SQL databases limit not!'), 'warning');
            $rs = false;
        } else {
            $rs = _check_new_limit($rdata['max_sql_user_cnt'], $rsql_user_current, $usql_user_current, $usql_user_uf, tr('SQL Users'));
        }
    }
    if (!$rs) {
        $errFields[] = 'SQLU_ERR';
    }
    /**
     * Check for new traffic limit
     */
    if (easyscp_limit_check($rdata['max_traff_amnt'], null)) {
        $rs = _check_new_limit($rdata['max_traff_amnt'], $rtraff_current, $utraff_current / 1024 / 1024, $utraff_uf, tr('Web Traffic'));
    } else {
        set_page_message(tr('Incorrect traffic limit!'), 'warning');
        $rs = false;
    }
    if (!$rs) {
        $errFields[] = 'TRF_ERR';
    }
    /**
     * Check for new diskspace limit
     */
    if (easyscp_limit_check($rdata['max_disk_amnt'], null)) {
        $rs = _check_new_limit($rdata['max_disk_amnt'], $rdisk_current, $udisk_current / 1024 / 1024, $udisk_uf, tr('Disk storage'));
    } else {
        set_page_message(tr('Incorrect disk quota limit!'), 'warning');
        $rs = false;
    }
    if (!$rs) {
        $errFields[] = 'DISK_ERR';
    }
    /**
     * Check for IP adresses
     */
    if ($rdata['reseller_ips'] == '') {
        set_page_message(tr('You must assign at least one IP number for a reseller!'), 'warning');
    }
    check_user_ip_data($rdata['edit_id'], $rdata['rip_lst'], $rdata['reseller_ips']);
}
Ejemplo n.º 5
0
/**
 * Check correction of input data
 * @param EasySCP_TemplateEngine $tpl
 */
function check_data_correction($tpl)
{
    global $hp_name, $description, $hp_php, $hp_phpe, $hp_cgi, $hp_ssl;
    global $hp_sub, $hp_als, $hp_mail;
    global $hp_ftp, $hp_sql_db, $hp_sql_user;
    global $hp_traff, $hp_disk, $hp_countbackup;
    global $price, $setup_fee, $value, $payment, $status;
    global $hp_backup, $hp_dns;
    global $tos;
    $ahp_error = array();
    $hp_name = clean_input($_POST['hp_name']);
    $hp_sub = clean_input($_POST['hp_sub']);
    $hp_als = clean_input($_POST['hp_als']);
    $hp_mail = clean_input($_POST['hp_mail']);
    $hp_ftp = clean_input($_POST['hp_ftp']);
    $hp_sql_db = clean_input($_POST['hp_sql_db']);
    $hp_sql_user = clean_input($_POST['hp_sql_user']);
    $hp_traff = clean_input($_POST['hp_traff']);
    $hp_disk = clean_input($_POST['hp_disk']);
    $value = clean_input($_POST['hp_value']);
    $payment = clean_input($_POST['hp_payment']);
    $status = $_POST['status'];
    $description = clean_input($_POST['hp_description']);
    $tos = clean_input($_POST['hp_tos']);
    if (empty($_POST['hp_price'])) {
        $price = 0;
    } else {
        $price = clean_input($_POST['hp_price']);
    }
    if (empty($_POST['hp_setupfee'])) {
        $setup_fee = 0;
    } else {
        $setup_fee = clean_input($_POST['hp_setupfee']);
    }
    if (isset($_POST['php'])) {
        $hp_php = $_POST['php'];
    }
    if (isset($_POST['php_edit'])) {
        $hp_phpe = $_POST['php_edit'];
    }
    if (isset($_POST['cgi'])) {
        $hp_cgi = $_POST['cgi'];
    }
    if (isset($_POST['ssl'])) {
        $hp_ssl = $_POST['ssl'];
    }
    if (isset($_POST['dns'])) {
        $hp_dns = $_POST['dns'];
    }
    if (isset($_POST['backup'])) {
        $hp_backup = $_POST['backup'];
    }
    if (isset($_POST['countbackup'])) {
        $hp_countbackup = $_POST['countbackup'];
    }
    if ($hp_name == '') {
        $ahp_error[] = tr('Incorrect template name length!');
    }
    if ($description == '') {
        $ahp_error[] = tr('Incorrect template description length!');
    }
    if (!is_numeric($price)) {
        $ahp_error[] = tr('Price must be a number!');
    }
    if (!is_numeric($setup_fee)) {
        $ahp_error[] = tr('Setup fee must be a number!');
    }
    list($rsub_max, $rals_max, $rmail_max, $rftp_max, $rsql_db_max, $rsql_user_max) = check_reseller_permissions($_SESSION['user_id'], 'all_permissions');
    if ($rsub_max == "-1") {
        $hp_sub = "-1";
    } elseif (!easyscp_limit_check($hp_sub, -1)) {
        $ahp_error[] = tr('Incorrect subdomains limit!');
    }
    if ($rals_max == "-1") {
        $hp_als = "-1";
    } elseif (!easyscp_limit_check($hp_als, -1)) {
        $ahp_error[] = tr('Incorrect aliases limit!');
    }
    if ($rmail_max == "-1") {
        $hp_mail = "-1";
    } elseif (!easyscp_limit_check($hp_mail, -1)) {
        $ahp_error[] = tr('Incorrect mail accounts limit!');
    }
    if ($rftp_max == "-1") {
        $hp_ftp = "-1";
    } elseif (!easyscp_limit_check($hp_ftp, -1)) {
        $ahp_error[] = tr('Incorrect FTP accounts limit!');
    }
    if ($rsql_db_max == "-1") {
        $hp_sql_db = "-1";
    } elseif (!easyscp_limit_check($hp_sql_db, -1)) {
        $ahp_error[] = tr('Incorrect SQL users limit!');
    } else {
        if ($hp_sql_user != -1 && $hp_sql_db == -1) {
            $ahp_error[] = tr('SQL users limit is <em>disabled</em>!');
        }
    }
    if ($rsql_user_max == "-1") {
        $hp_sql_user = "******";
    } elseif (!easyscp_limit_check($hp_sql_user, -1)) {
        $ahp_error[] = tr('Incorrect SQL databases limit!');
    } else {
        if ($hp_sql_user == -1 && $hp_sql_db != -1) {
            $ahp_error[] = tr('SQL databases limit is not <em>disabled</em>!');
        }
    }
    if (!easyscp_limit_check($hp_traff, null)) {
        $ahp_error[] = tr('Incorrect traffic limit!');
    }
    if (!easyscp_limit_check($hp_disk, null)) {
        $ahp_error[] = tr('Incorrect disk quota limit!');
    }
    if (empty($ahp_error)) {
        return true;
    } else {
        set_page_message(format_message($ahp_error), 'error');
        return false;
    }
}
Ejemplo n.º 6
0
function check_user_data()
{
    global $reseller_ips;
    $cfg = EasySCP_Registry::get('Config');
    $sql = EasySCP_Registry::get('Db');
    $username = clean_input($_POST['username']);
    $query = "\n\t\tSELECT\n\t\t\t`admin_id`\n\t\tFROM\n\t\t\t`admin`\n\t\tWHERE\n\t\t\t`admin_name` = ?\n\t;";
    $rs = exec_query($sql, $query, $username);
    if ($rs->recordCount() != 0) {
        set_page_message(tr('This user name already exist!'), 'warning');
        return false;
    }
    if (!validates_username(clean_input($_POST['username']))) {
        set_page_message(tr("Incorrect username length or syntax!"), 'warning');
        return false;
    }
    if (!chk_password($_POST['pass'])) {
        if ($cfg->PASSWD_STRONG) {
            set_page_message(sprintf(tr('The password must be at least %s long and contain letters and numbers to be valid.'), $cfg->PASSWD_CHARS), 'warning');
        } else {
            set_page_message(sprintf(tr('Password data is shorter than %s signs or includes not permitted signs!'), $cfg->PASSWD_CHARS), 'warning');
        }
        return false;
    }
    if ($_POST['pass'] != $_POST['pass_rep']) {
        set_page_message(tr("Entered passwords do not match!"), 'warning');
        return false;
    }
    if (!chk_email(clean_input($_POST['email']))) {
        set_page_message(tr("Incorrect email syntax!"), 'warning');
        return false;
    }
    if (!easyscp_limit_check($_POST['nreseller_max_domain_cnt'], null)) {
        set_page_message(tr("Incorrect domains limit!"), 'warning');
        return false;
    }
    if (!easyscp_limit_check($_POST['nreseller_max_subdomain_cnt'], -1)) {
        set_page_message(tr("Incorrect subdomains limit!"), 'warning');
        return false;
    }
    if (!easyscp_limit_check($_POST['nreseller_max_alias_cnt'], -1)) {
        set_page_message(tr('Incorrect aliases limit!'), 'warning');
        return false;
    }
    if (!easyscp_limit_check($_POST['nreseller_max_ftp_cnt'], -1)) {
        set_page_message(tr('Incorrect FTP accounts limit!'), 'warning');
        return false;
    }
    if (!easyscp_limit_check($_POST['nreseller_max_mail_cnt'], -1)) {
        set_page_message(tr('Incorrect mail accounts limit!'), 'warning');
        return false;
    }
    if (!easyscp_limit_check($_POST['nreseller_max_sql_db_cnt'], -1)) {
        set_page_message(tr('Incorrect SQL databases limit!'), 'warning');
        return false;
    } else {
        if ($_POST['nreseller_max_sql_db_cnt'] == -1 && $_POST['nreseller_max_sql_user_cnt'] != -1) {
            set_page_message(tr('SQL databases limit is <em>disabled</em> but SQL users limit not!'), 'warning');
            return false;
        }
    }
    if (!easyscp_limit_check($_POST['nreseller_max_sql_user_cnt'], -1)) {
        set_page_message(tr('Incorrect SQL users limit!'), 'warning');
        return false;
    } else {
        if ($_POST['nreseller_max_sql_db_cnt'] != -1 && $_POST['nreseller_max_sql_user_cnt'] == -1) {
            set_page_message(tr('SQL users limit is <em>disabled</em> but SQL databases limit not!'), 'warning');
            return false;
        }
    }
    if (!easyscp_limit_check($_POST['nreseller_max_traffic'], null)) {
        set_page_message(tr('Incorrect traffic limit!'), 'warning');
        return false;
    }
    if (!easyscp_limit_check($_POST['nreseller_max_disk'], null)) {
        set_page_message(tr('Incorrect disk quota limit!'), 'warning');
        return false;
    }
    if ($reseller_ips == '') {
        set_page_message(tr('You must assign at least one IP number for a reseller!'), 'warning');
        return false;
    }
    return true;
}