function manage_reseller_limits($dest_reseller, $src_reseller, $users, &$err) { $sql = EasySCP_Registry::get('Db'); list($dest_dmn_current, $dest_dmn_max, $dest_sub_current, $dest_sub_max, $dest_als_current, $dest_als_max, $dest_mail_current, $dest_mail_max, $dest_ftp_current, $dest_ftp_max, $dest_sql_db_current, $dest_sql_db_max, $dest_sql_user_current, $dest_sql_user_max, $dest_traff_current, $dest_traff_max, $dest_disk_current, $dest_disk_max) = generate_reseller_props($dest_reseller); list($src_dmn_current, $src_dmn_max, $src_sub_current, $src_sub_max, $src_als_current, $src_als_max, $src_mail_current, $src_mail_max, $src_ftp_current, $src_ftp_max, $src_sql_db_current, $src_sql_db_max, $src_sql_user_current, $src_sql_user_max, $src_traff_current, $src_traff_max, $src_disk_current, $src_disk_max) = generate_reseller_props($src_reseller); $users_array = explode(";", $users); for ($i = 0, $cnt_users_array = count($users_array) - 1; $i < $cnt_users_array; $i++) { $query = "\n\t\t\tSELECT\n\t\t\t\t`domain_id`, `domain_name`\n\t\t\tFROM\n\t\t\t\t`domain`\n\t\t\tWHERE\n\t\t\t\t`domain_admin_id` = ?\n\t\t"; $rs = exec_query($sql, $query, $users_array[$i]); $domain_name = $rs->fields['domain_name']; $domain_id = $rs->fields['domain_id']; list(, $sub_max, , $als_max, , $mail_max, , $ftp_max, , $sql_db_max, , $sql_user_max, $traff_max, $disk_max) = generate_user_props($domain_id); calculate_reseller_dvals($dest_dmn_current, $dest_dmn_max, $src_dmn_current, $src_dmn_max, 1, $err, 'Domain', $domain_name); if ($err == '_off_') { calculate_reseller_dvals($dest_sub_current, $dest_sub_max, $src_sub_current, $src_sub_max, $sub_max, $err, 'Subdomain', $domain_name); calculate_reseller_dvals($dest_als_current, $dest_als_max, $src_als_current, $src_als_max, $als_max, $err, 'Alias', $domain_name); calculate_reseller_dvals($dest_mail_current, $dest_mail_max, $src_mail_current, $src_mail_max, $mail_max, $err, 'Mail', $domain_name); calculate_reseller_dvals($dest_ftp_current, $dest_ftp_max, $src_ftp_current, $src_ftp_max, $ftp_max, $err, 'FTP', $domain_name); calculate_reseller_dvals($dest_sql_db_current, $dest_sql_db_max, $src_sql_db_current, $src_sql_db_max, $sql_db_max, $err, 'SQL Database', $domain_name); calculate_reseller_dvals($dest_sql_user_current, $dest_sql_user_max, $src_sql_user_current, $src_sql_user_max, $sql_user_max, $err, 'SQL User', $domain_name); calculate_reseller_dvals($dest_traff_current, $dest_traff_max, $src_traff_current, $src_traff_max, $traff_max, $err, 'Traffic', $domain_name); calculate_reseller_dvals($dest_disk_current, $dest_disk_max, $src_disk_current, $src_disk_max, $disk_max, $err, 'Disk', $domain_name); } if ($err != '_off_') { return false; } } // Let's Make Necessary Updates; $src_reseller_props = "{$src_dmn_current};{$src_dmn_max};"; $src_reseller_props .= "{$src_sub_current};{$src_sub_max};"; $src_reseller_props .= "{$src_als_current};{$src_als_max};"; $src_reseller_props .= "{$src_mail_current};{$src_mail_max};"; $src_reseller_props .= "{$src_ftp_current};{$src_ftp_max};"; $src_reseller_props .= "{$src_sql_db_current};{$src_sql_db_max};"; $src_reseller_props .= "{$src_sql_user_current};{$src_sql_user_max};"; $src_reseller_props .= "{$src_traff_current};{$src_traff_max};"; $src_reseller_props .= "{$src_disk_current};{$src_disk_max};"; update_reseller_props($src_reseller, $src_reseller_props); $dest_reseller_props = "{$dest_dmn_current};{$dest_dmn_max};"; $dest_reseller_props .= "{$dest_sub_current};{$dest_sub_max};"; $dest_reseller_props .= "{$dest_als_current};{$dest_als_max};"; $dest_reseller_props .= "{$dest_mail_current};{$dest_mail_max};"; $dest_reseller_props .= "{$dest_ftp_current};{$dest_ftp_max};"; $dest_reseller_props .= "{$dest_sql_db_current};{$dest_sql_db_max};"; $dest_reseller_props .= "{$dest_sql_user_current};{$dest_sql_user_max};"; $dest_reseller_props .= "{$dest_traff_current};{$dest_traff_max};"; $dest_reseller_props .= "{$dest_disk_current};{$dest_disk_max};"; update_reseller_props($dest_reseller, $dest_reseller_props); for ($i = 0, $cnt_users_array = count($users_array) - 1; $i < $cnt_users_array; $i++) { $query = "UPDATE `admin` SET `created_by` = ? WHERE `admin_id` = ?"; exec_query($sql, $query, array($dest_reseller, $users_array[$i])); $query = "UPDATE `domain` SET `domain_created_id` = ? WHERE `domain_admin_id` = ?"; exec_query($sql, $query, array($dest_reseller, $users_array[$i])); } return true; }
function generate_reseller_users_props($reseller_id) { $sql = EasySCP_Registry::get('Db'); $rdmn_current = 0; $rdmn_max = 0; $rdmn_uf = '_off_'; $rsub_current = 0; $rsub_max = 0; $rsub_uf = '_off_'; $rals_current = 0; $rals_max = 0; $rals_uf = '_off_'; $rmail_current = 0; $rmail_max = 0; $rmail_uf = '_off_'; $rftp_current = 0; $rftp_max = 0; $rftp_uf = '_off_'; $rsql_db_current = 0; $rsql_db_max = 0; $rsql_db_uf = '_off_'; $rsql_user_current = 0; $rsql_user_max = 0; $rsql_user_uf = '_off_'; $rtraff_current = 0; $rtraff_max = 0; $rtraff_uf = '_off_'; $rdisk_current = 0; $rdisk_max = 0; $rdisk_uf = '_off_'; $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`created_by` = ?\n\t\t;\n\t"; $rs = exec_query($sql, $query, $reseller_id); if ($rs->rowCount() == 0) { return array($rdmn_current, $rdmn_max, $rdmn_uf, $rsub_current, $rsub_max, $rsub_uf, $rals_current, $rals_max, $rals_uf, $rmail_current, $rmail_max, $rmail_uf, $rftp_current, $rftp_max, $rftp_uf, $rsql_db_current, $rsql_db_max, $rsql_db_uf, $rsql_user_current, $rsql_user_max, $rsql_user_uf, $rtraff_current, $rtraff_max, $rtraff_uf, $rdisk_current, $rdisk_max, $rdisk_uf); } while (!$rs->EOF) { $admin_id = $rs->fields['admin_id']; $query = "\n\t\t\tSELECT\n\t\t\t\t`domain_id`\n\t\t\tFROM\n\t\t\t\t`domain`\n\t\t\tWHERE\n\t\t\t\t`domain_admin_id` = ?\n\t\t\t;\n\t\t"; $dres = exec_query($sql, $query, $admin_id); $user_id = $dres->fields['domain_id']; list($sub_current, $sub_max, $als_current, $als_max, $mail_current, $mail_max, $ftp_current, $ftp_max, $sql_db_current, $sql_db_max, $sql_user_current, $sql_user_max, $traff_max, $disk_max) = generate_user_props($user_id); //list($a, $b, $c, $d, $e, $f, $traff_current, $disk_current, $g, $h //) = generate_user_traffic($user_id); list(, , , , , , $traff_current, $disk_current) = generate_user_traffic($user_id); $rdmn_current += 1; if ($sub_max != -1) { if ($sub_max == 0) { $rsub_uf = '_on_'; } $rsub_current += $sub_current; $rsub_max += $sub_max > 0 ? $sub_max : 0; } if ($als_max != -1) { if ($als_max == 0) { $rals_uf = '_on_'; } $rals_current += $als_current; $rals_max += $als_max > 0 ? $als_max : 0; } if ($mail_max == 0) { $rmail_uf = '_on_'; } $rmail_current += $mail_current; $rmail_max += $mail_max > 0 ? $mail_max : 0; if ($ftp_max == 0) { $rftp_uf = '_on_'; } $rftp_current += $ftp_current; $rftp_max += $ftp_max > 0 ? $ftp_max : 0; if ($sql_db_max != -1) { if ($sql_db_max == 0) { $rsql_db_uf = '_on_'; } $rsql_db_current += $sql_db_current; $rsql_db_max += $sql_db_max > 0 ? $sql_db_max : 0; } if ($sql_user_max != -1) { if ($sql_user_max == 0) { $rsql_user_uf = '_on_'; } $rsql_user_current += $sql_user_current; $rsql_user_max += $sql_user_max > 0 ? $sql_user_max : 0; } if ($traff_max == 0) { $rtraff_uf = '_on_'; } $rtraff_current += $traff_current; $rtraff_max += $traff_max; if ($disk_max == 0) { $rdisk_uf = '_on_'; } $rdisk_current += $disk_current; $rdisk_max += $disk_max; $rs->moveNext(); } return array($rdmn_current, $rdmn_max, $rdmn_uf, $rsub_current, $rsub_max, $rsub_uf, $rals_current, $rals_max, $rals_uf, $rmail_current, $rmail_max, $rmail_uf, $rftp_current, $rftp_max, $rftp_uf, $rsql_db_current, $rsql_db_max, $rsql_db_uf, $rsql_user_current, $rsql_user_max, $rsql_user_uf, $rtraff_current, $rtraff_max, $rtraff_uf, $rdisk_current, $rdisk_max, $rdisk_uf); }
/** * 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; } }
function substract_from_reseller_props($reseller_id, $domain_id) { // function update reseller props bevore deleting account 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) = generate_reseller_props($reseller_id); list($sub_current, $sub_max, $als_current, $als_max, $mail_current, $mail_max, $ftp_current, $ftp_max, $sql_db_current, $sql_db_max, $sql_user_current, $sql_user_max, $traff_max, $disk_max) = generate_user_props($domain_id); $rdmn_current -= 1; if ($sub_max != -1) { $rsub_current -= $sub_max; } if ($als_max != -1) { $rals_current -= $als_max; } $rmail_current -= $mail_max; $rftp_current -= $ftp_max; if ($sql_db_max != -1) { $rsql_db_current -= $sql_db_max; } if ($sql_user_max != -1) { $rsql_user_current -= $sql_user_max; } $rtraff_current -= $traff_max; $rdisk_current -= $disk_max; $rprops = "{$rdmn_current};{$rdmn_max};"; $rprops .= "{$rsub_current};{$rsub_max};"; $rprops .= "{$rals_current};{$rals_max};"; $rprops .= "{$rmail_current};{$rmail_max};"; $rprops .= "{$rftp_current};{$rftp_max};"; $rprops .= "{$rsql_db_current};{$rsql_db_max};"; $rprops .= "{$rsql_user_current};{$rsql_user_max};"; $rprops .= "{$rtraff_current};{$rtraff_max};"; $rprops .= "{$rdisk_current};{$rdisk_max};"; update_reseller_props($reseller_id, $rprops); }
/** * @param EasySCP_TemplateEngine $tpl * @param int $user_id * @param int $row */ function generate_domain_entry($tpl, $user_id, $row) { global $crnt_month, $crnt_year; list($domain_name, $domain_id, $web, $ftp, $smtp, $pop3, $utraff_current, $udisk_current) = generate_user_traffic($user_id); 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); $utraff_max = $utraff_max * 1024 * 1024; $udisk_max = $udisk_max * 1024 * 1024; $traff_show_percent = calc_bar_value($utraff_current, $utraff_max, 400); $disk_show_percent = calc_bar_value($udisk_current, $udisk_max, 400); if ($utraff_max > 0) { $traff_percent = $utraff_current / $utraff_max * 100 < 99.7 ? $utraff_current / $utraff_max * 100 : 99.7; } else { $traff_percent = 0; } if ($udisk_max > 0) { $disk_percent = $udisk_current / $udisk_max * 100 < 99.7 ? $udisk_current / $udisk_max * 100 : 99.7; } else { $disk_percent = 0; } $domain_name = decode_idna($domain_name); $tpl->append(array('DOMAIN_NAME' => tohtml($domain_name), 'MONTH' => $crnt_month, 'YEAR' => $crnt_year, 'DOMAIN_ID' => $domain_id, 'TRAFF_SHOW_PERCENT' => $traff_show_percent, 'TRAFF_PERCENT' => $traff_percent, 'TRAFF_MSG' => $utraff_max ? tr('%1$s <br/>of<br/> <strong>%2$s</strong>', sizeit($utraff_current), sizeit($utraff_max)) : tr('%s <br/>of<br/> <strong>unlimited</strong>', sizeit($utraff_current)), 'DISK_SHOW_PERCENT' => $disk_show_percent, 'DISK_PERCENT' => $disk_percent, 'DISK_MSG' => $udisk_max ? tr('%1$s <br/>of<br/> <strong>%2$s</strong>', sizeit($udisk_current), sizeit($udisk_max)) : tr('%s <br/>of<br/> <strong>unlimited</strong>', sizeit($udisk_current)), 'WEB' => sizeit($web), 'FTP' => sizeit($ftp), 'SMTP' => sizeit($smtp), 'POP3' => sizeit($pop3), 'SUB_MSG' => $usub_max ? $usub_max > 0 ? tr('%1$d <br/>of<br/> <strong>%2$d</strong>', sizeit($usub_current), $usub_max) : tr('<strong>disabled</strong>') : tr('%d <br/>of<br/> <strong>unlimited</strong>', sizeit($usub_current)), 'ALS_MSG' => $uals_max ? $uals_max > 0 ? tr('%1$d <br/>of<br/> <strong>%2$d</strong>', sizeit($uals_current), $uals_max) : tr('<strong>disabled</strong>') : tr('%d <br/>of<br/> <strong>unlimited</strong>', sizeit($uals_current)), 'MAIL_MSG' => $umail_max ? $umail_max > 0 ? tr('%1$d <br/>of<br/> <strong>%2$d</strong>', $umail_current, $umail_max) : tr('<strong>disabled</strong>') : tr('%d <br/>of<br/> <strong>unlimited</strong>', $umail_current), 'FTP_MSG' => $uftp_max ? $uftp_max > 0 ? tr('%1$d <br/>of<br/> <strong>%2$d</strong>', $uftp_current, $uftp_max) : tr('<strong>disabled</strong>') : tr('%d <br/>of<br/> <strong>unlimited</strong>', $uftp_current), 'SQL_DB_MSG' => $usql_db_max ? $usql_db_max > 0 ? tr('%1$d <br/>of<br/> <strong>%2$d</strong>', $usql_db_current, $usql_db_max) : tr('<strong>disabled</strong>') : tr('%d <br/>of<br/> <strong>unlimited</strong>', $usql_db_current), 'SQL_USER_MSG' => $usql_user_max ? $usql_user_max > 0 ? tr('%1$d <br/>of<br/> <strong>%2$d</strong>', $usql_user_current, $usql_user_max) : tr('<strong>disabled</strong>') : tr('%d <br/>of<br/> <strong>unlimited</strong>', $usql_user_current))); }
function generate_domain_entry(&$tpl, $user_id, $row) { global $crnt_month, $crnt_year; list($domain_name, $domain_id, $web, $ftp, $smtp, $pop3, $utraff_current, $udisk_current, $i, $j) = generate_user_traffic($user_id); 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); $utraff_max = $utraff_max * 1024 * 1024; $udisk_max = $udisk_max * 1024 * 1024; list($traff_percent, $traff_red, $traff_green) = make_usage_vals($utraff_current, $utraff_max); list($disk_percent, $disk_red, $disk_green) = make_usage_vals($udisk_current, $udisk_max); $traff_show_percent = $traff_percent; $disk_show_percent = $disk_percent; if ($traff_percent > 100) { $traff_percent = 100; } if ($disk_percent > 100) { $disk_percent = 100; } if ($row % 2 == 0) { $tpl->assign(array('ITEM_CLASS' => 'content')); } else { $tpl->assign(array('ITEM_CLASS' => 'content2')); } $domain_name = decode_idna($domain_name); $tpl->assign(array('DOMAIN_NAME' => $domain_name, 'MONTH' => $crnt_month, 'YEAR' => $crnt_year, 'DOMAIN_ID' => $domain_id, 'TRAFF_SHOW_PERCENT' => $traff_show_percent, 'TRAFF_PERCENT' => $traff_percent, 'TRAFF_RED' => $traff_red, 'TRAFF_GREEN' => $traff_green, 'TRAFF_USED' => make_hr($utraff_current), 'TRAFF_MAX' => $utraff_max ? make_hr($utraff_max) : tr('unlimited'), 'DISK_SHOW_PERCENT' => $disk_show_percent, 'DISK_PERCENT' => $disk_percent, 'DISK_RED' => $disk_red, 'DISK_GREEN' => $disk_green, 'DISK_USED' => make_hr($udisk_current), 'DISK_MAX' => $udisk_max ? make_hr($udisk_max) : tr('unlimited'), 'WEB' => make_hr($web), 'FTP' => make_hr($ftp), 'SMTP' => make_hr($smtp), 'POP3' => make_hr($pop3), 'SUB_USED' => $usub_current, 'SUB_MAX' => $usub_max ? $usub_max > 0 ? $usub_max : tr('disabled') : tr('unlimited'), 'ALS_USED' => $uals_current, 'ALS_MAX' => $uals_max ? $uals_max > 0 ? $uals_max : tr('disabled') : tr('unlimited'), 'MAIL_USED' => $umail_current, 'MAIL_MAX' => $umail_max ? $umail_max : tr('unlimited'), 'FTP_USED' => $uftp_current, 'FTP_MAX' => $uftp_max ? $uftp_max : tr('unlimited'), 'SQL_DB_USED' => $usql_db_current, 'SQL_DB_MAX' => $usql_db_max ? $usql_db_max > 0 ? $usql_db_max : tr('disabled') : tr('unlimited'), 'SQL_USER_USED' => $usql_user_current, 'SQL_USER_MAX' => $usql_user_max ? $usql_user_max > 0 ? $usql_user_max : tr('disabled') : tr('unlimited'))); }
$ed_error = tr('Incorrect SQL database range or syntax!'); } else { if (!vhcs_limit_check($traff, 1024 * 1024) || $traff == -1) { $ed_error = tr('Incorrect traffic range or syntax!'); } else { if (!vhcs_limit_check($disk, 1024 * 1024) || $disk == -1) { $ed_error = tr('Incorrect disk range or syntax!'); } } } } } } } } 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($dmn_id); 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); //generate_reseller_props($reseller_id); list($a, $b, $c, $d, $e, $f, $utraff_current, $udisk_current, $i, $h) = generate_user_traffic($dmn_id); if ($ed_error == '_off_') { calculate_user_dvals($sub, $usub_current, $usub_max, $rsub_current, $rsub_max, $ed_error, tr('Subdomain')); } if ($ed_error == '_off_') { calculate_user_dvals($als, $uals_current, $uals_max, $rals_current, $rals_max, $ed_error, tr('Alias')); } if ($ed_error == '_off_') { calculate_user_vals($mail, $umail_current, $umail_max, $rmail_current, $rmail_max, $ed_error, tr('Mail')); } if ($ed_error == '_off_') { calculate_user_vals($ftp, $uftp_current, $uftp_max, $rftp_current, $rftp_max, $ed_error, tr('FTP')); }
function check_user_data(&$tpl, &$sql, $reseller_id, $user_id) { global $sub, $als, $mail, $ftp, $sql_db, $sql_user, $traff, $disk, $sql, $domain_ip, $domain_php, $domain_cgi; $sub = $_POST['dom_sub']; $als = $_POST['dom_alias']; $mail = $_POST['dom_mail_acCount']; $ftp = $_POST['dom_ftp_acCounts']; $sql_db = $_POST['dom_sqldb']; $sql_user = $_POST['dom_sql_users']; $traff = $_POST['dom_traffic']; $disk = $_POST['dom_disk']; //$domain_ip = $_POST['domain_ip']; $domain_php = $_POST['domain_php']; $domain_cgi = $_POST['domain_cgi']; $ed_error = '_off_'; if (!vhcs_limit_check($sub, 999)) { $ed_error = tr('Incorrect subdomain range or syntax!'); } else { if (!vhcs_limit_check($als, 999)) { $ed_error = tr('Incorrect alias range or syntax!'); } else { if (!vhcs_limit_check($mail, 999)) { $ed_error = tr('Incorrect mail account range or syntax!'); } else { if (!vhcs_limit_check($ftp, 999) || $ftp == -1) { $ed_error = tr('Incorrect FTP account range or syntax!'); } else { if (!vhcs_limit_check($sql_db, 999)) { $ed_error = tr('Incorrect SQL user range or syntax!'); } else { if (!vhcs_limit_check($sql_user, 999)) { $ed_error = tr('Incorrect SQL database range or syntax!'); } else { if (!vhcs_limit_check($traff, 1024 * 1024) || $traff == -1) { $ed_error = tr('Incorrect traffic range or syntax!'); } else { if (!vhcs_limit_check($disk, 1024 * 1024) || $disk == -1) { $ed_error = tr('Incorrect disk range or syntax!'); } } } } } } } } //$user_props = generate_user_props($user_id); //$reseller_props = generate_reseller_props($reseller_id); 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); 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); //generate_reseller_props($reseller_id); list($a, $b, $c, $d, $e, $f, $utraff_current, $udisk_current, $i, $h) = generate_user_traffic($user_id); if ($ed_error == '_off_') { calculate_user_dvals($sub, $usub_current, $usub_max, $rsub_current, $rsub_max, $ed_error, tr('Subdomain')); } if ($ed_error == '_off_') { calculate_user_dvals($als, $uals_current, $uals_max, $rals_current, $rals_max, $ed_error, tr('Alias')); } if ($ed_error == '_off_') { calculate_user_vals($mail, $umail_current, $umail_max, $rmail_current, $rmail_max, $ed_error, tr('Mail')); } if ($ed_error == '_off_') { calculate_user_vals($ftp, $uftp_current, $uftp_max, $rftp_current, $rftp_max, $ed_error, tr('FTP')); } if ($ed_error == '_off_') { calculate_user_dvals($sql_db, $usql_db_current, $usql_db_max, $rsql_db_current, $rsql_db_max, $ed_error, tr('SQL Database')); } if ($ed_error == '_off_') { $query = <<<SQL_QUERY \t\t\tSELECT \t\t\t\tCOUNT(su.sqlu_id) as cnt \t\t\tFROM \t\t\t\tsql_user as su, sql_database as sd \t\t\tWHERE \t\t\t\tsu.sqld_id = sd.sqld_id \t\t\tAND \t\t\t\tsd.domain_id = ? SQL_QUERY; $rs = exec_query($sql, $query, array($_SESSION['user_id'])); calculate_user_dvals($sql_user, $rs->fields['cnt'], $usql_user_max, $rsql_user_current, $rsql_user_max, $ed_error, tr('SQL User')); } if ($ed_error == '_off_') { calculate_user_vals($traff, $utraff_current / 1024 / 1024, $utraff_max, $rtraff_current, $rtraff_max, $ed_error, tr('Traffic')); } if ($ed_error == '_off_') { calculate_user_vals($disk, $udisk_current / 1024 / 1024, $udisk_max, $rdisk_current, $rdisk_max, $ed_error, tr('Disk')); } if ($ed_error == '_off_') { $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_cgi}"; update_user_props($user_id, $user_props); $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}"; update_reseller_props($reseller_id, $reseller_props); // 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, array($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=?"; $rs = exec_query($sql, $query, array($dlim, $temp_dmn_name)); } set_page_message(tr('Domain properties updated successfully!')); return true; } else { $tpl->assign('MESSAGE', $ed_error); $tpl->parse('PAGE_MESSAGE', 'page_message'); return false; } }
function manage_reseller_limits($dest_reseller, $src_reseller, $users, &$err) { global $sql; list($dest_dmn_current, $dest_dmn_max, $dest_sub_current, $dest_sub_max, $dest_als_current, $dest_als_max, $dest_mail_current, $dest_mail_max, $dest_ftp_current, $dest_ftp_max, $dest_sql_db_current, $dest_sql_db_max, $dest_sql_user_current, $dest_sql_user_max, $dest_traff_current, $dest_traff_max, $dest_disk_current, $dest_disk_max) = generate_reseller_props($dest_reseller); list($src_dmn_current, $src_dmn_max, $src_sub_current, $src_sub_max, $src_als_current, $src_als_max, $src_mail_current, $src_mail_max, $src_ftp_current, $src_ftp_max, $src_sql_db_current, $src_sql_db_max, $src_sql_user_current, $src_sql_user_max, $src_traff_current, $src_traff_max, $src_disk_current, $src_disk_max) = generate_reseller_props($src_reseller); $users_array = explode(";", $users); for ($i = 0; $i < count($users_array) - 1; $i++) { $query = <<<SQL_QUERY select domain_id, domain_name from domain where domain_admin_id = ? SQL_QUERY; $rs = exec_query($sql, $query, array($users_array[$i])); $domain_name = $rs->fields['domain_name']; $domain_id = $rs->fields['domain_id']; list($sub_current, $sub_max, $als_current, $als_max, $mail_current, $mail_max, $ftp_current, $ftp_max, $sql_db_current, $sql_db_max, $sql_user_current, $sql_user_max, $traff_max, $disk_max) = generate_user_props($domain_id); calculate_reseller_vals($dest_dmn_current, $dest_dmn_max, $src_dmn_current, $src_dmn_max, 1, $err, 'Domain', $domain_name); if ($err == '_off_') { calculate_reseller_dvals($dest_sub_current, $dest_sub_max, $src_sub_current, $src_sub_max, $sub_max, $err, 'Subdomain', $domain_name); } if ($err == '_off_') { calculate_reseller_dvals($dest_als_current, $dest_als_max, $src_als_current, $src_als_max, $als_max, $err, 'Alias', $domain_name); } if ($err == '_off_') { calculate_reseller_vals($dest_mail_current, $dest_mail_max, $src_mail_current, $src_mail_max, $mail_max, $err, 'Mail', $domain_name); } if ($err == '_off_') { calculate_reseller_vals($dest_ftp_current, $dest_ftp_max, $src_ftp_current, $src_ftp_max, $ftp_max, $err, 'FTP', $domain_name); } if ($err == '_off_') { calculate_reseller_dvals($dest_sql_db_current, $dest_sql_db_max, $src_sql_db_current, $src_sql_db_max, $sql_db_max, $err, 'SQL Database', $domain_name); } if ($err == '_off_') { calculate_reseller_dvals($dest_sql_user_current, $dest_sql_user_max, $src_sql_user_current, $src_sql_user_max, $sql_user_max, $err, 'SQL User', $domain_name); } if ($err == '_off_') { calculate_reseller_vals($dest_traff_current, $dest_traff_max, $src_traff_current, $src_traff_max, $traff_max, $err, 'Traffic', $domain_name); } if ($err == '_off_') { calculate_reseller_vals($dest_disk_current, $dest_disk_max, $src_disk_current, $src_disk_max, $disk_max, $err, 'Disk', $domain_name); } if ($err != '_off_') { return false; } } // // Let's Make Necessary Updates; // $src_reseller_props = "{$src_dmn_current};{$src_dmn_max};"; $src_reseller_props .= "{$src_sub_current};{$src_sub_max};"; $src_reseller_props .= "{$src_als_current};{$src_als_max};"; $src_reseller_props .= "{$src_mail_current};{$src_mail_max};"; $src_reseller_props .= "{$src_ftp_current};{$src_ftp_max};"; $src_reseller_props .= "{$src_sql_db_current};{$src_sql_db_max};"; $src_reseller_props .= "{$src_sql_user_current};{$src_sql_user_max};"; $src_reseller_props .= "{$src_traff_current};{$src_traff_max};"; $src_reseller_props .= "{$src_disk_current};{$src_disk_max};"; update_reseller_props($src_reseller, $src_reseller_props); $dest_reseller_props = "{$dest_dmn_current};{$dest_dmn_max};"; $dest_reseller_props .= "{$dest_sub_current};{$dest_sub_max};"; $dest_reseller_props .= "{$dest_als_current};{$dest_als_max};"; $dest_reseller_props .= "{$dest_mail_current};{$dest_mail_max};"; $dest_reseller_props .= "{$dest_ftp_current};{$dest_ftp_max};"; $dest_reseller_props .= "{$dest_sql_db_current};{$dest_sql_db_max};"; $dest_reseller_props .= "{$dest_sql_user_current};{$dest_sql_user_max};"; $dest_reseller_props .= "{$dest_traff_current};{$dest_traff_max};"; $dest_reseller_props .= "{$dest_disk_current};{$dest_disk_max};"; update_reseller_props($dest_reseller, $dest_reseller_props); for ($i = 0; $i < count($users_array) - 1; $i++) { $query = "update admin set created_by = ? where admin_id = ?"; exec_query($sql, $query, array($dest_reseller, $users_array[$i])); $query = "update domain set domain_created_id = ? where domain_admin_id = ?"; exec_query($sql, $query, array($dest_reseller, $users_array[$i])); } }