2009-09-06 03:20:22 +02:00
< ? php
/**
* Add / Modify an account
*
* Copyright ( c ) 2004 - 2006 Evolix - Tous droits reserves
* $Id : compte . php , v 1.34 2009 - 09 - 02 23 : 10 : 52 gcolpart Exp $
*
* @ author Gregory Colpart < reg @ evolix . fr >
* @ version 1.0
*/
2017-12-11 18:20:13 +01:00
// Force authentication on this page
require_once ( " lib/auth.php " );
2009-09-06 03:20:22 +02:00
/**
* Path
*/
define ( 'EVOADMIN_BASE' , './' );
/**
* Requires
*/
2017-10-12 21:30:10 +02:00
require_once EVOADMIN_BASE . 'lib/common.php' ;
2009-09-06 03:20:22 +02:00
2017-10-12 21:33:44 +02:00
include EVOADMIN_BASE . 'inc/haut.php' ;
include EVOADMIN_BASE . 'inc/debut.php' ;
2009-09-06 03:20:22 +02:00
$rdn = $_SESSION [ 'rdn' ];
/**
* Account modification
*/
if ( isset ( $_GET [ 'view' ])) {
$uid = Html :: clean ( $_GET [ 'view' ]);
$ldapconn = Ldap :: lda_connect ( LDAP_ADMIN_DN , LDAP_ADMIN_PASS );
$filter = " (uid= $uid ) " ;
$sr = ldap_search ( $ldapconn , $rdn , $filter );
$info = ldap_get_entries ( $ldapconn , $sr );
$cn = $info [ 0 ][ " cn " ][ 0 ];
$sn = $info [ 0 ][ " sn " ][ 0 ];
$gid = $info [ 0 ][ " gidnumber " ][ 0 ];
// optional
$mail = array_key_exists ( " mail " , $info [ 0 ]) ? $info [ 0 ][ " mail " ][ 0 ] : '' ;
// Cas d'un compte Samba
if (( $conf [ 'admin' ][ 'what' ] == 2 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
$displayname = $info [ 0 ][ " displayname " ][ 0 ];
$sambagroup = array_search ( $gid , getsambagroups ( 'unix' ));
if ( ! $sambagroup ) {
$sambagroup = " !!undefined!! " ;
}
}
/**
* Set account modification
*/
if ( ( isset ( $_GET [ 'modif' ])) && ( $_GET [ 'modif' ] == 'yes' )) {
print " <center> " ;
print " <p>Modification en cours...</p> " ;
// TODO : contraintes sur cn, sn, etc.
2017-02-13 17:25:07 +01:00
if ( $cn != Html :: clean ( $_POST [ 'cn' ]) ) {
2009-09-06 03:20:22 +02:00
$new [ " cn " ] = Html :: justclean ( Html :: purgeaccents ( utf8_decode ( $_POST [ 'cn' ])));
2017-02-13 17:25:07 +01:00
2009-09-06 03:20:22 +02:00
if ( $conf [ 'evoadmin' ][ 'version' ] == 1 ) {
$new [ " sn " ] = $new [ " cn " ];
}
}
2017-02-13 17:25:07 +01:00
if ( ( $conf [ 'evoadmin' ][ 'version' ] > 1 ) && ( ! $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ]) && ( $sn != Html :: clean ( $_POST [ 'sn' ]) ) ) {
2009-09-06 03:20:22 +02:00
$new [ " sn " ] = Html :: justclean ( Html :: purgeaccents ( utf8_decode ( $_POST [ 'sn' ])));
}
2017-02-13 17:25:07 +01:00
if ( ( ! $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ]) && ( $mail != Html :: clean ( $_POST [ 'mail' ]) )) {
2009-09-06 03:20:22 +02:00
$new [ " mail " ] = Html :: clean ( $_POST [ 'mail' ]);
}
if ( $_POST [ 'pass1' ] != '' ) {
if ( $_POST [ 'pass1' ] != $_POST [ 'pass2' ] ) {
print " <p class='error'>Erreur, vous avez tapé
deux mots de passe diff & eacute ; rents </ p > " ;
EvoLog :: log ( " Reinit password failed for $uid by $login " );
exit ( 1 );
}
if ( Auth :: badpassword ( $_POST [ 'pass1' ]) ) {
print " <p class='error'>Erreur, mot de passe invalide
( trop court ou avec des caracteres incorrects ) </ p > " ;
EvoLog :: log ( " Set password failed for $uid by $login " );
exit ( 1 );
}
$new [ " userPassword " ] = " { SSHA} " . Ldap :: ssha ( $_POST [ 'pass1' ]);
// Cas d'un compte Samba
if (( $conf [ 'admin' ][ 'what' ] == 2 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
$new [ " sambaPwdLastSet " ] = strtotime ( " now " );
$new [ " sambaLMPassword " ] = Ldap :: sambalm ( $_POST [ 'pass1' ]);
$new [ " sambaNTPassword " ] = Ldap :: sambant ( $_POST [ 'pass1' ]);
$new [ " shadowLastChange " ] = floor ( strtotime ( " now " ) / ( 3600 * 24 ));
}
}
2017-02-13 17:25:07 +01:00
$postisactive = ( isset ( $_POST [ 'isactive' ]) ? 'TRUE' : 'FALSE' );
if ( $info [ 0 ][ " isactive " ][ 0 ] != $postisactive ) {
2009-09-06 03:20:22 +02:00
$new [ " isActive " ] = $postisactive ;
}
2017-02-13 17:25:07 +01:00
$postisadmin = ( isset ( $_POST [ 'isadmin' ]) ? 'TRUE' : 'FALSE' );
if ( $info [ 0 ][ " isadmin " ][ 0 ] != $postisadmin ) {
2009-09-06 03:20:22 +02:00
$new [ " isAdmin " ] = $postisadmin ;
}
2017-02-13 17:25:07 +01:00
2013-02-06 16:03:00 +01:00
if ( $_POST [ 'loginshell' ] != $info [ 0 ][ 'loginshell' ][ 0 ]) {
$new [ " loginShell " ] = Html :: clean ( $_POST [ 'loginshell' ]);
}
2009-09-06 03:20:22 +02:00
// only for mail mode
if (( $conf [ 'admin' ][ 'what' ] == 1 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
2017-02-13 17:25:07 +01:00
$postaccountactive = ( isset ( $_POST [ 'accountactive' ]) ? 'TRUE' : 'FALSE' );
if ( $info [ 0 ][ " accountactive " ][ 0 ] != $postaccountactive ) {
2009-09-06 03:20:22 +02:00
$new [ " accountActive " ] = $postaccountactive ;
}
2017-02-13 17:25:07 +01:00
$postauthsmtpactive = ( isset ( $_POST [ 'authsmtpactive' ]) ? 'TRUE' : 'FALSE' );
if ( $info [ 0 ][ " authsmtpactive " ][ 0 ] != $postauthsmtpactive ) {
2009-09-06 03:20:22 +02:00
$new [ " authsmtpActive " ] = $postauthsmtpactive ;
}
2017-10-11 19:39:22 +02:00
# $postamavisBypassSpamChecks = (isset($_POST['amavisBypassSpamChecks']) ? 'TRUE' : 'FALSE');
# if ( $info[0]["amavisBypassSpamChecks"][0] != $postamavisBypassSpamChecks ) {
# $new["amavisBypassSpamChecks"] = $postamavisBypassSpamChecks;
# }
2017-02-13 17:25:07 +01:00
$postwebmailactive = ( isset ( $_POST [ 'webmailactive' ]) ? 'TRUE' : 'FALSE' );
if ( $info [ 0 ][ " webmailactive " ][ 0 ] != $postwebmailactive ) {
2009-09-06 03:20:22 +02:00
$new [ " webmailActive " ] = $postwebmailactive ;
}
2017-02-13 17:25:07 +01:00
$postcourieractive = ( isset ( $_POST [ 'courieractive' ]) ? 'TRUE' : 'FALSE' );
if ( $info [ 0 ][ " courieractive " ][ 0 ] != $postcourieractive ) {
2009-09-06 03:20:22 +02:00
$new [ " courierActive " ] = $postcourieractive ;
}
// on obtient une table avec les nouveaux champs mailacceptinggeneralid
// TODO : if driver == ldap, verifier le domaine !!
$count = array_shift ( $info [ 0 ][ " mailacceptinggeneralid " ]);
// Compatibilite anciens schemas LDAP et mode "virtuel"
if (( $conf [ 'evoadmin' ][ 'version' ] == 1 ) || ( $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ])) {
// add @domain for each element
array_walk ( $_POST [ 'mailaccept' ], 'adddomain' );
}
$newmailaccept = array_pop ( $_POST [ 'mailaccept' ]);
2017-02-13 17:25:07 +01:00
if ( ( $newmailaccept != NULL ) |
2009-09-06 03:20:22 +02:00
array_diff ( $info [ 0 ][ " mailacceptinggeneralid " ], $_POST [ 'mailaccept' ]) ) {
$new [ " mailacceptinggeneralid " ] = $_POST [ 'mailaccept' ];
$new [ " mailacceptinggeneralid " ][ $count ] = $newmailaccept ;
// on vire les valeurs nulles en triant puis supprimant les premieres valeurs
sort ( $new [ " mailacceptinggeneralid " ]);
while ( $new [ " mailacceptinggeneralid " ][ 0 ] == NULL ) {
array_shift ( $new [ " mailacceptinggeneralid " ]);
2017-02-13 17:25:07 +01:00
// on evite une boucle infinie
2009-09-06 03:20:22 +02:00
if ( count ( $new [ " mailacceptinggeneralid " ]) == 0 ) {
print " Erreur, vous devez avoir au moins un mail entrant \n " ;
exit ( 1 );
}
}
}
// idem avec maildrop
$count = array_shift ( $info [ 0 ][ " maildrop " ]);
$newmaildrop = array_pop ( $_POST [ 'maildrop' ]);
2017-02-13 17:25:07 +01:00
if ( ( $newmaildrop != NULL ) |
2009-09-06 03:20:22 +02:00
array_diff ( $info [ 0 ][ " maildrop " ], $_POST [ 'maildrop' ]) ) {
$new [ " maildrop " ] = $_POST [ 'maildrop' ];
$new [ " maildrop " ][ $count ] = $newmaildrop ;
// on vire les valeurs nulles
sort ( $new [ " maildrop " ]);
while ( $new [ " maildrop " ][ 0 ] == NULL ) {
array_shift ( $new [ " maildrop " ]);
// on evite une boucle infinie
if ( count ( $new [ " maildrop " ]) == 0 ) {
print " Erreur, vous devez avoir au moins une redirection. \n " ;
exit ( 1 );
}
}
}
}
// only for samba mode
if (( $conf [ 'admin' ][ 'what' ] == 2 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
2017-02-13 17:25:07 +01:00
$postsmbactive = ( isset ( $_POST [ 'smbactive' ]) ? 'TRUE' : 'FALSE' );
if ( $info [ 0 ][ " smbactive " ][ 0 ] != $postsmbactive ) {
2009-09-06 03:20:22 +02:00
$new [ " smbActive " ] = $postsmbactive ;
}
2017-02-13 17:25:07 +01:00
if ( $displayname != Html :: clean ( $_POST [ 'displayname' ]) ) {
2009-09-06 03:20:22 +02:00
$new [ " displayname " ] = Html :: clean ( $_POST [ 'displayname' ]);
}
}
// if $new not null, set modification
2017-10-11 19:39:22 +02:00
if ( ( isset ( $new )) && ( $new != NULL ) ) {
$sr = ldap_modify ( $ldapconn , " uid= " . $uid . " , " . $rdn , $new );
2009-09-06 03:20:22 +02:00
// Si LDAP est content, c'est bon :)
2017-10-11 19:39:22 +02:00
if ( $sr ) {
2017-02-14 16:23:11 +01:00
print " <p class='strong'>Modifications effectuées.</p> " ;
print " <a href='compte.php?view= $uid '>Voir le compte modifié</a> " ;
2017-10-11 19:39:22 +02:00
} else {
print " <div class= \" alert alert-warning \" role= \" alert \" >Erreur, envoyez le message d'erreur suivant à votre administrateur :</div> " ;
var_dump ( $new );
Evolog :: log ( " Modify error of $uid by $login " );
2009-09-06 03:20:22 +02:00
}
2017-10-11 19:39:22 +02:00
2009-09-06 03:20:22 +02:00
} else {
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-info \" role= \" alert \" >Aucune modification nécessaire.</div> " ;
2009-09-06 03:20:22 +02:00
}
2017-02-13 17:25:07 +01:00
2009-09-06 03:20:22 +02:00
print " </center> " ;
/*
* Formular for account modification
*/
} else {
$filter = " (uid= $uid ) " ;
$sr = ldap_search ( $ldapconn , $rdn , $filter );
$info = ldap_get_entries ( $ldapconn , $sr );
// On verifie que le compte existe bien
if ( $info [ 'count' ] != 1 ) {
print " <p class='error'>Erreur, compte inexistant</p> " ;
EvoLog :: log ( " login $uid unknown " );
exit ( 1 );
2017-10-11 19:39:22 +02:00
}
2009-09-06 03:20:22 +02:00
2017-10-11 19:39:22 +02:00
print " <div class='container'> " ;
print " <h2>Modification du compte $uid </h2><hr> " ;
2009-09-06 03:20:22 +02:00
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-info \" role= \" alert \" >Modifiez les champs que vous désirez changer.<br /> [*] indique ceux qui ne doivent pas être nuls.<br />Vous pouvez réinitialiser le mot de passe si besoin.</div> " ;
2009-09-06 03:20:22 +02:00
2017-10-11 19:39:22 +02:00
print " <form name='add' action='compte.php?view= $uid &modif=yes' method='post' class='form-horizontal'> " ;
2009-09-06 03:20:22 +02:00
2017-10-11 19:39:22 +02:00
// Compatibilite anciens schemas LDAP ou mode "virtuel"
2009-09-06 03:20:22 +02:00
if (( $conf [ 'evoadmin' ][ 'version' ] != 1 ) && ( ! $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ])) {
2017-10-11 19:39:22 +02:00
print " <div class='form-group'> " ;
print " <label for='sn' class='col-sm-3 control-label'>Nom [*] :</label> " ;
print " <div class='col-sm-7'><input type='text' name='sn' class='form-control' value=' $sn ' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
2009-09-06 03:20:22 +02:00
}
2017-10-11 19:39:22 +02:00
print " <div class='form-group'> " ;
print " <label for='cn' class='col-sm-3 control-label'>Nom Complet [*] :</label> " ;
print " <div class='col-sm-7'><input type='text' name='cn' class='form-control' value=' $cn ' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
print " <div class='form-group'> " ;
print " <label for='pass1' class='col-sm-3 control-label'>Nouveau mot de passe :</label> " ;
print " <div class='col-sm-7'><input type='password' name='pass1' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
print " <div class='form-group'> " ;
print " <label for='pass2' class='col-sm-3 control-label'>Confirmation du mot de passe :</label> " ;
print " <div class='col-sm-7'><input type='password' name='pass2' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
2009-09-06 03:20:22 +02:00
// Compatibilite anciens schemas LDAP
if ( $conf [ 'evoadmin' ][ 'version' ] == 1 ) {
2017-10-11 19:39:22 +02:00
print " <div class='form-group'> " ;
print " <label for='mail' class='col-sm-3 control-label'>Mail principal : </label> " ;
print " <div class='col-sm-7'> $mail <input type='hidden' name='mail' value=' $mail ' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
2009-09-06 03:20:22 +02:00
} elseif ( ! $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ]) {
2017-10-11 19:39:22 +02:00
print " <div class='form-group'> " ;
print " <label for='mail' class='col-sm-3 control-label'>Mail annoncé dans l'annuaire : </label> " ;
print " <div class='col-sm-7'><input type='text' name='mail' value=' $mail ' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
2009-09-06 03:20:22 +02:00
}
// only for samba mode
if (( $conf [ 'admin' ][ 'what' ] == 2 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
2017-02-14 16:23:11 +01:00
2017-10-11 19:39:22 +02:00
print " <hr><h5>Modification pour Samba</h5> " ;
print " <div class='form-group'> " ;
print " <label for='displayname' class='col-sm-3 control-label'>Nom dans Samba : </label> " ;
print " <div class='col-sm-7'><input type='text' name='displayname' value=' $displayname ' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
print " <div class='form-group'> " ;
print " <label for='loginshell' class='col-sm-3 control-label'>Shell : </label> " ;
print " <div class='col-sm-7'><input type='text' name='loginshell' value=' " . $info [ 0 ][ 'loginshell' ][ 0 ] . " ' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
print " <div class='form-group'> " ;
print " <label for='loginshell' class='col-sm-3 control-label'>Shell : </label> " ;
print " <div class='col-sm-7'><input type='text' name='loginshell' value=' " . $info [ 0 ][ 'loginshell' ][ 0 ] . " ' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
print " <hr><h5>Groupe Samba : $sambagroup </h5> " ;
}
// only for mail mode
2009-09-06 03:20:22 +02:00
if (( $conf [ 'admin' ][ 'what' ] == 1 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
2017-10-11 19:39:22 +02:00
print " <div class='well'>Ajoutez/modifiez/supprimez les alias (mails acceptés en entrée).<br />Un minimum d'un alias est requis. Mêmes instructions<br />pour les redirections (compte(s) dans le(s)quel(s) est/sont délivré(s) les mails).</div> " ;
2009-09-06 03:20:22 +02:00
for ( $i = 0 ; $i < $info [ 0 ][ " mailacceptinggeneralid " ][ 'count' ]; $i ++ ) {
2017-10-11 19:39:22 +02:00
2009-09-06 03:20:22 +02:00
if ( ! $conf [ 'domaines' ][ 'onlyone' ]) {
$info [ 0 ][ 'mailacceptinggeneralid' ][ $i ] =
2017-10-11 13:43:42 +02:00
preg_replace ( " /@ " . $_SESSION [ 'domain' ] . " / " , '' , $info [ 0 ][ 'mailacceptinggeneralid' ][ $i ]);
2009-09-06 03:20:22 +02:00
}
2017-10-11 19:39:22 +02:00
print " <div class='form-group'> " ;
print " <label for='mailaccept[ $i ]' class='col-sm-3 control-label'>Mail accepté en entrée : </label> " ;
print " <div class='col-sm-7'><input type='text' name='mailaccept[ $i ]' value=' " . $info [ 0 ][ 'mailacceptinggeneralid' ][ $i ] . " ' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'> " ;
if ( ! $conf [ 'domaines' ][ 'onlyone' ]) {
print " @ " . $_SESSION [ 'domain' ];
}
print " </div> " ;
print " </div> " ;
}
print " <div class='form-group'> " ;
print " <label for='mailaccept[ $i ]' class='col-sm-3 control-label'>Création d'un nouveau mail accepté en entrée : </label> " ;
print " <div class='col-sm-7'><input type='text' name='mailaccept[ $i ]' value=' " . $info [ 0 ][ 'mailacceptinggeneralid' ][ $i ] . " ' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'> " ;
if ( ! $conf [ 'domaines' ][ 'onlyone' ]) {
2009-09-06 03:20:22 +02:00
print " @ " . $_SESSION [ 'domain' ];
}
2017-10-11 19:39:22 +02:00
print " </div> " ;
print " </div> " ;
2009-09-06 03:20:22 +02:00
for ( $i = 0 ; $i < $info [ 0 ][ " maildrop " ][ 'count' ]; $i ++ ) {
2017-10-11 19:39:22 +02:00
print " <div class='form-group'> " ;
print " <label for='maildrop[ $i ]' class='col-sm-3 control-label'>Mails entrants redirigés vers : </label> " ;
print " <div class='col-sm-7'><input type='text' name='maildrop[ $i ]' value=' " . $info [ 0 ][ 'maildrop' ][ $i ] . " ' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'> " ;
if ( ! $conf [ 'domaines' ][ 'onlyone' ]) {
print " @ " . $_SESSION [ 'domain' ];
}
print " </div> " ;
print " </div> " ;
}
print " <div class='form-group'> " ;
print " <label for='maildrop[ $i ]' class='col-sm-3 control-label'>Nouvelle redirection vers : </label> " ;
print " <div class='col-sm-7'><input type='text' name='maildrop[ $i ]' class='form-control' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
2009-09-06 03:20:22 +02:00
}
2017-10-11 19:39:22 +02:00
print " <hr><h5>Modifiez les autorisations du compte si besoin.</h5> " ;
2009-09-06 03:20:22 +02:00
$isactive = ( $info [ 0 ][ " isactive " ][ 0 ] == 'TRUE' ) ? 'checked' : '' ;
2017-10-11 19:39:22 +02:00
print " <div class='form-group'> " ;
print " <label for='isactive' class='col-sm-3 control-label'>Activation globale : </label> " ;
print " <div class='col-sm-7'><input type='checkbox' name='isactive' $isactive class='form-control move-left' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
2009-09-06 03:20:22 +02:00
$isadmin = ( $info [ 0 ][ " isadmin " ][ 0 ] == 'TRUE' ) ? 'checked' : '' ;
2017-10-11 19:39:22 +02:00
print " <div class='form-group'> " ;
print " <label for='isadmin' class='col-sm-3 control-label'>Compte admin : </label> " ;
print " <div class='col-sm-7'><input type='checkbox' name='isadmin' $isadmin class='form-control move-left' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
2009-09-06 03:20:22 +02:00
// only for samba mode
if (( $conf [ 'admin' ][ 'what' ] == 2 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
$smbactive = ( $info [ 0 ][ " smbactive " ][ 0 ] == 'TRUE' ) ? 'checked' : '' ;
2017-10-11 19:39:22 +02:00
print " <div class='form-group'> " ;
print " <label for='smbactive' class='col-sm-3 control-label'>Compte Samba actif : </label> " ;
print " <div class='col-sm-7'><input type='checkbox' name='smbactive' $smbactive class='form-control move-left' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
$accountactive = ( $info [ 0 ][ " accountactive " ][ 0 ] == 'TRUE' ) ? 'checked' : '' ;
print " <div class='form-group'> " ;
print " <label for='accountactive' class='col-sm-3 control-label'>Compte mail actif : </label> " ;
print " <div class='col-sm-7'><input type='checkbox' name='accountactive' $accountactive class='form-control move-left' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
$webmailactive = ( $info [ 0 ][ " webmailactive " ][ 0 ] == 'TRUE' ) ? 'checked' : '' ;
print " <div class='form-group'> " ;
print " <label for='webmailactive' class='col-sm-3 control-label'>Webmail actif : </label> " ;
print " <div class='col-sm-7'><input type='checkbox' name='webmailactive' $webmailactive class='form-control move-left' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
2009-09-06 03:20:22 +02:00
}
// only for mail mode
if (( $conf [ 'admin' ][ 'what' ] == 1 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
2017-10-11 19:39:22 +02:00
$courieractive = ( $info [ 0 ][ " courieractive " ][ 0 ] == 'TRUE' ) ? 'checked' : '' ;
print " <div class='form-group'> " ;
print " <label for='courieractive' class='col-sm-3 control-label'>Utilisation POP/IMAP : </label> " ;
print " <div class='col-sm-7'><input type='checkbox' name='courieractive' $courieractive class='form-control move-left' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
2009-09-06 03:20:22 +02:00
$authsmtpactive = ( $info [ 0 ][ " authsmtpactive " ][ 0 ] == 'TRUE' ) ? 'checked' : '' ;
2017-10-11 19:39:22 +02:00
print " <div class='form-group'> " ;
print " <label for='authsmtpactive' class='col-sm-3 control-label'>Authentification SMTP : </label> " ;
print " <div class='col-sm-7'><input type='checkbox' name='authsmtpactive' $authsmtpactive class='form-control move-left' /></div> " ;
print " <div class='col-sm-2 control-label'></div> " ;
print " </div> " ;
# $amavisBypassSpamChecks= ($info[0]["amavisbypassspamchecks"][0] == 'TRUE') ? 'checked' : '';
# print "<div class='form-group'>";
# print "<label for='amavisBypassSpamChecks' class='col-sm-3 control-label'>Désactivation Antispam : </label>";
# print "<div class='col-sm-7'><input type='checkbox' name='amavisBypassSpamChecks' $amavisBypassSpamChecks class='form-control move-left' /></div>";
# print "<div class='col-sm-2 control-label'></div>";
# print "</div>";
2009-09-06 03:20:22 +02:00
}
2017-10-11 19:39:22 +02:00
print " <div class='text-center'><button type='submit' class='btn btn-primary' onclick='return submit_add();'>Valider</button></div> " ;
2017-02-13 17:25:07 +01:00
2009-09-06 03:20:22 +02:00
print '</form>' ;
2017-10-11 19:39:22 +02:00
print '</div>' ;
2009-09-06 03:20:22 +02:00
}
/**
* Delete account
*/
} elseif ( isset ( $_GET [ 'del' ]) ) {
$uid = Html :: clean ( $_GET [ 'del' ]);
2017-10-11 19:39:22 +02:00
2009-09-06 03:20:22 +02:00
if ( ( isset ( $_GET [ 'modif' ])) && ( $_GET [ 'modif' ] == 'yes' )) {
$ldapconn = Ldap :: lda_connect ( LDAP_ADMIN_DN , LDAP_ADMIN_PASS );
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-info \" role= \" alert \" > " ;
2009-09-06 03:20:22 +02:00
print " <p>Suppression $uid en cours...</p> " ;
// Verify if person exists...
// TODO : /!\ il faudrait verifier le DN plutot que le uid
if ( ! Ldap :: is_uid ( $uid )) {
2017-10-11 19:39:22 +02:00
print " <p class='error>Erreur, compte inexistant</p> " ;
2009-09-06 03:20:22 +02:00
EvoLog :: log ( " Delete $uid failed (user doesn't exist). " );
// *Try* to verify if user is always in aliases...
} elseif ( Ldap :: is_what ( $uid , 'maildrop' ) > 1 ) {
2017-10-11 19:39:22 +02:00
print " <p class='error>Erreur, compte encore présent dans certains alias</p> " ;
2009-09-06 03:20:22 +02:00
EvoLog :: log ( " Delete $uid failed (user always in aliases). " );
// LDAP deletion
} elseif ( Ldap :: lda_del ( $ldapconn , " uid= " . $uid . " , " . $rdn )) {
2017-10-11 19:39:22 +02:00
2009-09-06 03:20:22 +02:00
if ( ! $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ]) {
// script suppression systeme
unix_del ( $uid );
}
// TODO : suppression params HORDE
// $query = 'delete from horde_prefs where pref_uid="' .$uid. '"';
print " <p class='strong'>Suppression $uid effectuée.</p> " ;
2017-10-11 19:39:22 +02:00
2009-09-06 03:20:22 +02:00
EvoLog :: log ( " Del user " . $uid );
} else {
print " <p class='error>Erreur, suppression non effectuée.</p> " ;
EvoLog :: log ( " Delete $uid failed " );
}
2017-10-11 19:39:22 +02:00
print " </div> " ;
2009-09-06 03:20:22 +02:00
} else {
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-info \" role= \" alert \" > " ;
2009-09-06 03:20:22 +02:00
print " <p>Vous allez effacer complètement l'utilisateur <b> $uid </b><br /> " ;
print " Tous ses messages et paramètres seront définitivement perdus.</p> " ;
print " <a href='compte.php?del= $uid &modif=yes'>Confirmer la suppression</a> " ;
2017-10-11 19:39:22 +02:00
print " </div> " ;
2009-09-06 03:20:22 +02:00
}
// Ajouter un compte
} else {
/**
* Account creation
*/
/**
* Set account creation
*/
if ( ( isset ( $_GET [ 'modif' ])) && ( $_GET [ 'modif' ] == 'yes' )) {
2017-10-11 19:39:22 +02:00
// Verification coherence des mots de passe
2009-09-06 03:20:22 +02:00
if ( $_POST [ 'pass1' ] != $_POST [ 'pass2' ] ) {
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-danger \" role= \" alert \" >Erreur, vous avez tape deux mots de passe differents</div> " ;
2009-09-06 03:20:22 +02:00
exit ( 1 );
}
$postuid = Html :: clean ( $_POST [ 'uid' ]);
if ( Auth :: badpassword ( $_POST [ 'pass1' ]) ) {
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-danger \" role= \" alert \" >Erreur, mot de passe invalide
( trop court ou avec des caracteres incorrects ) </ div > " ;
2009-09-06 03:20:22 +02:00
EvoLog :: log ( " Set password failed for $postuid by $login " );
exit ( 1 );
}
2017-10-11 19:39:22 +02:00
$cn = Html :: justclean ( Html :: purgeaccents ( utf8_decode ( $_POST [ 'cn' ])));
2009-09-06 03:20:22 +02:00
if ( badname ( $postuid )) {
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-danger \" role= \" alert \" >Erreur, <u> $postuid </u> est invalide. " ;
2009-09-06 03:20:22 +02:00
print " Vous devez avoir entre 2 et 30 caracteres minuscules, chiffres ou " ;
2017-10-11 19:39:22 +02:00
print " caracteres speciaux (tiret, point ou underscore).</div> " ;
2009-09-06 03:20:22 +02:00
EvoLog :: log ( " Add $postuid failed (bad name). " );
exit ( 1 );
}
2017-10-11 19:39:22 +02:00
2009-09-06 03:20:22 +02:00
// Compatibilite anciens schemas LDAP
//if (!$conf['evoadmin']['version'] == 1) {
// mail and cn are auto-generated...
$mail = $postuid . " @ " . $_SESSION [ 'domain' ];
$sn = $cn ;
//} else {
// $mail = Html::clean($_POST['mail']);
// $cn = Html::clean($_POST['cn']);
//}
// On verifie que le compte n'est pas deja pris...
if ( ! $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ]) {
if ( Ldap :: is_what ( $mail , " mail " )) {
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-danger \" role= \" alert \" >Erreur, mail deja present !</div> " ;
2009-09-06 03:20:22 +02:00
EvoLog :: log ( " $mail already exists by $login " );
exit ( 1 );
}
// ...sinon on le change legerement !
$tmp = 1 ;
$uid = $postuid ;
while ( Ldap :: is_uid ( $uid )) {
$tmp ++ ;
$uid = $postuid . $tmp ;
}
} else {
$uid = $mail ;
if ( Ldap :: is_uid ( $uid )) {
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-danger \" role= \" alert \" >Erreur, mail deja present !</div> " ;
2009-09-06 03:20:22 +02:00
EvoLog :: log ( " $uid already exists by $login " );
exit ( 1 );
}
}
// Cas d'un compte Samba
if (( $conf [ 'admin' ][ 'what' ] == 2 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
2017-10-11 19:39:22 +02:00
2009-09-06 03:20:22 +02:00
$smbgroup = Html :: clean ( $_POST [ 'smbgroup' ]);
$tmp = getsambagroups ( 'unix' );
$gid = $tmp [ $smbgroup ];
} else {
$gid = getgid ( $_SESSION [ 'domain' ]);
}
if ( $gid < 1 ) {
print " Erreur, groupe non detecte... " ;
exit ( 1 );
}
2017-10-11 19:39:22 +02:00
print " <div class='container'> " ;
print " <div class= \" alert alert-info \" role= \" alert \" >Ajout en cours...</div> " ;
2009-09-06 03:20:22 +02:00
// TODO : generer un UID different en LDAP non-virtual !!!
$info [ " uid " ] = $uid ;
// recuperer un uid number valide
// TODO : erreur si uid non compris entre 1000 et 29999
2011-10-13 18:20:11 +02:00
if ( $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ] ) {
$info [ " uidNumber " ] = $conf [ 'unix' ][ 'uid' ];
}
else {
$info [ " uidNumber " ] = getfreeuid ();
}
2009-09-06 03:20:22 +02:00
$info [ " gidNumber " ] = $gid ;
$info [ " objectclass " ][ 0 ] = " posixAccount " ;
2017-10-11 19:39:22 +02:00
2009-09-06 03:20:22 +02:00
if ( ! $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ]) {
$info [ " objectclass " ][ 1 ] = " shadowAccount " ;
$info [ " objectclass " ][ 2 ] = " inetorgperson " ;
// Choose what objects you want...
if (( $conf [ 'admin' ][ 'what' ] == 1 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
$info [ " objectclass " ][ 3 ] = " mailAccount " ;
} elseif ( $conf [ 'admin' ][ 'what' ] == 2 ) {
$info [ " objectclass " ][ 3 ] = " sambaSamAccount " ;
}
if ( $conf [ 'admin' ][ 'what' ] == 3 ) {
$info [ " objectclass " ][ 4 ] = " sambaSamAccount " ;
}
} else {
$info [ " objectclass " ][ 1 ] = " organizationalRole " ;
$info [ " objectclass " ][ 2 ] = " mailAccount " ;
2017-10-11 19:39:22 +02:00
# $info["objectclass"][3] = "amavisAccount";
2009-09-06 03:20:22 +02:00
}
// Compatibilite anciens schemas LDAP
if ( $conf [ 'evoadmin' ][ 'version' ] == 1 ) {
$info [ " objectclass " ][ 4 ] = " mailAlias " ;
//$info["onlyAlias"] = "FALSE";
$info [ " spamassassin " ][ 0 ] = " whitelist_from dupont@seulement-cet-expediteur.com " ;
$info [ " spamassassin " ][ 1 ] = " whitelist_from *@tous-les-mails-de-ce-domaine.com " ;
}
$info [ " isActive " ] = ( isset ( $_POST [ 'isactive' ])) ? " TRUE " : " FALSE " ;
$info [ " isAdmin " ] = ( isset ( $_POST [ 'isadmin' ])) ? " TRUE " : " FALSE " ;
$info [ " cn " ] = $cn ;
if ( ! $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ]) {
2013-02-06 16:03:00 +01:00
$info [ " loginShell " ] = Html :: clean ( $_POST [ 'loginshell' ]);
2009-09-06 03:20:22 +02:00
$info [ " sn " ] = $sn ;
$info [ " homeDirectory " ] = " /home/ " . $uid ;
2017-10-11 19:39:22 +02:00
2009-09-06 03:20:22 +02:00
// TODO: rajouter un isset pour verifier la presence de ce champ optionnel
if ( $mail != '' ) {
$info [ " mail " ] = $mail ;
}
} else {
$info [ " homeDirectory " ] = " /home/vmail/ " . $_SESSION [ 'domain' ] . " / " . $postuid . " / " ;
}
// Cas d'un compte mail
if (( $conf [ 'admin' ][ 'what' ] == 1 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
2017-10-11 19:39:22 +02:00
// Aliases
2009-09-06 03:20:22 +02:00
$aliases = $_POST [ 'alias' ];
// Compatibilite anciens schemas LDAP et mode "virtuel"
if (( $conf [ 'evoadmin' ][ 'version' ] == 1 ) || ( $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ])) {
// add @domain for each element
array_walk ( $aliases , 'adddomain' );
}
if ( ! $conf [ 'domaines' ][ 'onlyone' ]) {
array_push ( $aliases , $postuid . " @ " . $_SESSION [ 'domain' ]);
} else {
array_push ( $aliases , $uid );
}
// TODO: if ($conf['domaines']['onlyone'] != true) {
// verifier que le domaine des aliases est correct !!
// on vire les valeurs nulles
sort ( $aliases );
while ( $aliases [ 0 ] == NULL ) {
array_shift ( $aliases );
}
$info [ " mailacceptinggeneralid " ] = $aliases ;
2009-11-26 18:18:03 +01:00
// tmartin 26/11/2009 : on ajoute un maildrop dans tous les cas
//if (!$conf['domaines']['ldap']['virtual']) {
2009-09-06 03:20:22 +02:00
$info [ " maildrop " ] = $uid ;
2009-11-26 18:18:03 +01:00
//}
2009-09-06 03:20:22 +02:00
$info [ " accountActive " ] = ( isset ( $_POST [ 'accountactive' ])) ? " TRUE " : " FALSE " ;
$info [ " courierActive " ] = ( isset ( $_POST [ 'courieractive' ])) ? " TRUE " : " FALSE " ;
$info [ " webmailActive " ] = ( isset ( $_POST [ 'webmailactive' ])) ? " TRUE " : " FALSE " ;
$info [ " authsmtpActive " ] = ( isset ( $_POST [ 'authsmtpactive' ])) ? " TRUE " : " FALSE " ;
2017-10-11 19:39:22 +02:00
# $info["amavisBypassSpamChecks"] = (isset($_POST['amavisBypassSpamChecks'])) ? "TRUE" : "FALSE";
2009-09-06 03:20:22 +02:00
}
// Cas d'un compte Samba
if (( $conf [ 'admin' ][ 'what' ] == 2 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
$userRid = 2 * $info [ " uidNumber " ] + 1000 ;
$info [ " sambaSID " ] = $conf [ 'samba' ][ 'sid' ] . '-' . $userRid ;
if ( ! empty ( $_POST [ 'displayname' ])) {
$info [ " displayName " ] = Html :: clean ( $_POST [ 'displayname' ]);
}
$info [ " smbActive " ] = ( isset ( $_POST [ 'smbactive' ])) ? " TRUE " : " FALSE " ;
$info [ " sambaDomainName " ] = $conf [ 'samba' ][ 'dn' ];
$tmp = getsambagroups ( 'smb' );
$info [ " sambaPrimaryGroupSID " ] = $conf [ 'samba' ][ 'sid' ] . $tmp [ $smbgroup ];
$info [ " sambaPwdLastSet " ] = strtotime ( " now " );
$info [ " sambaLMPassword " ] = Ldap :: sambalm ( $_POST [ 'pass1' ]);
$info [ " sambaNTPassword " ] = Ldap :: sambant ( $_POST [ 'pass1' ]);
$info [ " shadowLastChange " ] = floor ( strtotime ( " now " ) / ( 3600 * 24 ));
$info [ " sambaPwdCanChange " ] = " -2 " ;
$info [ " sambaPwdMustChange " ] = " 2147483647 " ;
$info [ " sambaKickoffTime " ] = " 2147483647 " ;
$info [ " sambaAcctFlags " ] = " [XU ] " ;
$info [ " shadowExpire " ] = " -1 " ;
$info [ " shadowInactive " ] = " -1 " ;
$info [ " shadowMax " ] = " 200 " ;
$info [ " shadowMin " ] = " 0 " ;
$info [ " shadowWarning " ] = " 30 " ;
$info [ " shadowFlag " ] = " -1 " ;
}
$info [ " userPassword " ] = " { SSHA} " . Ldap :: ssha ( $_POST [ 'pass1' ]);
$ldapconn = Ldap :: lda_connect ( LDAP_ADMIN_DN , LDAP_ADMIN_PASS );
// We use uid attribute for DN
$sr = ldap_add ( $ldapconn , " uid= " . $uid . " , " . $rdn , $info );
// test if ldap connection is successful
if ( $sr ) {
if ( ! $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ]) {
// script creation systeme
unix_add ( $uid , getgid ( $_SESSION [ 'domain' ]));
} else {
2017-10-24 17:08:17 +02:00
$headers = 'From: postmaster@' . $_SESSION [ 'domain' ] . " \r \n " .
'Reply-To: postmaster@' . $_SESSION [ 'domain' ] . " \r \n " .
'X-Mailer: PHP/' . phpversion ();
mail ( $uid , 'Bienvenue' , " Mail d'initialisation du compte. " , $headers );
2009-09-06 03:20:22 +02:00
}
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-succes \" role= \" alert \" >Ajout effectué.</div> " ;
print " <a href='compte.php?view= $uid '><button class='btn btn-primary'>Voir le compte créé</button></a> " ;
2009-09-06 03:20:22 +02:00
EvoLog :: log ( " Add user " . $uid );
// notification par mail
2017-10-11 19:39:22 +02:00
mailnotify ( $info , $_SESSION [ 'domain' ], $_POST [ 'pass1' ]);
2017-02-13 17:29:50 +01:00
2009-09-06 03:20:22 +02:00
} else {
2017-10-11 19:39:22 +02:00
print " <div class= \" alert alert-danger \" role= \" alert \" >Erreur, envoyez le message d'erreur suivant à votre administrateur :</div> " ;
2009-09-06 03:20:22 +02:00
var_dump ( $info );
EvoLog :: log ( " Add $uid failed " );
}
2017-10-11 19:39:22 +02:00
print " </div> " ;
2009-09-06 03:20:22 +02:00
} else {
?>
2017-10-11 19:39:22 +02:00
< div class = " container " >
< h2 > Ajout d ' un compte </ h2 >< hr >
2017-02-13 17:25:07 +01:00
2017-10-11 19:39:22 +02:00
< form name = " add " action = " compte.php?modif=yes " method = " post " class = " form-horizontal " >
< div class = " alert alert-info " role = " alert " > Remplissez lez champs , ceux contenant [ * ] sont obligatoires .</ div >
2009-09-06 03:20:22 +02:00
2017-02-13 17:25:07 +01:00
2017-10-11 19:39:22 +02:00
< div class = " form-group " >
< label for = " uid " class = " col-sm-3 control-label " > Login [ * ] :</ label >
< div class = " col-sm-7 " >< input type = " text " name = " uid " class = " form-control " /></ div >
< div class = " col-sm-2 control-label " >< ? php if ( ! $conf [ 'domaines' ][ 'onlyone' ]) { print " @ " . $_SESSION [ 'domain' ]; } ?> </div>
</ div >
2009-09-06 03:20:22 +02:00
< ? php
// Compatibilite anciens schemas LDAP ou mode "virtuel"
if (( $conf [ 'evoadmin' ][ 'version' ] != 1 ) && ( ! $conf [ 'domaines' ][ 'ldap' ][ 'virtual' ])) {
?>
2017-10-11 19:39:22 +02:00
< div class = " form-group " >
< label for = " sn " class = " col-sm-3 control-label " > Nom [ * ] :</ label >
< div class = " col-sm-7 " >< input type = " text " name = " sn " class = " form-control " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
2009-09-06 03:20:22 +02:00
< ? php
}
?>
2017-10-11 19:39:22 +02:00
< div class = " form-group " >
< label for = " cn " class = " col-sm-3 control-label " > Nom Complet [ * ] :</ label >
< div class = " col-sm-7 " >< input type = " text " name = " cn " class = " form-control " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
2009-09-06 03:20:22 +02:00
2017-10-11 19:39:22 +02:00
< div class = " form-group " >
< label for = " pass1 " class = " col-sm-3 control-label " > Mot de passe [ * ] :</ label >
< div class = " col-sm-7 " >< input type = " password " name = " pass1 " class = " form-control " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
2009-09-06 03:20:22 +02:00
2017-10-11 19:39:22 +02:00
< div class = " form-group " >
< label for = " pass2 " class = " col-sm-3 control-label " > Confirmation du mot de passe [ * ] :</ label >
< div class = " col-sm-7 " >< input type = " password " name = " pass2 " class = " form-control " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
2017-02-13 17:25:07 +01:00
2009-09-06 03:20:22 +02:00
< ? php
// Compatibilite anciens schemas LDAP
if ( ! $conf [ 'evoadmin' ][ 'version' ] == 1 ) {
?>
2017-10-11 19:39:22 +02:00
< div class = " form-group " >
< label for = " mail " class = " col-sm-3 control-label " > Mail annonc & eacute ; dans l ' annuaire :</ label >
< div class = " col-sm-7 " >< input type = " text " name = " mail " class = " form-control " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
2009-09-06 03:20:22 +02:00
< ? php
}
// only for samba mode
if (( $conf [ 'admin' ][ 'what' ] == 2 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
?>
2017-10-11 19:39:22 +02:00
< hr >< h5 > Gestion des parametres Samba </ h5 >
< div class = " form-group " >
< label for = " displayname " class = " col-sm-3 control-label " > Nom dans Samba :</ label >
< div class = " col-sm-7 " >< input type = " text " name = " displayname " class = " form-control " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
< div class = " form-group " >
< label for = " smbgroup " class = " col-sm-3 control-label " > Groupe Samba :</ label >
< div class = " col-sm-7 " >
< select name = " smbgroup " >
< option value = " " disabled selected > Choisir un groupe </ option >
< ? php
foreach ( getsambagroups ( 'smb' ) as $key => $value ) {
print " <option value=' " . $key . " '> $key </option> \n " ;
}
?>
</ select >
</ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
< div class = " form-group " >
< label for = " loginshell " class = " col-sm-3 control-label " > Shell :</ label >
< div class = " col-sm-7 " >< input type = " text " name = " loginshell " class = " form-control " value = " /bin/bash " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
2009-09-06 03:20:22 +02:00
< ? php
}
// only for mail mode
if (( $conf [ 'admin' ][ 'what' ] == 1 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
?>
2017-10-11 19:39:22 +02:00
< hr >< h5 > En plus du mail utilisant le login , vous pouvez ajouter des alias .</ h5 >
< div class = " form-group " >
< label for = " alias " class = " col-sm-3 control-label " > Alias :</ label >
< div class = " col-sm-7 " >< input type = " text " name = " alias[0] " class = " form-control " /></ div >
< div class = " col-sm-2 control-label " >< ? php if ( ! $conf [ 'domaines' ][ 'onlyone' ]) { print " @ " . $_SESSION [ 'domain' ]; } ?> </div>
</ div >
< div class = " form-group " >
< label for = " alias[1] " class = " col-sm-3 control-label " > Alias :</ label >
< div class = " col-sm-7 " >< input type = " text " name = " alias[1] " class = " form-control " /></ div >
< div class = " col-sm-2 control-label " >< ? php if ( ! $conf [ 'domaines' ][ 'onlyone' ]) { print " @ " . $_SESSION [ 'domain' ]; } ?> </div>
</ div >
< div class = " form-group " >
< label for = " alias[2] " class = " col-sm-3 control-label " > Alias :</ label >
< div class = " col-sm-7 " >< input type = " text " name = " alias[2] " class = " form-control " /></ div >
< div class = " col-sm-2 control-label " >< ? php if ( ! $conf [ 'domaines' ][ 'onlyone' ]) { print " @ " . $_SESSION [ 'domain' ]; } ?> </div>
</ div >
2009-09-06 03:20:22 +02:00
< ? php
}
?>
2017-10-11 19:39:22 +02:00
< hr >< h5 > Cochez les cases pour choisir les autorisations du compte .</ h5 >
2009-09-06 03:20:22 +02:00
2017-10-11 19:39:22 +02:00
< div class = " form-group " >
< label for = " isactive " class = " col-sm-3 control-label " > Alias :</ label >
< div class = " col-sm-7 " >< input type = 'checkbox' name = 'isactive' checked class = " form-control move-left " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
2009-09-06 03:20:22 +02:00
2017-10-11 19:39:22 +02:00
< div class = " form-group " >
< label for = " isadmin " class = " col-sm-3 control-label " > Compte admin :</ label >
< div class = " col-sm-7 " >< input type = 'checkbox' name = 'isadmin' checked class = " form-control move-left " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
2009-09-06 03:20:22 +02:00
< ? php // only for samba mode
if (( $conf [ 'admin' ][ 'what' ] == 2 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
?>
2017-10-11 19:39:22 +02:00
< div class = " form-group " >
< label for = " smbactive " class = " col-sm-3 control-label " > Compte Samba actif :</ label >
< div class = " col-sm-7 " >< input type = 'checkbox' name = 'smbactive' checked class = " form-control move-left " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
2009-09-06 03:20:22 +02:00
2017-10-11 19:39:22 +02:00
< ? php
2009-09-06 03:20:22 +02:00
}
// only for mail mode
if (( $conf [ 'admin' ][ 'what' ] == 1 ) || ( $conf [ 'admin' ][ 'what' ] == 3 )) {
?>
2017-10-11 19:39:22 +02:00
< div class = " form-group " >
< label for = " courieractive " class = " col-sm-3 control-label " > Utilisation POP / IMAP :</ label >
< div class = " col-sm-7 " >< input type = 'checkbox' name = 'courieractive' checked class = " form-control move-left " /></ div >
< div class = " col-sm-2 control-label " ></ div >
</ div >
< div class = " form-group " >
< label for = " authsmtpactive " class = " col-sm-3 control-label " > Authentification SMTP :</ label >
< div class = " col-sm-7 " >< input type = 'checkbox' name = 'authsmtpactive' < ? php if ( $conf [ 'evoadmin' ][ 'useauthsmtp' ]) print " checked " ?> class="form-control move-left" /></div>
< div class = " col-sm-3 control-label " ></ div >
</ div >
<!--
< div class = " form-group " >
< label for = " amavisBypassSpamChecks " class = " col-sm-3 control-label " > Désactivation Antispam :</ label >
< div class = " col-sm-7 " >< input type = 'checkbox' name = 'amavisBypassSpamChecks' < ? php if ( $conf [ 'evoadmin' ][ 'amavisBypassSpamChecks' ]) print " checked " ?> class="form-control move-left" /></div>
< div class = " col-sm-2 control-label " ></ div >
</ div >
-->
2009-09-06 03:20:22 +02:00
< ? php
}
?>
2017-10-11 19:39:22 +02:00
< div class = " text-center " >< button type = " submit " class = " btn btn-primary " onclick = 'return submit_add();' > valider </ button ></ div >
2009-09-06 03:20:22 +02:00
</ form >
2017-10-11 19:39:22 +02:00
</ div >
2009-09-06 03:20:22 +02:00
< ? php
}
}
2017-10-12 21:33:44 +02:00
include EVOADMIN_BASE . 'inc/fin.php' ;
2009-09-06 03:20:22 +02:00
?>