don't count assigned domain quota for inactive domains
now only summing up the assigned domain quota for active domains, and not subtracting disc base occupied by mailboxes of inactive domains (inactive_bytes)master
parent
471ab05423
commit
f01e3e59c5
|
@ -44,8 +44,9 @@ else {
|
|||
$exec_fields = array('cmd' => 'system', 'task' => 'df', 'dir' => '/var/vmail');
|
||||
$vmail_df = explode(',', json_decode(docker('post', 'dovecot-mailcow', 'exec', $exec_fields), true));
|
||||
$domainQuota = round(domain_admin('total_quota')/1024);
|
||||
$inactive_bytes = round(mailbox('get','inactive_bytes')/1024/1024/1024);
|
||||
$quotaPercent1 = round(($domainQuota/substr($vmail_df[3], 0, -1))*100);
|
||||
$quotaPercent2 = round((($domainQuota-substr($vmail_df[2], 0, -1))/substr($vmail_df[3], 0, -1))*100);
|
||||
$quotaPercent2 = round((($domainQuota-substr($vmail_df[2], 0, -1)+$inactive_bytes)/substr($vmail_df[3], 0, -1))*100);
|
||||
$quotaPercent2 = ($quotaPercent2+substr($vmail_df[4], 0, -1)>100) ? 100-substr($vmail_df[4], 0, -1) : $quotaPercent2; //handling overcommitment
|
||||
?>
|
||||
<div role="tabpanel" class="tab-pane active" id="tab-containers">
|
||||
|
|
|
@ -453,7 +453,7 @@ function domain_admin($_action, $_data = null) {
|
|||
);
|
||||
return false;
|
||||
}
|
||||
$stmt = $pdo->query("SELECT SUM(`quota`) AS `quota` FROM `domain`");
|
||||
$stmt = $pdo->query("SELECT SUM(`quota`) AS `quota` FROM `domain` WHERE `active`=1");
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
return $row['quota'];
|
||||
break;
|
||||
|
|
|
@ -3254,6 +3254,19 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
|||
}
|
||||
return $resourcedata;
|
||||
break;
|
||||
case 'inactive_bytes':
|
||||
if ($_SESSION['mailcow_cc_role'] != "admin") {
|
||||
return false;
|
||||
}
|
||||
$stmt = $pdo->query("SELECT SUM(`quota2`.`bytes`) AS `bytes`
|
||||
FROM `mailbox`, `quota2`, `domain`
|
||||
WHERE `mailbox`.`kind` NOT REGEXP 'location|thing|group'
|
||||
AND `mailbox`.`username` = `quota2`.`username`
|
||||
AND `domain`.`domain` = `mailbox`.`domain`
|
||||
AND `domain`.`active` = 0");
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
return $row['bytes'];
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 'delete':
|
||||
|
|
Loading…
Reference in New Issue