Refactoring "used quota" display using get_size_xx function in m_quota

This commit is contained in:
domi 2012-08-24 16:14:15 +00:00
parent 6155ddabc9
commit 90afce2198
2 changed files with 130 additions and 29 deletions

View File

@ -75,7 +75,7 @@ if (isset($error) && $error) {
foreach ($mList as $mUID => $mData)
{
list($tmpweb) = @mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_web WHERE uid = '" . $mUID . "'"));
$tmpweb = $quota->get_size_web_sum_user($mUID);
$totalweb += $tmpweb;
if (!empty($mData["domaines"]))
@ -84,36 +84,36 @@ if (isset($error) && $error) {
{
$dc++;
list($tmpmail) = @mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_mail WHERE alias LIKE '%\_" . $domaine . "'"));
$tmpmail = $quota->get_size_mail_sum_domain($domaine);
$totalmail += $tmpmail;
list($mc) = @mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM size_mail WHERE alias LIKE '%\_" . $domaine . "'"));
$mc = $quota->get_size_mail_count_domain($domaine);
list($tmplist) = @mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_mailman WHERE list LIKE '%@" . $domaine . "'"));
$tmplist = $quota->get_size_mailman_sum_domain($domaine);
$totallist += $tmplist;
}
}
list($mlc) = @mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM size_mailman WHERE uid = '" . $mUID . "'"));
list($tmpdb) = @mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_db WHERE db = '" . $mData["login"] . "' OR db LIKE '" . $mData["login"] . "\_%'"));
$mlc = $quota->get_size_mailman_count_user($mUID);
$tmpdb = $quota->get_size_db_sum_user($mData["login"]);
$totaldb += $tmpdb;
list($dbc) = @mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM size_db WHERE db = '" . $mData["login"] . "' OR db LIKE '" . $mData["login"] . "\_%'"));
$dbc = $quota->get_size_db_count_user($mData["login"]);
}
$totaltotal=$totalweb+$totallist+$totalmail+($totaldb/1024); // en Ko
}
else
{
list($totalweb)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_web;"));
list($totalmail)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_mail;"));
list($totallist)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_mailman;"));
list($totaldb)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_db;"));
$totalweb = $quota->get_size_web_sum_all();
$totalmail = $quota->get_size_mail_sum_all();
$totallist = $quota->get_size_mailman_sum_all();
$totaldb = $quota->get_size_db_sum_all();
$totaltotal=$totalweb+$totallist+$totalmail+($totaldb/1024); // en Ko
list($dc)=@mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM domaines;"));
list($mc)=@mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM size_mail;"));
list($mlc)=@mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM size_mailman;"));
list($dbc)=@mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM size_db;"));
$mc = $quota->get_size_mail_count_all();
$mlc = $quota->get_size_mailman_count_all();
$dbc = $quota->get_size_db_count_all();
}
?>
@ -200,7 +200,7 @@ if ($cuid != 2000)
foreach ($mList as $mUID => $mData)
{
list($tmpweb) = @mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_web WHERE uid = '" . $mUID . "'"));
$tmpweb = $quota->get_size_web_sum_user($mUID);
$totalweb += $tmpweb;
if (!empty($mData["domaines"]))
@ -209,28 +209,28 @@ if ($cuid != 2000)
{
$dc++;
list($tmpmail) = @mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_mail WHERE alias LIKE '%\_" . $domaine . "'"));
$tmpmail = $quota->get_size_mail_sum_domain($domaine);
$totalmail += $tmpmail;
list($mc) = @mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM size_mail WHERE alias LIKE '%\_" . $domaine . "'"));
$mc = $quota->get_size_mail_count_domain($domaine);
list($tmplist) = @mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_mailman WHERE list LIKE '%@" . $domaine . "'"));
$tmplist = $quota->get_size_mailman_sum_domain($domaine);
$totallist += $tmplist;
}
}
list($mlc) = @mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM size_mailman WHERE uid = '" . $mUID . "'"));
list($tmpdb) = @mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_db WHERE db = '" . $mData["login"] . "' OR db LIKE '" . $mData["login"] . "\_%'"));
$mlc = $quota->get_size_mailman_count_domain($mUID);
$tmpdb = $quota->get_size_db_sum_user($mData["login"]);
$totaldb += $tmpdb;
list($dbc) = @mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM size_db WHERE db = '" . $mData["login"] . "' OR db LIKE '" . $mData["login"] . "\_%'"));
$dbc = $quota->get_size_db_count_user($mData["login"]);
}
}
else
{
list($totalweb)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_web;"));
list($totalmail)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_mail;"));
list($totallist)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_mailman;"));
list($totaldb)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_db;"));
$totalweb = $quota->get_size_web_sum_all();
$totalmail = $quota->get_size_mail_sum_all();
$totallist = $quota->get_size_mailman_sum_all();
$totaldb = $quota->get_size_db_sum_all();
}
$totaltotal=$totalweb+$totallist+$totalmail+($totaldb/1024); // en Ko
@ -258,9 +258,9 @@ while ($c=mysql_fetch_array($r)) {
while ($d=mysql_fetch_array($s)) {
if ($sd) echo "&nbsp;&nbsp;&nbsp;-&nbsp;".$d["domaine"]."<br />\n";
$dc++;
list($mstmp)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_mail WHERE alias LIKE '%\_".$d["domaine"]."';"));
$mstmp = $quota->get_size_mail_sum_domain($d["domaine"]);
$ms+=$mstmp;
list($mlstmp)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_mailman WHERE list LIKE '%@".$d["domaine"]."';"));
$mlstmp = $quota->get_size_mailman_sum_domain($d["domaine"]);
$mls+=$mlstmp;
}
@ -273,7 +273,7 @@ if ($sd) echo "&nbsp;&nbsp;&nbsp;-&nbsp;".$d["domaine"]."<br />\n";
echo ">";
// Espace WEB
list($ws)=@mysql_fetch_array(mysql_query("SELECT size FROM size_web WHERE uid='".$c["uid"]."';"));
$ws = $quota->get_size_web_sum_user($c["uid"]);
if (isset($totalweb) && $totalweb){
$pc=intval(100*$ws/$totalweb);
@ -331,7 +331,7 @@ if ($mode!=2) echo " style=\"text-align: right\"";
echo ">";
// Espace DB :
list($ds)=@mysql_fetch_array(mysql_query("SELECT SUM(size) FROM size_db WHERE db='".$c["login"]."' OR db LIKE '".$c["login"]."\_%';"));
$ds = $quota->get_size_db_sum_user($c["login"]);
if ($totaldb)
$pc=intval(100*$ds/$totaldb);

View File

@ -361,6 +361,107 @@ class m_quota {
}
}
/* get size_xx function (filled by spoolsize.php) */
function _get_sum_sql($sql) {
global $db,$err,$cuid;
$db->query($sql);
if ($db->num_rows() == 0) {
return -1;
} else {
$db->next_record();
$r = $db->Record;
return $r['sum'];
}
}
function _get_count_sql($sql) {
global $db,$err,$cuid;
$db->query($sql);
if ($db->num_rows() == 0) {
return 0;
} else {
$db->next_record();
$r = $db->Record;
return $r['count'];
}
}
/* sum of websites sizes from all users */
function get_size_web_sum_all() {
return $this->_get_sum_sql("SELECT SUM(size) AS sum FROM size_web;");
}
/* sum of websites sizes from one user */
function get_size_web_sum_user($u) {
return $this->_get_sum_sql("SELECT SUM(size) AS sum FROM size_web WHERE uid='$u';");
}
/* sum of mailbox sizes from all domains */
function get_size_mail_sum_all() {
return $this->_get_sum_sql("SELECT SUM(size) AS sum FROM size_mail;");
}
/* sum of mailbox sizes for one domain */
function get_size_mail_sum_domain($dom) {
return $this->_get_sum_sql("SELECT SUM(size) AS sum FROM size_mail WHERE alias LIKE '%\_{$dom}'");
}
/* count of mailbox sizes from all domains */
function get_size_mail_count_all() {
return $this->_get_count_sql("SELECT COUNT(*) AS count FROM size_mail;");
}
/* count of mailbox for one domain */
function get_size_mail_count_domain($dom) {
return $this->_get_count_sql("SELECT COUNT(*) AS count FROM size_mail FROM size_mail WHERE alias LIKE '%\_{$dom}'");
}
/* sum of mailman lists sizes from all domains */
function get_size_mailman_sum_all() {
return $this->_get_sum_sql("SELECT SUM(size) AS sum FROM size_mailman;");
}
/* sum of mailman lists sizes for one domain */
function get_size_mailman_sum_domain($dom) {
return $this->_get_sum_sql("SELECT SUM(size) AS sum FROM size_mailman WHERE list LIKE '%@{$dom}'");
}
/* count of mailman lists sizes from all domains */
function get_size_mailman_count_all() {
return $this->_get_count_sql("SELECT COUNT(*) AS count FROM size_mailman;");
}
/* count of mailman lists for one user */
function get_size_mailman_count_user($u) {
return $this->_get_count_sql("SELECT COUNT(*) AS count FROM size_mailman WHERE uid = '{$u}'");
}
/* sum of databases sizes from all users */
function get_size_db_sum_all() {
return $this->_get_sum_sql("SELECT SUM(size) AS sum FROM size_db;");
}
/* sum of databases sizes for one user */
function get_size_db_sum_user($u) {
return $this->_get_sum_sql("SELECT SUM(size) AS sum FROM size_db WHERE db = '{$u}' OR db LIKE '{$u}\_%'");
}
/* count of databases from all users */
function get_size_db_count_all() {
return $this->_get_count_sql("SELECT COUNT(*) AS count FROM size_db;");
}
/* count of mailman lists for one user */
function get_size_db_count_user($u) {
return $this->_get_count_sql("SELECT COUNT(*) AS count FROM size_db WHERE db = '{$u}' OR db LIKE '{$u}\_%'");
}
#list($dc)=@mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM domaines;"));
/* ==== Hook functions ==== */
/* ----------------------------------------------------------------- */
/** Hook function call when a user is deleted