AlternC / AlternC

AlternC Hosting Panel
https://alternc.com/Home-fr
GNU General Public License v2.0
107 stars 68 forks source link

Page des quotas, corrections #171

Open quenenni opened 7 years ago

quenenni commented 7 years ago

Des corrections pour que la page d'affichage des quotas affichent tous les quotas:

  1. Fichier admin/quotas_users.php

    • Ligne 282:
      // Erreur dans le nom de la clé donnée au tableau (mailmainsize -> mailmansize)
      $one["mailmansize"]=$mls;
    • Ligne 353:
      // Taille dans la Db est en ko et non octet (ajouté le * 1024)
      $mailmansize=$quota->get_size_unit($mls * 1024);
  2. fichier admin/quotas_oneuser.php

    11,20d10
    <
    < // Si la var $usr existe, c'est qu'on appelle les quotas pour 1 user à partir des quotas généraux de l'admin
    < // Sinon, on récupère l'id du user à récupérer via $mem->user["login"]
    < if (isset($usr) && is_int($usr)) {   
    <   $id_usr=$usr;
    <   $login=$admin->get_login_by_uid($id_usr);
    < } else {
    <   $id_usr = $mem->user["uid"];
    <   $login = $mem->user["login"];
    < }
    24c14
    < <h3 style="text-align:center;"><?php printf(_("<b>%s</b> account"),$login); ?></h3>
    ---
    > <h3 style="text-align:center;"><?php printf(_("<b>%s</b> account"),$mem->user["login"]); ?></h3>
    46,48d32
    < <!-- Petit changement d'affichage. On n'affiche plus que le titre en gras et en plus grand -->
    < <p style="text-align: left; font-size:16px;"><b><?php __("Emails"); ?></b></p>
    <
    60c44
    <   $domaines_user = $dom->enum_domains($id_usr);
    ---
    >   $domaines_user = $dom->enum_domains($mem->user["uid"]);
    103c87
    <     echo "<tr><td style=\"text-align: right\"><i><b>". _('Total'). " {$domaine}</b></i></td><td></td>";
    ---
    >     echo "<tr><td><i>". _('Total'). " {$domaine}</i></td><td></td>";
    106c90
    <     echo "><i><b>";
    ---
    >     echo "><i>";
    114c98
    <     echo "</b></i></td></tr>";
    ---
    >     echo "</i></td></tr>";
    125c109
    <   $totaldb = $quota->get_size_db_sum_user($login);
    ---
    >   $totaldb = $quota->get_size_db_sum_user($mem->user["login"]);
    128,133c112,114
    <
    <   // Petit changement d'affichage. On n'affiche plus que le titre en gras et plus grosse fonte (comme un titre de section),
    <   // et le total va se mettre en bas du tableau
    <   echo "<p style=\"text-align: left; font-size:16px;\"><b>"._("Databases:")." ";
    < //  echo sprintf("%.1f", $t['size'])."&nbsp;".$t['unit'];
    <   echo "</b></p>";
    ---
    >   echo "<p>"._("Databases:")." ";
    >   echo sprintf("%.1f", $t['size'])."&nbsp;".$t['unit'];
    >   echo "</p>";
    146c127
    <   $db_sizes = $quota->get_size_db_details_user($login);
    ---
    >   $db_sizes = $quota->get_size_db_details_user($mem->user["login"]);
    162,163c143
    <       // y avait 2x$pc comme 1er param, j'ai retiré le 2x
    <       $quota->quota_displaybar($pc, 0);
    ---
    >       $quota->quota_displaybar(2*$pc, 0);
    167,174d146
    <
    <   // Ajout du total en bas du tableau comme pour les mails
    <   if (count($db_sizes) > 0 && $mode==0) {
    <     echo "<tr><td style=\"text-align: right\"><i><b>". _('Total'). " " . _("Databases:")."</b></i></td>";
    <     echo "<td style=\"text-align: right\"><i><b>";
    <     echo sprintf("%.1f", $t['size'])."&nbsp;".$t['unit'];
    <     echo "</b></i></td></tr>";
    <   }
    182c154
    <   $totallist = $quota->get_size_mailman_sum_user($id_usr);
    ---
    >   $totallist = $quota->get_size_mailman_sum_user($mem->user["uid"]);
    186,191c158,160
    <
    <     // Petit changement d'affichage. On n'affiche plus que le titre en gras et plus grosse fonte (comme un titre de section),
    <     // et le total va se mettre en bas du tableau
    <     echo "<p style=\"text-align: left; font-size:16px;\"><b>"._("Mailman lists:")." ";
    < //    echo sprintf("%.1f", $t['size'])."&nbsp;".$t['unit'];
    <     echo "</b></p>";
    ---
    >     echo "<p>"._("Mailman lists:")." ";
    >     echo sprintf("%.1f", $t['size'])."&nbsp;".$t['unit'];
    >     echo "</p>";
    194,195c163
    < <!-- mis le width à 100% comme pour les autres tableaux -->
    < <table class="tedit" width='100%'>   
    ---
    > <table class="tedit" width='60%'>
    205c173
    <   $mailman_size = $quota->get_size_mailman_details_user($id_usr);
    ---
    >   $mailman_size = $quota->get_size_mailman_details_user($mem->user["uid"]);
    212,213c180
    <       // Remplacé $ds par $d pour récupérer la taille car on a fait un taille x 1024 pour obtenir le $ds
    <       $pc=intval(100*$d['size']/$totallist);
    ---
    >       $pc=intval(100*$ds['size']/$totallist);
    226,235d192
    <
    <   // Ajout du total en bas du tableau comme pour les mails
    <   if (count($db_sizes) > 0 && $mode==0) {
    <     echo "<tr><td style=\"text-align: right\"><i><b>". _('Total'). " " . _("Mailman lists:")."</b></i></td>";
    <     echo "<td";
    <     if ($mode!=2) echo " style=\"text-align: right\"";
    <     echo "><i><b>";
    <     echo sprintf("%.1f", $t['size'])."&nbsp;".$t['unit'];
    <     echo "</b></i></td></tr>";
    <   }
    242d198
    < <p>&nbsp;</p>
  3. Fichier class/m_quota.php

    function get_size_mailman_sum_domain($dom) {
        // Changé la requête car le domaine n'est pas attaché au nom de la liste dans la table size_mailman
        return $this->_get_sum_sql("SELECT SUM(size) AS sum FROM size_mailman s INNER JOIN mailman m ON s.list = m.list AND s.uid = m.uid WHERE m.domain = '$dom'");
    }
quenenni commented 7 years ago

Faut ajouter à ceci les modifs du ticket #170

PS: Attention que si on décide de créer la table dovecot_quota pour maintenir la taille des comptes mails (cf #168 ), il faut garder les modifs du ticket #168 et non celles du #170.