Linux:Web-Cyradm Nombre de comptes et d'alias

Un article de Djjnet.

De base, Web-Cyradm ne fait pas de distinction entre comptes et alias. Si vous avez besoin de 500 alias mais seulement 50 comptes mails, vous devez permettre la création de 550 comptes.

Ces modifications sont basées sur la version http://www.web-cyradm.org/web-cyradm-svn-trunk.tar.gz

Voici comment distinguer le nombre maximum de comptes du nombre maximum d'alias :

Sommaire

La base de données

Modifier la table domain et ajouter la colonne maxalias de type int comme maxaccounts. Dans cet exemple, je considère que maxalias est ajouté après maxaccounts.

ALTER TABLE `domain` ADD `maxalias` INT NOT NULL DEFAULT '100' AFTER `maxaccounts` ;

Mettre une valeur par défaut plus important, par exemple 200.

Editer les fichiers php

Fichier validate.inc.php

Au début dans : $_get_vars = array(
ajouter 'maxalias', après 'maxaccounts',

Fichier newdomain.php

Sous :

                                               <tr>
                                                       <td>
                                                               <?php print _("Maximum Accounts");?>
                                                       </td>
                                                       <td>
                                                               <input
                                                               class="inputfield"
                                                               type="text"
                                                               size="2"
                                                               name="maxaccounts"
                                                               >
                                                       </td>
                                               </tr>

Ajouter :

                                               <tr>
                                                       <td>
                                                               <?php print _("Maximum Alias");?>
                                                       </td>
                                                       <td>
                                                               <input
                                                               class="inputfield"
                                                               type="text"
                                                               size="2"
                                                               name="maxalias"
                                                               >
                                                       </td>
                                               </tr>

Modifier :

                                       $query = "INSERT INTO domain (domain_name, prefix, maxaccounts, quota, domainquota, transport,freenames,freeaddress,folders) VALUES ('".$_GET['domain']."', '".$_GET['prefix']."', '".$_GET['maxaccounts']."', '".$_GET['quota']."', '".$_GET['domainquota']."', '".$trans."', '".$freenames."', '".$freeaddress."','".$_GET['defaultfolders']."')";

Ainsi :

                                       $query = "INSERT INTO domain (domain_name, prefix, maxaccounts, maxalias, quota, domainquota, transport,freenames,freeaddress,folders) VALUES ('".$_GET['domain']."', '".$_GET['prefix']."', '".$_GET['maxaccounts']."', '".$_GET['maxalias']."', '".$_GET['quota']."', '".$_GET['domainquota']."', '".$trans."', '".$freenames."', '".$freeaddress."','".$_GET['defaultfolders']."')";


Fichier newalias.php

Après :

               $maxaccounts    = $row['maxaccounts'];

Ajouter :

                $maxalias       = $row['maxalias'];

Modifier :

if ($cnt2+1 > $maxaccounts){

Ainsi :

if ($cnt2+1 > $maxalias){

Modifer :

<?php echo $maxaccounts;?>

Ainsi :

<?php echo $maxalias;?>

Fichier editdomain.php

Modifier :

                               $query = "UPDATE domain SET domain_name='".$_GET['newdomain']."', maxaccounts='".$_GET['maxaccounts']."', quota='".$_GET['quota']."', domainquota='".$_GET['domainquota']."', freenames='".$freenames."',freeaddress='".$freeaddress."', folders='".$_GET['defaultfolders']."', prefix='".$_GET['newprefix']."' WHERE domain_name='".$_GET['domain']."'";

Ainsi :

                               $query = "UPDATE domain SET domain_name='".$_GET['newdomain']."', maxaccounts='".$_GET['maxaccounts']."', maxalias='".$_GET['maxalias']."', quota='".$_GET['quota']."', domainquota='".$_GET['domainquota']."', freenames='".$freenames."',freeaddress='".$freeaddress."', folders='".$_GET['defaultfolders']."', prefix='".$_GET['newprefix']."' WHERE domain_name='".$_GET['domain']."'";

Sous :

$maxaccounts = $row['maxaccounts'];

Ajouter :

$maxalias = $row['maxalias'];

Sous :

                                               <tr>
                                                       <td width="150">
                                                               <?php print _("Maximum Accounts");?>
                                                       </td>
                                                       <td>
                                                               <input class="inputfield"
                                                               type="text" size="4"
                                                               name="maxaccounts"
                                                               value="<?php print $maxaccounts; ?>"
                                                               >
                                                       </td>
                                               </tr>

Ajouter :

                                               <tr>
                                                       <td width="150">
                                                               <?php print _("Maximum Alias");?>
                                                       </td>
                                                       <td>
                                                               <input class="inputfield"
                                                               type="text" size="4"
                                                               name="maxalias"
                                                               value="<?php print $maxalias; ?>"
                                                               >
                                                       </td>
                                               </tr>

Fichier search.php

Après :

   print "<th>"._("max Accounts")."</th>";

Ajouter :

   print "<th>"._("max Alias")."</th>";

Après :

   # Print the maxaccount
   print $row['maxaccounts'];

Ajouter :

   print "</td>\n<td align=\"right\">";
   # Print the maxalias
   print $row['maxalias'];

Fichier locale/fr/LC_MESSAGES/web-cyradm.po

Sous :

msgid "max Accounts"
msgstr "Nb max de comptes"

Ajouter :

#: browse.php:38 search.php:60
msgid "max Alias"
msgstr "Nb max d'alias"

Sous :

#: editdomain.php:159 newdomain.php:102
msgid "Maximum Accounts"
msgstr "Maximum de comptes"

Ajouter :

#: editdomain.php:159 newdomain.php:102
msgid "Maximum Alias"
msgstr "Maximum d'alias"

Puis lancer :

msgfmt -o locale/fr/LC_MESSAGES/web-cyradm.mo locale/fr/LC_MESSAGES/web-cyradm.po