/** * Generates statistics for the given user * * @access private * @param iMSCP_pTemplate $tpl Template engine instance * @param int $adminId User unique identifier * @return void */ function _generateUserStatistics($tpl, $adminId) { list($adminName, , $webTraffic, $ftpTraffic, $smtpTraffic, $popImapTraffic, $trafficUsageBytes, $diskspaceUsageBytes) = shared_getCustomerStats($adminId); list($subCount, $subMax, $alsCount, $alsMax, $mailCount, $mailMax, $ftpUserCount, $FtpUserMax, $sqlDbCount, $sqlDbMax, $sqlUserCount, $sqlUserMax, $trafficLimit, $diskspaceLimit) = shared_getCustomerProps($adminId); $trafficLimitBytes = $trafficLimit * 1048576; $diskspaceLimitBytes = $diskspaceLimit * 1048576; $trafficPercent = make_usage_vals($trafficUsageBytes, $trafficLimitBytes); $diskPercent = make_usage_vals($diskspaceUsageBytes, $diskspaceLimitBytes); $tpl->assign(array('USER_ID' => tohtml($adminId), 'USERNAME' => tohtml(decode_idna($adminName)), 'TRAFF_PERCENT' => tohtml($trafficPercent), 'TRAFF_MSG' => $trafficLimitBytes ? tohtml(tr('%1$s / %2$s', bytesHuman($trafficUsageBytes), bytesHuman($trafficLimitBytes))) : tohtml(tr('%s / unlimited', bytesHuman($trafficUsageBytes))), 'DISK_PERCENT' => tohtml($diskPercent), 'DISK_MSG' => $diskspaceLimitBytes ? tohtml(tr('%1$s / %2$s', bytesHuman($diskspaceUsageBytes), bytesHuman($diskspaceLimitBytes))) : tohtml(tr('%s / unlimited', bytesHuman($diskspaceUsageBytes))), 'WEB' => tohtml(bytesHuman($webTraffic)), 'FTP' => tohtml(bytesHuman($ftpTraffic)), 'SMTP' => tohtml(bytesHuman($smtpTraffic)), 'POP3' => tohtml(bytesHuman($popImapTraffic)), 'SUB_MSG' => $subMax ? $subMax > 0 ? tohtml(tr('%1$d / %2$d', $subCount, $subMax)) : tohtml(tr('disabled')) : tohtml(tr('%d / unlimited', $subCount)), 'ALS_MSG' => $alsMax ? $alsMax > 0 ? tohtml(tr('%1$d / %2$d', $alsCount, $alsMax)) : tohtml(tr('disabled')) : tohtml(tr('%d / unlimited', $alsCount)), 'MAIL_MSG' => $mailMax ? $mailMax > 0 ? tohtml(tr('%1$d / %2$d', $mailCount, $mailMax)) : tohtml(tr('disabled')) : tohtml(tr('%d / unlimited', $mailCount)), 'FTP_MSG' => $FtpUserMax ? $FtpUserMax > 0 ? tohtml(tr('%1$d / %2$d', $ftpUserCount, $FtpUserMax)) : tohtml(tr('disabled')) : tohtml(tr('%d / unlimited', $ftpUserCount)), 'SQL_DB_MSG' => $sqlDbMax ? $sqlDbMax > 0 ? tohtml(tr('%1$d / %2$d', $sqlDbCount, $sqlDbMax)) : tohtml(tr('disabled')) : tohtml(tr('%d / unlimited', $sqlDbCount)), 'SQL_USER_MSG' => $sqlUserMax ? $sqlUserMax > 0 ? tohtml(tr('%1$d / %2$d', $sqlUserCount, $sqlUserMax)) : tohtml(tr('disabled')) : tohtml(tr('%d / unlimited', $sqlUserCount)))); }
/** * Genrate statistics entry for the given user * * @param iMSCP_pTemplate $tpl Template engine instance * @param int $adminId User unique identifier * @return void */ function _generateUserStatistics($tpl, $adminId) { list($adminName, $domainId, $web, $ftp, $smtp, $pop3, $trafficUsageBytes, $diskspaceUsageBytes) = shared_getCustomerStats($adminId); 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, $trafficMaxMebimytes, $diskspaceMaxMebibytes) = shared_getCustomerProps($adminId); $trafficLimitBytes = $trafficMaxMebimytes * 1048576; $diskspaceLimitBytes = $diskspaceMaxMebibytes * 1048576; $trafficUsagePercent = make_usage_vals($trafficUsageBytes, $trafficLimitBytes); $diskspaceUsagePercent = make_usage_vals($diskspaceUsageBytes, $diskspaceLimitBytes); $tpl->assign(array('USER_NAME' => tohtml(decode_idna($adminName)), 'USER_ID' => tohtml($adminId), 'TRAFF_PERCENT' => tohtml($trafficUsagePercent), 'TRAFF_MSG' => $trafficLimitBytes ? tohtml(tr('%s of %s', bytesHuman($trafficUsageBytes), bytesHuman($trafficLimitBytes))) : tohtml(tr('%s of unlimited', bytesHuman($trafficUsageBytes))), 'DISK_PERCENT' => tohtml($diskspaceUsagePercent), 'DISK_MSG' => $diskspaceLimitBytes ? tohtml(tr('%s of %s', bytesHuman($diskspaceUsageBytes), bytesHuman($diskspaceLimitBytes))) : tohtml(tr('%s of unlimited', bytesHuman($diskspaceUsageBytes))), 'WEB' => tohtml(bytesHuman($web)), 'FTP' => tohtml(bytesHuman($ftp)), 'SMTP' => tohtml(bytesHuman($smtp)), 'POP3' => tohtml(bytesHuman($pop3)), 'SUB_MSG' => $usub_max ? tohtml(tr('%d of %s', $usub_current, translate_limit_value($usub_max))) : tohtml(translate_limit_value($usub_max)), 'ALS_MSG' => $uals_max ? tohtml(tr('%d of %s', $uals_current, translate_limit_value($uals_max))) : tohtml(translate_limit_value($uals_max)), 'MAIL_MSG' => $umail_max ? tohtml(tr('%d of %s', $umail_current, translate_limit_value($umail_max))) : tohtml(translate_limit_value($umail_max)), 'FTP_MSG' => $uftp_max ? tohtml(tr('%d of %s', $uftp_current, translate_limit_value($uftp_max))) : tohtml(translate_limit_value($uftp_max)), 'SQL_DB_MSG' => $usql_db_max ? tohtml(tr('%d of %s', $usql_db_current, translate_limit_value($usql_db_max))) : tohtml(translate_limit_value($usql_db_max)), 'SQL_USER_MSG' => $usql_user_max ? tohtml(tr('%1$d of %2$d', $usql_user_current, translate_limit_value($usql_user_max))) : tohtml(translate_limit_value($usql_user_max)))); }
/** * 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']))))); }
/** * Generates page * * @param iMSCP_pTemplate $tpl Template instance engine * @param int $domainId Domain unique identifier * @return void */ function reseller_generatePage($tpl, $domainId) { $stmt = exec_query(' SELECT domain_admin_id FROM domain INNER JOIN admin ON(admin_id = domain_admin_id) WHERE domain_id = ? AND created_by = ? ', array($domainId, $_SESSION['user_id'])); if (!$stmt->rowCount()) { showBadRequestErrorPage(); } $domainAdminId = $stmt->fields['domain_admin_id']; $domainProperties = get_domain_default_props($domainAdminId, $_SESSION['user_id']); // Domain IP address info $stmt = exec_query("SELECT ip_number FROM server_ips WHERE ip_id = ?", $domainProperties['domain_ip_id']); if (!$stmt->rowCount()) { $domainIpAddr = tr('Not found.'); } else { $domainIpAddr = $stmt->fields['ip_number']; } $domainStatus = $domainProperties['domain_status']; // Domain status if ($domainStatus == 'ok' || $domainStatus == 'disabled' || $domainStatus == 'todelete' || $domainStatus == 'toadd' || $domainStatus == 'torestore' || $domainStatus == 'tochange' || $domainStatus == 'toenable' || $domainStatus == 'todisable') { $domainStatus = '<span style="color:green">' . tohtml(translate_dmn_status($domainStatus)) . '</span>'; } else { $domainStatus = '<b><font size="3" color="red">' . $domainStatus . "</font></b>"; } // Get total domain traffic usage in bytes $query = "\n SELECT\n IFNULL(SUM(dtraff_web), 0) AS dtraff_web, IFNULL(SUM(dtraff_ftp), 0) AS dtraff_ftp,\n IFNULL(SUM(dtraff_mail), 0) AS dtraff_mail, IFNULL(SUM(dtraff_pop), 0) AS dtraff_pop\n FROM\n domain_traffic\n WHERE\n domain_id = ?\n AND\n dtraff_time BETWEEN ? AND ?\n "; $stmt = exec_query($query, array($domainProperties['domain_id'], getFirstDayOfMonth(), getLastDayOfMonth())); if ($stmt->rowCount()) { $trafficUsageBytes = $stmt->fields['dtraff_web'] + $stmt->fields['dtraff_ftp'] + $stmt->fields['dtraff_mail'] + $stmt->fields['dtraff_pop']; } else { $trafficUsageBytes = 0; } // Get limits in bytes $trafficLimitBytes = $domainProperties['domain_traffic_limit'] * 1048576; $diskspaceLimitBytes = $domainProperties['domain_disk_limit'] * 1048576; // Get usages in percent $trafficUsagePercent = make_usage_vals($trafficUsageBytes, $trafficLimitBytes); $diskspaceUsagePercent = make_usage_vals($domainProperties['domain_disk_usage'], $diskspaceLimitBytes); // Get Email quota info list($quota, $quotaLimit) = reseller_gen_mail_quota_limit_mgs($domainAdminId); # Features $trEnabled = '<span style="color:green">' . tr('Enabled') . '</span>'; $trDisabled = '<span style="color:red">' . tr('Disabled') . '</span>'; $tpl->assign(array('DOMAIN_ID' => $domainId, 'VL_DOMAIN_NAME' => tohtml(decode_idna($domainProperties['domain_name'])), 'VL_DOMAIN_IP' => tohtml($domainIpAddr), 'VL_STATUS' => $domainStatus, 'VL_PHP_SUPP' => $domainProperties['domain_php'] == 'yes' ? $trEnabled : $trDisabled, 'VL_PHP_EDITOR_SUPP' => $domainProperties['phpini_perm_system'] == 'yes' ? $trEnabled : $trDisabled, 'VL_CGI_SUPP' => $domainProperties['domain_cgi'] == 'yes' ? $trEnabled : $trDisabled, 'VL_DNS_SUPP' => $domainProperties['domain_dns'] == 'yes' ? $trEnabled : $trDisabled, 'VL_EXT_MAIL_SUPP' => $domainProperties['domain_external_mail'] == 'yes' ? $trEnabled : $trDisabled, 'VL_SOFTWARE_SUPP' => $domainProperties['domain_software_allowed'] == 'yes' ? $trEnabled : $trDisabled, 'VL_BACKUP_SUP' => translate_limit_value($domainProperties['allowbackup']), 'VL_TRAFFIC_PERCENT' => $trafficUsagePercent, 'VL_TRAFFIC_USED' => bytesHuman($trafficUsageBytes), 'VL_TRAFFIC_LIMIT' => bytesHuman($trafficLimitBytes), 'VL_DISK_PERCENT' => $diskspaceUsagePercent, 'VL_DISK_USED' => bytesHuman($domainProperties['domain_disk_usage']), 'VL_DISK_LIMIT' => bytesHuman($diskspaceLimitBytes), 'VL_MAIL_ACCOUNTS_USED' => get_domain_running_mail_acc_cnt($domainId), 'VL_MAIL_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_mailacc_limit']), 'VL_MAIL_QUOTA_USED' => $quota, 'VL_MAIL_QUOTA_LIMIT' => $domainProperties['domain_mailacc_limit'] != '-1' ? $quotaLimit : tr('Disabled'), 'VL_FTP_ACCOUNTS_USED' => get_customer_running_ftp_acc_cnt($domainAdminId), 'VL_FTP_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_ftpacc_limit']), 'VL_SQL_DB_ACCOUNTS_USED' => get_domain_running_sqld_acc_cnt($domainId), 'VL_SQL_DB_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_sqld_limit']), 'VL_SQL_USER_ACCOUNTS_USED' => get_domain_running_sqlu_acc_cnt($domainId), 'VL_SQL_USER_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_sqlu_limit']), 'VL_SUBDOM_ACCOUNTS_USED' => get_domain_running_sub_cnt($domainId), 'VL_SUBDOM_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_subd_limit']), 'VL_DOMALIAS_ACCOUNTS_USED' => get_domain_running_als_cnt($domainId), 'VL_DOMALIAS_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_alias_limit']))); }
function gen_detaildom_page(&$tpl, $user_id, $domain_id) { global $sql; // Get domain data $query = <<<SQL_QUERY select *, IFNULL(domain_disk_usage, 0) as domain_disk_usage from domain where domain_id = ?; SQL_QUERY; $res = exec_query($sql, $query, array($domain_id)); $data = $res->FetchRow(); if ($res->RecordCount() <= 0) { header('Location: manage_users.php'); die; } // Get admin data $query = "select admin_name from admin where admin_id = ?"; $res1 = exec_query($sql, $query, array($data['domain_admin_id'])); $data1 = $res1->FetchRow(); if ($res1->RecordCount() <= 0) { header('Location: manage_users.php'); die; } // Get IP-info $query = "select * from server_ips where ip_id = ?"; $ipres = exec_query($sql, $query, array($data['domain_ip_id'])); $ipdat = $ipres->FetchRow(); // Get staus name $dstatus = $data['domain_status']; global $cfg; if ($dstatus == $cfg['ITEM_OK_STATUS'] || $dstatus == $cfg['ITEM_DISABLED_STATUS'] || $dstatus == $cfg['ITEM_DELETE_STATUS'] || $dstatus == $cfg['ITEM_ADD_STATUS'] || $dstatus == $cfg['ITEM_RESTORE_STATUS'] || $dstatus == $cfg['ITEM_CHANGE_STATUS'] || $dstatus == $cfg['ITEM_TOENABLE_STATUS'] || $dstatus == $cfg['ITEM_TODISABLED_STATUS']) { $dstatus = translate_dmn_status($data['domain_status']); } else { $dstatus = "<b><font size=3 color=red>" . $data['domain_status'] . "</font></b>"; } if ($data['domain_php'] == 'yes') { $php_stat = 'Enabled'; } else { $php_stat = 'disabled'; } if ($data['domain_cgi'] == 'yes') { $cgi_stat = 'Enabled'; } else { $cgi_stat = 'disabled'; } if ($data['domain_sqld_limit'] >= 0) { $sql_stat = 'Enabled'; } else { $sql_stat = 'disabled'; } // Traffic diagram $fdofmnth = mktime(0, 0, 0, date("m"), 1, date("Y")); $ldofmnth = mktime(1, 0, 0, date("m") + 1, 0, date("Y")); $query = <<<SQL_QUERY select IFNULL(sum(dtraff_web),0) as dtraff_web, IFNULL(sum(dtraff_ftp), 0) as dtraff_ftp, IFNULL(sum(dtraff_mail), 0) as dtraff_mail, IFNULL(sum(dtraff_pop),0) as dtraff_pop from domain_traffic where domain_id = ? and dtraff_time > ? and dtraff_time < ? SQL_QUERY; $res7 = exec_query($sql, $query, array($data['domain_id'], $fdofmnth, $ldofmnth)); $dtraff = $res7->FetchRow(); $sumtraff = $dtraff['dtraff_web'] + $dtraff['dtraff_ftp'] + $dtraff['dtraff_mail'] + $dtraff['dtraff_pop']; $dtraffmb = sprintf("%.1f", $sumtraff / 1024 / 1024); $month = date("m"); $year = date("Y"); $query = "select * from server_ips where ip_id=?"; $res8 = exec_query($sql, $query, array($data['domain_ip_id'])); $ipdat = $res8->FetchRow(); $domain_traffic_limit = $data['domain_traffic_limit']; $domain_all_traffic = $sumtraff; //$dtraff['traffic']; $traff = $domain_all_traffic / 1024 / 1024; $mtraff = sprintf("%.2f", $traff); if ($domain_traffic_limit == 0) { $pr = 0; } else { $pr = $traff / $domain_traffic_limit * 100; $pr = sprintf("%.2f", $pr); } $indx = (int) $pr; list($traffic_percent, $indx, $a) = make_usage_vals($domain_all_traffic, $domain_traffic_limit * 1024 * 1024); // Get disk status $domdu = $data['domain_disk_usage']; $domdl = $data['domain_disk_limit']; $tmp = $domdu / 1024 / 1024; if ($domdu == 0) { $dpr = 0; } else { if ($domdl == 0) { $dpr = 0; } else { $dpr = $tmp / $domdl * 100; $dpr = sprintf("%.2f", $dpr); } } $dindx = (int) $dpr; $domduh = make_hr($domdu); list($disk_percent, $dindx, $b) = make_usage_vals($domdu, $domdl * 1024 * 1024); // Get current mail count $query = "select count(mail_id) as mcnt from mail_users where domain_id = ?"; $res6 = exec_query($sql, $query, array($data['domain_id'])); $dat3 = $res6->FetchRow(); if ($data['domain_mailacc_limit'] == 0) { $mail_limit = tr('unlimited'); } else { if ($data['domain_mailacc_limit'] == -1) { $mail_limit = tr('None'); } else { $mail_limit = $data['domain_mailacc_limit']; } } // FTP stat $query = "select gid from ftp_group where groupname = ?"; $res4 = exec_query($sql, $query, array($data['domain_name'])); $ftp_gnum = $res4->RowCount(); if ($ftp_gnum == 0) { $used_ftp_acc = 0; } else { $dat1 = $res4->FetchRow(); $query = "select count(uid) as ftp_cnt from ftp_users where gid=?"; $res5 = exec_query($sql, $query, array($dat1['gid'])); $dat2 = $res5->FetchRow(); $used_ftp_acc = $dat2['ftp_cnt']; } if ($data['domain_ftpacc_limit'] == 0) { $ftp_limit = tr('unlimited'); } else { $ftp_limit = $data['domain_ftpacc_limit']; } // Get sql database count $query = "select count(sqld_id) as dnum from sql_database where domain_id=?"; $res = exec_query($sql, $query, array($data['domain_id'])); $dat5 = $res->FetchRow(); if ($data['domain_sqld_limit'] == 0) { $sql_db = tr('unlimited'); } else { if ($data['domain_sqld_limit'] == -1) { $sql_db = tr('None'); } else { $sql_db = $data['domain_sqld_limit']; } } // Get sql users count $query = "select count(u.sqlu_id) as ucnt from sql_user u,sql_database d where u.sqld_id=d.sqld_id and d.domain_id=?"; $res = exec_query($sql, $query, array($data['domain_id'])); $dat6 = $res->FetchRow(); if ($data['domain_sqlu_limit'] == 0) { $sql_users = tr('unlimited'); } else { if ($data['domain_sqlu_limit'] == -1) { $sql_users = tr('None'); } else { $sql_users = $data['domain_sqlu_limit']; } } // Get sub domain $query = "select count(subdomain_id) as sub_num from subdomain where domain_id=?"; $res1 = exec_query($sql, $query, array($data['domain_id'])); $sub_num_data = $res1->FetchRow(); if ($data['domain_subd_limit'] == 0) { $sub_dom = tr('unlimited'); } else { if ($data['domain_subd_limit'] == -1) { $sub_dom = tr('None'); } else { $sub_dom = $data['domain_subd_limit']; } } //Get domain aliases $query = "select count(alias_id) as alias_num from domain_aliasses where domain_id=?"; $res1 = exec_query($sql, $query, array($data['domain_id'])); $alias_num_data = $res1->FetchRow(); if ($data['domain_alias_limit'] == 0) { $dom_alias = tr('unlimited'); } else { if ($data['domain_alias_limit'] == -1) { $dom_alias = tr('None'); } else { $dom_alias = $data['domain_alias_limit']; } } // Fill in the fileds $tpl->assign(array('VL_DOMAIN_NAME' => $data['domain_name'], 'VL_DOMAIN_IP' => $ipdat['ip_number'] . ' (' . $ipdat['ip_alias'] . ')', 'VL_STATUS' => $dstatus, 'VL_PHP_SUPP' => tr($php_stat), 'VL_CGI_SUPP' => tr($cgi_stat), 'VL_MYSQL_SUPP' => tr($sql_stat), 'VL_TRAFFIC_PERCENT' => $traffic_percent, 'VL_TRAFFIC_USED' => make_hr($domain_all_traffic), 'VL_TRAFFIC_LIMIT' => make_hr($domain_traffic_limit * 1024 * 1024), 'VL_DISK_PERCENT' => $disk_percent, 'VL_DISK_USED' => $domduh, 'VL_DISK_LIMIT' => make_hr($data['domain_disk_limit'] * 1024 * 1024), 'VL_MAIL_ACCOUNTS_USED' => $dat3['mcnt'], 'VL_MAIL_ACCOUNTS_LIIT' => $mail_limit, 'VL_FTP_ACCOUNTS_USED' => $used_ftp_acc, 'VL_FTP_ACCOUNTS_LIIT' => $ftp_limit, 'VL_SQL_DB_ACCOUNTS_USED' => $dat5['dnum'], 'VL_SQL_DB_ACCOUNTS_LIIT' => $sql_db, 'VL_SQL_USER_ACCOUNTS_USED' => $dat6['ucnt'], 'VL_SQL_USER_ACCOUNTS_LIIT' => $sql_users, 'VL_SUBDOM_ACCOUNTS_USED' => $sub_num_data['sub_num'], 'VL_SUBDOM_ACCOUNTS_LIIT' => $sub_dom, 'VL_DOMALIAS_ACCOUNTS_USED' => $alias_num_data['alias_num'], 'VL_DOMALIAS_ACCOUNTS_LIIT' => $dom_alias)); }
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'))); }
function generate_page_data(&$tpl, $reseller_id, $reseller_name) { global $sql, $crnt_month, $crnt_year; $crnt_month = date("m"); $crnt_year = date("Y"); //global $tmpArr = get_reseller_default_props($sql, $reseller_id); //$tmpArr = generate_reseller_props($reseller_id); if (NULL !== $tmpArr) { // there are data in db 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) = $tmpArr; } else { 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) = array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } 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_user_props($reseller_id); // Convert into MB values $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; 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); gen_traff_usage($tpl, $utraff_current, $rtraff_max, 400); gen_disk_usage($tpl, $udisk_current, $rdisk_max, 400); if ($rtraff_max > 0) { if ($utraff_current > $rtraff_max) { $tpl->assign('TR_TRAFFIC_WARNING', tr('You are exceeding your traffic limit!')); } else { $tpl->assign('TRAFF_WARN', ''); } } else { if ($utraff_current > 1024 * 1024 * 1024 * 1024) { $tpl->assign('TR_TRAFFIC_WARNING', tr('You are exceeding your UNLIMITED traffic limit!')); } else { $tpl->assign('TRAFF_WARN', ''); } } //warning HDD Usage if ($rdisk_max > 0) { if ($udisk_current > $rdisk_max) { $tpl->assign('TR_DISK_WARNING', tr('You are exceeding your disk limit!')); } else { $tpl->assign('DISK_WARN', ''); } } else { if ($udisk_current > 1024 * 1024 * 1024 * 1024) { $tpl->assign('TR_DISK_WARNING', tr('You are exceeding your UNLIMITED disk limit!')); } else { $tpl->assign('DISK_WARN', ''); } } $tpl->assign(array('ACCOUNT_NAME' => tr("Account name"), 'GENERAL_INFO' => tr("General information"), "DOMAINS" => tr("User accounts"), "SUBDOMAINS" => tr("Subdomains"), "ALIASES" => tr("Aliases"), "MAIL_ACCOUNTS" => tr("Mail account"), "TR_FTP_ACCOUNTS" => tr("FTP account"), "SQL_DATABASES" => tr("SQL databases"), "SQL_USERS" => tr("SQL users"), "TRAFFIC" => tr("Traffic"), "DISK" => tr("Disk"), "TR_EXTRAS" => tr("Extras"))); $tpl->assign(array('RESELLER_NAME' => $reseller_name, 'TRAFF_RED' => $traff_red * 3, 'TRAFF_GREEN' => $traff_green * 3, '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_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'), 'SQL_USER_USED' => $usql_user_current, 'SQL_USER_CURRENT' => $rsql_user_current, 'SQL_USER_MAX' => $rsql_user_max ? $rsql_user_max : tr('unlimited'), 'EXTRAS' => '')); }
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'); }
/** * Generates server traffic bar * * @param iMSCP_pTemplate $tpl iMSCP_pTemplate instance * @return void */ function admin_generateServerTrafficInfo($tpl) { $cfg = iMSCP_Registry::get('config'); $trafficLimitBytes = intval($cfg['SERVER_TRAFFIC_LIMIT']) * 1048576; $trafficWarningBytes = intval($cfg['SERVER_TRAFFIC_WARN']) * 1048576; if (!$trafficWarningBytes) { $trafficWarningBytes = $trafficLimitBytes; } // Get server traffic usage value in bytes for the current month $stmt = exec_query(' SELECT IFNULL((SUM(bytes_in) + SUM(bytes_out)), 0) AS serverTrafficUsage FROM server_traffic WHERE traff_time BETWEEN ? AND ? ', array(getFirstDayOfMonth(), getLastDayOfMonth())); if ($stmt->rowCount()) { $row = $stmt->fetchRow(); $trafficUsageBytes = $row['serverTrafficUsage']; } else { $trafficUsageBytes = 0; } // Get traffic usage in percent $trafficUsagePercent = make_usage_vals($trafficUsageBytes, $trafficLimitBytes); if ($trafficLimitBytes) { $trafficMessage = tr('%1$s%% [%2$s of %3$s]', $trafficUsagePercent, bytesHuman($trafficUsageBytes), bytesHuman($trafficLimitBytes)); } else { $trafficMessage = tr('%1$s%% [%2$s of unlimited]', $trafficUsagePercent, bytesHuman($trafficUsageBytes)); } // Warning message about traffic if ($trafficUsageBytes && ($trafficWarningBytes && $trafficUsageBytes > $trafficWarningBytes || $trafficLimitBytes && $trafficUsageBytes > $trafficLimitBytes)) { set_page_message(tr('You are exceeding the monthly server traffic limit.'), 'static_warning'); } $tpl->assign(array('TRAFFIC_WARNING' => $trafficMessage, 'TRAFFIC_PERCENT' => $trafficUsagePercent)); }
/** * Generates disk usage bar. * * @param iMSCP_pTemplate $tpl Template engine * @param int $diskspaceUsageBytes Disk usage * @param int $diskspaceLimitBytes Max disk usage * @return void */ function reseller_generateDiskUsageBar($tpl, $diskspaceUsageBytes, $diskspaceLimitBytes) { $diskspaceUsagePercent = make_usage_vals($diskspaceUsageBytes, $diskspaceLimitBytes); // is Limited disk usage for reseller ? if ($diskspaceLimitBytes) { $diskUsageData = tr('%1$s%% [%2$s of %3$s]', $diskspaceUsagePercent, bytesHuman($diskspaceUsageBytes), bytesHuman($diskspaceLimitBytes)); } else { $diskUsageData = tr('%1$s%% [%2$s of unlimited]', $diskspaceUsagePercent, bytesHuman($diskspaceUsageBytes)); } $tpl->assign(array('DISK_USAGE_DATA' => $diskUsageData, 'DISK_PERCENT' => $diskspaceUsagePercent)); }