* @version 1.0 */ /* * Functions */ /** * Show domain details * @param string $domain * @return NULL */ function show_domaine_details($domain) { global $conf; print '' .$domain. ''; // TODO : synchronization OpenLDAP<-Active Directory // print 'N/A'; print '' .(getnumber($domain,'compte')+getnumber($domain,'alias')). ''; print '' .getnumber($domain,'mail'). ''; //print '' .getnumber($domain,'smb'). ''; print '' .getnumber($domain,'alias'). ''; print '' .getquota($domain,'group'). ''; print ''; // suppression possible que si utilisation de LDAP if ( $conf['domaines']['driver'] == 'ldap' ) { print ''; } else { print "Impossible"; } print ''; } /** * Path */ define('EVOADMIN_BASE','./'); /** * PHP cookies session */ session_name('EVOADMIN_SESS'); session_start(); if (isset($_SESSION['login'])) { /** * Requires */ require_once EVOADMIN_BASE . 'common.php'; include EVOADMIN_BASE . 'haut.php'; $login = $_SESSION['login']; // pas de domaine/variable domaine sur superadmin.php unset($_SESSION['domain']); global $conf; // array with all domains with rights on $domaines = array(); // If you are superadmin, you view all domains if (superadmin($login)) { // driver 'ldap' if ( $conf['domaines']['driver'] == 'ldap' ) { //TODO: foreach LDAP serveurs if ($conf['evoadmin']['cluster']) { $ldapconns = array(); foreach ($ldap_servers as $server) { array_push($ldapconns, Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS)); } } else { $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS); } if ($ldapconn) { // compatibilite anciens schemas if ($conf['evoadmin']['version'] == 1) { $filter="(objectClass=ldapDomain)"; } else { $filter="(objectClass=postfixDomain)"; } $sr=ldap_search($ldapconn, LDAP_BASE, $filter); $info = ldap_get_entries($ldapconn, $sr); for ($i=0;$i<$info["count"];$i++) { // compatibilite anciens schemas if ($conf['evoadmin']['version'] == 1) { array_push($domaines,$info[$i]["domain"][0]); } else { array_push($domaines,$info[$i]["cn"][0]); } } ldap_unbind($ldapconn); } else { print "
Erreur de connexion : $ldapconn
"; EvoLog::log("LDAP connection failed"); } // driver 'file' } elseif ( $conf['domaines']['driver'] == 'file' ) { $domaines = $conf['domaines']['file']['all']; } // If you are not superadmin... } elseif ( $conf['domaines']['driver'] == 'file' ) { // you view all if using driver 'file' $domaines = $conf['domaines']['file']['all']; } elseif ( $conf['domaines']['driver'] == 'ldap' ) { // you view only your domain if using driver 'ldap' // we select domain in your DN // thanks to http://www.physiol.ox.ac.uk/~trp/regexp.html if ($conf['evoadmin']['version'] <= 2) { $mydomain = preg_replace("/uid=" .$login. ",domain=((?:(?:[0-9a-zA-Z_\-]+)\.){1,}(?:[0-9a-zA-Z_\-]+))," . LDAP_BASE ."/","$1",$_SESSION['dn']); } else { $mydomain = preg_replace("/uid=" .$login. ",cn=((?:(?:[0-9a-zA-Z_\-]+)\.){1,}(?:[0-9a-zA-Z_\-]+))," . LDAP_BASE ."/","$1",$_SESSION['dn']); } array_push($domaines,$mydomain); } // alphanumerique sort before displaying domains sort($domaines); include EVOADMIN_BASE . 'debut.php'; // with driver 'ldap', we can add a domain // TODO : retrict to superadmin guys // if ( $conf['domaines']['driver'] == 'ldap' ) { // print '

// Ajouter un domaine...

'; // } ?>

Liste des domaines administrables :


Nom du domaine Nombre de comptes dont comptes mail Nombre d'alias mail Taille / Quota Suppr.