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


