浏览代码

[Web] Show label for relayed domains; Return total bytes and msgs of domain in API (WIP)

andryyy 5 年之前
父节点
当前提交
0095388f27
共有 2 个文件被更改,包括 17 次插入2 次删除
  1. 10 1
      data/web/inc/functions.mailbox.inc.php
  2. 7 1
      data/web/js/site/mailbox.js

+ 10 - 1
data/web/inc/functions.mailbox.inc.php

@@ -3220,7 +3220,14 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
                 WHERE `kind` NOT REGEXP 'location|thing|group'
                   AND `domain` = :domain");
           $stmt->execute(array(':domain' => $row['domain']));
-          $MailboxDataDomain	= $stmt->fetch(PDO::FETCH_ASSOC);
+          $MailboxDataDomain = $stmt->fetch(PDO::FETCH_ASSOC);
+          $stmt = $pdo->prepare("SELECT SUM(bytes) AS `bytes_total`, SUM(messages) AS `msgs_total` FROM `quota2`
+            WHERE `username` IN (
+              SELECT `username` FROM `mailbox`
+                WHERE `domain` = :domain
+            );");
+          $stmt->execute(array(':domain' => $row['domain']));
+          $SumQuotaInUse = $stmt->fetch(PDO::FETCH_ASSOC);
           $rl = ratelimit('get', 'domain', $_data);
           $domaindata['max_new_mailbox_quota']	= ($row['quota'] * 1048576) - $MailboxDataDomain['in_use'];
           if ($domaindata['max_new_mailbox_quota'] > ($row['maxquota'] * 1048576)) {
@@ -3231,6 +3238,8 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
             $domaindata['def_new_mailbox_quota'] = ($row['defquota'] * 1048576);
           }
           $domaindata['quota_used_in_domain'] = $MailboxDataDomain['in_use'];
+          $domaindata['bytes_total'] = $SumQuotaInUse['bytes_total'];
+          $domaindata['msgs_total'] = $SumQuotaInUse['msgs_total'];
           $domaindata['mboxes_in_domain'] = $MailboxDataDomain['count'];
           $domaindata['mboxes_left'] = $row['mailboxes']	- $MailboxDataDomain['count'];
           $domaindata['domain_name'] = $row['domain'];

+ 7 - 1
data/web/js/site/mailbox.js

@@ -287,7 +287,13 @@ jQuery(function($){
             }
             item.action += '<a href="#dnsInfoModal" class="btn btn-xs btn-info" data-toggle="modal" data-domain="' + encodeURIComponent(item.domain_name) + '"><span class="glyphicon glyphicon-question-sign"></span> DNS</a></div>';
             if (item.backupmx_int == 1) {
-              item.domain_name = '<span class="glyphicon glyphicon-export"></span> ' + item.domain_name;
+              if (item.relay_unknown_only_int == 1) {
+                item.domain_name = '<div class="label label-info">Relay Non-Local</div> ' + item.domain_name;
+              } else if (item.relay_all_recipients_int == 1) {
+                item.domain_name = '<div class="label label-info">Relay All</div> ' + item.domain_name;
+              } else {
+                item.domain_name = '<div class="label label-info">Relay</div> ' + item.domain_name;
+              }
             }
           });
         }