/** * Generates statistics for the given reseller * * @param iMSCP_pTemplate $tpl Template engine instance * @param int $resellerId Reseller unique identifier * @param string $resellerName Reseller name * @return void */ function _generateResellerStatistics($tpl, $resellerId, $resellerName) { $resellerProps = imscp_getResellerProperties($resellerId, true); list($udmn_current, , , $usub_current, , , $uals_current, , , $umail_current, , , $uftp_current, , , $usql_db_current, , , $usql_user_current, , , $utraff_current, , , $udisk_current, ) = generate_reseller_users_props($resellerId); $trafficLimitBytes = $resellerProps['max_traff_amnt'] * 1048576; $trafficUsageBytes = $resellerProps['current_traff_amnt'] * 1048576; $diskspaceLimitBytes = $resellerProps['max_disk_amnt'] * 1048576; $diskspaceUsageBytes = $resellerProps['current_disk_amnt'] * 1048576; $trafficUsagePercent = make_usage_vals($trafficUsageBytes, $trafficLimitBytes); $diskspaceUsagePercent = make_usage_vals($diskspaceUsageBytes, $diskspaceLimitBytes); $tpl->assign(array('RESELLER_NAME' => tohtml($resellerName), 'RESELLER_ID' => tohtml($resellerId), 'TRAFFIC_PERCENT' => tohtml($trafficUsagePercent), 'TRAFFIC_MSG' => $trafficLimitBytes ? tohtml(tr('%1$s / %2$s of %3$s', bytesHuman($utraff_current), bytesHuman($trafficUsageBytes), bytesHuman($trafficLimitBytes))) : tohtml(tr('%1$s / %2$s of unlimited', bytesHuman($utraff_current), bytesHuman($trafficUsageBytes))), 'DISK_PERCENT' => tohtml($diskspaceUsagePercent), 'DISK_MSG' => $diskspaceLimitBytes ? tohtml(tr('%1$s / %2$s of %3$s', bytesHuman($udisk_current), bytesHuman($diskspaceUsageBytes), bytesHuman($diskspaceLimitBytes))) : tohtml(tr('%1$s / %2$s of unlimited', bytesHuman($udisk_current), bytesHuman($diskspaceUsageBytes))), 'DMN_MSG' => $resellerProps['max_dmn_cnt'] ? tohtml(tr('%1$d / %2$d of %3$d', $udmn_current, $resellerProps['current_dmn_cnt'], $resellerProps['max_dmn_cnt'])) : tohtml(tr('%1$d / %2$d of unlimited', $udmn_current, $resellerProps['current_dmn_cnt'])), 'SUB_MSG' => $resellerProps['max_sub_cnt'] > 0 ? tohtml(tr('%1$d / %2$d of %3$d', $usub_current, $resellerProps['current_sub_cnt'], $resellerProps['max_sub_cnt'])) : ($resellerProps['max_sub_cnt'] == '-1' ? tohtml(tr('disabled')) : tohtml(tr('%1$d / %2$d of unlimited', $usub_current, $resellerProps['current_sub_cnt']))), 'ALS_MSG' => $resellerProps['max_als_cnt'] > 0 ? tohtml(tr('%1$d / %2$d of %3$d', $uals_current, $resellerProps['current_als_cnt'], $resellerProps['max_als_cnt'])) : ($resellerProps['max_als_cnt'] == '-1' ? tohtml(tr('disabled')) : tohtml(tr('%1$d / %2$d of unlimited', $uals_current, $resellerProps['current_als_cnt']))), 'MAIL_MSG' => $resellerProps['max_mail_cnt'] > 0 ? tohtml(tr('%1$d / %2$d of %3$d', $umail_current, $resellerProps['current_mail_cnt'], $resellerProps['max_mail_cnt'])) : ($resellerProps['max_mail_cnt'] == '-1' ? tohtml(tr('disabled')) : tohtml(tr('%1$d / %2$d of unlimited', $umail_current, $resellerProps['current_mail_cnt']))), 'FTP_MSG' => $resellerProps['max_ftp_cnt'] > 0 ? tohtml(tr('%1$d / %2$d of %3$d', $uftp_current, $resellerProps['current_ftp_cnt'], $resellerProps['max_ftp_cnt'])) : ($resellerProps['max_ftp_cnt'] == '-1' ? tohtml(tr('disabled')) : tohtml(tr('%1$d / %2$d of unlimited', $uftp_current, $resellerProps['current_ftp_cnt']))), 'SQL_DB_MSG' => $resellerProps['max_sql_db_cnt'] > 0 ? tohtml(tr('%1$d / %2$d of %3$d', $usql_db_current, $resellerProps['current_sql_db_cnt'], $resellerProps['max_sql_db_cnt'])) : ($resellerProps['max_sql_db_cnt'] == '-1' ? tohtml(tr('disabled')) : tohtml(tr('%1$d / %2$d of unlimited', $usql_db_current, $resellerProps['current_sql_db_cnt']))), 'SQL_USER_MSG' => $resellerProps['max_sql_user_cnt'] > 0 ? tohtml(tr('%1$d / %2$d of %3$d', $usql_user_current, $resellerProps['current_sql_user_cnt'], $resellerProps['max_sql_user_cnt'])) : ($resellerProps['max_sql_user_cnt'] == '-1' ? tohtml(tr('disabled')) : tohtml(tr('%1$d / %2$d of unlimited', $usql_user_current, $resellerProps['current_sql_user_cnt']))))); }
function check_reseller_data($reseller_id, $rip_lst, $reseller_ips) { $reseller_max_domain_cnt = $_POST['nreseller_max_domain_cnt']; $reseller_max_subdomain_cnt = $_POST['nreseller_max_subdomain_cnt']; $reseller_max_alias_cnt = $_POST['nreseller_max_alias_cnt']; $reseller_max_mail_cnt = $_POST['nreseller_max_mail_cnt']; $reseller_max_ftp_cnt = $_POST['nreseller_max_ftp_cnt']; $reseller_max_sql_db_cnt = $_POST['nreseller_max_sql_db_cnt']; $reseller_max_sql_user_cnt = $_POST['nreseller_max_sql_user_cnt']; $reseller_max_traffic = $_POST['nreseller_max_traffic']; $reseller_max_disk = $_POST['nreseller_max_disk']; list($udmn_current, $udmn_max, $udmn_uf, $usub_current, $usub_max, $usub_uf, $uals_current, $uals_max, $uals_uf, $umail_current, $umail_max, $umail_uf, $uftp_current, $uftp_max, $uftp_uf, $usql_db_current, $usql_db_max, $usql_db_uf, $usql_user_current, $usql_user_max, $usql_user_uf, $utraff_current, $utraff_max, $utraff_uf, $udisk_current, $udisk_max, $udisk_uf) = generate_reseller_users_props($reseller_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) = generate_reseller_props($reseller_id); $err = '_off_'; calculate_new_reseller_vals($reseller_max_domain_cnt, $rdmn_current, $rdmn_max, $udmn_current, $rdmn_current, $udmn_uf, $err, tr('Domain')); if ($err == '_off_') { calculate_new_reseller_vals($reseller_max_subdomain_cnt, $rsub_current, $rsub_max, $usub_current, $rsub_current, $usub_uf, $err, tr('Subdomain')); } if ($err == '_off_') { calculate_new_reseller_vals($reseller_max_alias_cnt, $rals_current, $rals_max, $uals_current, $uals_max, $uals_uf, $err, tr('Alias')); } if ($err == '_off_') { calculate_new_reseller_vals($reseller_max_mail_cnt, $rmail_current, $rmail_max, $umail_current, $umail_max, $umail_uf, $err, tr('Mail')); } if ($err == '_off_') { calculate_new_reseller_vals($reseller_max_ftp_cnt, $rftp_current, $rftp_max, $uftp_current, $uftp_max, $uftp_uf, $err, tr('FTP')); } if ($err == '_off_') { calculate_new_reseller_vals($reseller_max_sql_db_cnt, $rsql_db_current, $rsql_db_max, $usql_db_current, $usql_db_max, $usql_db_uf, $err, tr('SQL Database')); } if ($err == '_off_') { calculate_new_reseller_vals($reseller_max_sql_user_cnt, $rsql_user_current, $rsql_user_max, $usql_user_current, $usql_user_max, $usql_user_uf, $err, tr('SQL User')); } if ($err == '_off_') { calculate_new_reseller_vals($reseller_max_traffic, $rtraff_current, $rtraff_max, $utraff_current / 1024 / 1024, $utraff_max, $utraff_uf, $err, tr('Traffic')); } if ($err == '_off_') { calculate_new_reseller_vals($reseller_max_disk, $rdisk_current, $rdisk_max, $udisk_current / 1024 / 1024, $udisk_max, $udisk_uf, $err, tr('Disk')); // ($data, $r, &$rmax, $u, $umax, $uf, &$err, $obj) } if ($err == '_off_') { check_user_ip_data($reseller_id, $rip_lst, $reseller_ips, $err); } if ($err != '_off_') { set_page_message($err); return false; } return true; }
/** * Returns reseller data * * @param int $resellerId Domain unique identifier * @param bool $forUpdate Tell whether or not data are fetched for update * @return array Reference to array of data */ function &admin_getData($resellerId, $forUpdate = false) { static $data = null; if (null !== $data) { return $data; } $stmt = exec_query(' SELECT t1.*, t2.* FROM admin AS t1 INNER JOIN reseller_props AS t2 ON(t2.reseller_id = t1.admin_id) WHERE t1.admin_id = ? ', $resellerId); if (!$stmt->rowCount()) { showBadRequestErrorPage(); } $data = $stmt->fetchRow(); // Getting total number of consumed items for the given reseller. list($data['nbDomains'], , , $data['nbSubdomains'], , $data['unlimitedSubdomains'], $data['nbDomainAliases'], , $data['unlimitedDomainAliases'], $data['nbMailAccounts'], , $data['unlimitedMailAccounts'], $data['nbFtpAccounts'], , $data['unlimitedFtpAccounts'], $data['nbSqlDatabases'], , $data['unlimitedSqlDatabases'], $data['nbSqlUsers'], , $data['unlimitedSqlUsers'], $data['totalTraffic'], , $data['unlimitedTraffic'], $data['totalDiskspace'], , $data['unlimitedDiskspace']) = generate_reseller_users_props($resellerId); $data['password'] = ''; $data['password_confirmation'] = ''; // Ip data begin // Fetch server ip list $stmt = exec_query('SELECT ip_id, ip_number FROM server_ips ORDER BY ip_number'); if (!$stmt->rowCount()) { set_page_message(tr('Unable to get the IP address list. Please fix this problem.'), 'error'); redirectTo('manage_users.php'); } $data['server_ips'] = $stmt->fetchAll(); // Convert reseller ip list to array $data['reseller_ips'] = explode(';', trim($data['reseller_ips'], ';')); // Fetch all ip id used by reseller's customers $stmt = exec_query('SELECT DISTINCT domain_ip_id FROM domain INNER JOIN admin ON(admin_id = domain_admin_id) WHERE created_by = ?', $resellerId); if ($stmt->rowCount()) { $data['used_ips'] = $stmt->fetchAll(PDO::FETCH_COLUMN); } else { $data['used_ips'] = array(); } $fallbackData = array(); foreach ($data as $key => $value) { $fallbackData["fallback_{$key}"] = $value; } $data = array_merge($data, $fallbackData); $phpini = iMSCP_PHPini::getInstance(); $data['php_ini_system'] = $phpini->getResellerPermission('phpiniSystem'); $data['php_ini_al_disable_functions'] = $phpini->getResellerPermission('phpiniDisableFunctions'); $data['php_ini_al_mail_function'] = $phpini->getResellerPermission('phpiniMailFunction'); $data['php_ini_al_allow_url_fopen'] = $phpini->getResellerPermission('phpiniAllowUrlFopen'); $data['php_ini_al_display_errors'] = $phpini->getResellerPermission('phpiniDisplayErrors'); $data['post_max_size'] = $phpini->getResellerPermission('phpiniPostMaxSize'); $data['upload_max_filesize'] = $phpini->getResellerPermission('phpiniUploadMaxFileSize'); $data['max_execution_time'] = $phpini->getResellerPermission('phpiniMaxExecutionTime'); $data['max_input_time'] = $phpini->getResellerPermission('phpiniMaxInputTime'); $data['memory_limit'] = $phpini->getResellerPermission('phpiniMemoryLimit'); if (!$forUpdate) { return $data; } foreach (array('password', 'password_confirmation', 'fname', 'lname', 'gender', 'firm', 'zip', 'city', 'state', 'country', 'email', 'phone', 'fax', 'street1', 'street2', 'max_dmn_cnt', 'max_sub_cnt', 'max_als_cnt', 'max_mail_cnt', 'max_ftp_cnt', 'max_sql_db_cnt', 'max_sql_user_cnt', 'max_traff_amnt', 'max_disk_amnt', 'software_allowed', 'softwaredepot_allowed', 'websoftwaredepot_allowed', 'support_system', 'customer_id') as $key) { if (isset($_POST[$key])) { $data[$key] = clean_input($_POST[$key]); } } if (isset($_POST['reseller_ips']) && is_array($data['reseller_ips'])) { foreach ($_POST['reseller_ips'] as $key => $value) { $_POST['reseller_ips'][$key] = clean_input($value); } $data['reseller_ips'] = $_POST['reseller_ips']; } else { // We are safe here $data['reseller_ips'] = array(); } if (isset($_POST['php_ini_system'])) { $data['php_ini_system'] = clean_input($_POST['php_ini_system']); } if (isset($_POST['php_ini_al_disable_functions'])) { $data['php_ini_al_disable_functions'] = clean_input($_POST['php_ini_al_disable_functions']); } if (isset($_POST['php_ini_al_mail_function'])) { $data['php_ini_al_mail_function'] = clean_input($_POST['php_ini_al_mail_function']); } if (isset($_POST['php_ini_al_allow_url_fopen'])) { $data['php_ini_al_allow_url_fopen'] = clean_input($_POST['php_ini_al_allow_url_fopen']); } if (isset($_POST['php_ini_al_display_errors'])) { $data['php_ini_al_display_errors'] = clean_input($_POST['php_ini_al_display_errors']); } if (isset($_POST['post_max_size'])) { $data['post_max_size'] = clean_input($_POST['post_max_size']); } if (isset($_POST['upload_max_filesize'])) { $data['upload_max_filesize'] = clean_input($_POST['upload_max_filesize']); } if (isset($_POST['max_execution_time'])) { $data['max_execution_time'] = clean_input($_POST['max_execution_time']); } if (isset($_POST['max_input_time'])) { $data['max_input_time'] = clean_input($_POST['max_input_time']); } if (isset($_POST['memory_limit'])) { $data['memory_limit'] = clean_input($_POST['memory_limit']); } return $data; }
function generate_reseller_entry(&$tpl, $reseller_id, $reseller_name, $row) { global $crnt_month, $crnt_year; 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($udmn_current, $udmn_max, $udmn_uf, $usub_current, $usub_max, $usub_uf, $uals_current, $uals_max, $uals_uf, $umail_current, $umail_max, $umail_uf, $uftp_current, $uftp_max, $uftp_uf, $usql_db_current, $usql_db_max, $usql_db_uf, $usql_user_current, $usql_user_max, $usql_user_uf, $utraff_current, $utraff_max, $utraff_uf, $udisk_current, $udisk_max, $udisk_uf) = generate_reseller_users_props($reseller_id); $rtraff_max = $rtraff_max * 1024 * 1024; $rtraff_current = $rtraff_current * 1024 * 1024; $rdisk_max = $rdisk_max * 1024 * 1024; $rdisk_current = $rdisk_current * 1024 * 1024; $utraff_max = $utraff_max * 1024 * 1024; $udisk_max = $udisk_max * 1024 * 1024; $traff_percent = calc_bar_value($utraff_current, $rtraff_max, 400); list($traff_percent, $traff_red, $traff_green) = make_usage_vals($utraff_current, $rtraff_max); list($disk_percent, $disk_red, $disk_green) = make_usage_vals($udisk_current, $rdisk_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')); } $tpl->assign(array('RESELLER_NAME' => $reseller_name, 'RESELLER_ID' => $reseller_id, 'MONTH' => $crnt_month, 'YEAR' => $crnt_year, 'TRAFF_SHOW_PERCENT' => $traff_show_percent, 'TRAFF_PERCENT' => $traff_percent, 'TRAFF_USED' => make_hr($utraff_current), 'TRAFF_CURRENT' => make_hr($rtraff_current), 'TRAFF_MAX' => $rtraff_max ? make_hr($rtraff_max) : tr('unlimited'), 'DISK_SHOW_PERCENT' => $disk_show_percent, 'DISK_PERCENT' => $disk_percent, 'DISK_USED' => make_hr($udisk_current), 'DISK_CURRENT' => make_hr($rdisk_current), 'DISK_MAX' => $rdisk_max ? make_hr($rdisk_max) : tr('unlimited'), 'DMN_USED' => $udmn_current, 'DMN_CURRENT' => $rdmn_current, 'DMN_MAX' => $rdmn_max ? $rdmn_max : tr('unlimited'), 'SUB_USED' => $usub_current, 'SUB_CURRENT' => $rsub_current, 'SUB_MAX' => $rsub_max ? $rsub_max : tr('unlimited'), 'ALS_USED' => $uals_current, 'ALS_CURRENT' => $rals_current, 'ALS_MAX' => $rals_max ? $rals_max : tr('unlimited'), 'MAIL_USED' => $umail_current, 'MAIL_CURRENT' => $rmail_current, 'MAIL_MAX' => $rmail_max ? $rmail_max : tr('unlimited'), 'FTP_USED' => $uftp_current, 'FTP_CURRENT' => $rftp_current, 'FTP_MAX' => $rftp_max ? $rftp_max : tr('unlimited'), 'SQL_DB_USED' => $usql_db_current, 'SQL_DB_CURRENT' => $rsql_db_current, 'SQL_DB_MAX' => $rsql_db_max ? $rsql_db_max : tr('unlimited'), 'TR_OF' => tr('of'), 'SQL_USER_USED' => $usql_user_current, 'SQL_USER_CURRENT' => $rsql_user_current, 'SQL_USER_MAX' => $rsql_user_max ? $rsql_user_max : tr('unlimited'))); $tpl->parse('RESELLER_ENTRY', '.reseller_entry'); }
/** * 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']); }
/** * @param EasySCP_TemplateEngine $tpl * @param int $reseller_id * @param string $reseller_name * @param int $row * @return void */ function generate_reseller_entry($tpl, $reseller_id, $reseller_name, $row) { global $crnt_month, $crnt_year; 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($udmn_current, , , $usub_current, , , $uals_current, , , $umail_current, , , $uftp_current, , , $usql_db_current, , , $usql_user_current, , , $utraff_current, , , $udisk_current, , ) = generate_reseller_users_props($reseller_id); $rtraff_max = $rtraff_max * 1024 * 1024; $rtraff_current = $rtraff_current * 1024 * 1024; $rdisk_max = $rdisk_max * 1024 * 1024; $rdisk_current = $rdisk_current * 1024 * 1024; $traff_show_percent = calc_bar_value($utraff_current, $rtraff_max, 400); $disk_show_percent = calc_bar_value($udisk_current, $rdisk_max, 400); if ($rtraff_max > 0) { $traff_percent = $utraff_current / $rtraff_max * 100 < 99.7 ? $utraff_current / $rtraff_max * 100 : 99.7; } else { $traff_percent = 0; } if ($rdisk_max > 0) { $disk_percent = $udisk_current / $rdisk_max * 100 < 99.7 ? $udisk_current / $rdisk_max * 100 : 99.7; } else { $disk_percent = 0; } $tpl->append(array('RESELLER_NAME' => tohtml($reseller_name), 'RESELLER_ID' => $reseller_id, 'MONTH' => $crnt_month, 'YEAR' => $crnt_year, 'TRAFF_SHOW_PERCENT' => $traff_show_percent, 'TRAFF_PERCENT' => $traff_percent, 'TRAFF_MSG' => $rtraff_max ? tr('%1$s / %2$s <br/>of<br/> <strong>%3$s</strong>', sizeit($utraff_current), sizeit($rtraff_current), sizeit($rtraff_max)) : tr('%1$s / %2$s <br/>of<br/> <strong>unlimited</strong>', sizeit($utraff_current), sizeit($rtraff_current)), 'DISK_SHOW_PERCENT' => $disk_show_percent, 'DISK_PERCENT' => $disk_percent, 'DISK_MSG' => $rdisk_max ? tr('%1$s / %2$s <br/>of<br/> <strong>%3$s</strong>', sizeit($udisk_current), sizeit($rdisk_current), sizeit($rdisk_max)) : tr('%1$s / %2$s <br/>of<br/> <strong>unlimited</strong>', sizeit($udisk_current), sizeit($rdisk_current)), 'DMN_MSG' => $rdmn_max ? tr('%1$d / %2$d <br/>of<br/> <strong>%3$d</strong>', $udmn_current, $rdmn_current, $rdmn_max) : tr('%1$d / %2$d <br/>of<br/> <strong>unlimited</strong>', $udmn_current, $rdmn_current), 'SUB_MSG' => $rsub_max > 0 ? tr('%1$d / %2$d <br/>of<br/> <strong>%3$d</strong>', $usub_current, $rsub_current, $rsub_max) : ($rsub_max === "-1" ? tr('<strong>disabled</strong>') : tr('%1$d / %2$d <br/>of<br/> <strong>unlimited</strong>', $usub_current, $rsub_current)), 'ALS_MSG' => $rals_max > 0 ? tr('%1$d / %2$d <br/>of<br/> <strong>%3$d</strong>', $uals_current, $rals_current, $rals_max) : ($rals_max === "-1" ? tr('<strong>disabled</strong>') : tr('%1$d / %2$d <br/>of<br/> <strong>unlimited</strong>', $uals_current, $rals_current)), 'MAIL_MSG' => $rmail_max > 0 ? tr('%1$d / %2$d <br/>of<br/> <strong>%3$d</strong>', $umail_current, $rmail_current, $rmail_max) : ($rmail_max === "-1" ? tr('<strong>disabled</strong>') : tr('%1$d / %2$d <br/>of<br/> <strong>unlimited</strong>', $umail_current, $rmail_current)), 'FTP_MSG' => $rftp_max > 0 ? tr('%1$d / %2$d <br/>of<br/> <strong>%3$d</strong>', $uftp_current, $rftp_current, $rftp_max) : ($rftp_max === "-1" ? tr('<strong>disabled</strong>') : tr('%1$d / %2$d <br/>of<br/> <strong>unlimited</strong>', $uftp_current, $rftp_current)), 'SQL_DB_MSG' => $rsql_db_max > 0 ? tr('%1$d / %2$d <br/>of<br/> <strong>%3$d</strong>', $usql_db_current, $rsql_db_current, $rsql_db_max) : ($rsql_db_max === "-1" ? tr('<strong>disabled</strong>') : tr('%1$d / %2$d <br/>of<br/> <strong>unlimited</strong>', $usql_db_current, $rsql_db_current)), 'SQL_USER_MSG' => $rsql_user_max > 0 ? tr('%1$d / %2$d <br/>of<br/> <strong>%3$d</strong>', $usql_user_current, $rsql_user_current, $rsql_user_max) : ($rsql_user_max === "-1" ? tr('<strong>disabled</strong>') : tr('%1$d / %2$d <br/>of<br/> <strong>unlimited</strong>', $usql_user_current, $rsql_user_current)))); }