$filter = "(&(uid=" . $login . ")(isAdmin=TRUE))"; $sr = ldap_search($ldapconn, LDAP_BASE, $filter); $info = ldap_get_entries($ldapconn, $sr); if ($info['count']) { $bind = @ldap_bind($ldapconn, $info[0]['dn'], $_POST['password']); if ($bind) { $_SESSION['login'] = $login; $_SESSION['dn'] = $info[0]['dn']; EvoLog::log("Login success for " . $login); header("location: superadmin.php\n\n"); exit(0); } else { badauth(); EvoLog::log("Password failed : " . $login); Formulaire(); } } else { badauth(); EvoLog::log("Login failed : " . $login); Formulaire(); } } /** * Case with no $_POST data * we display Formular */ } else { Formulaire(); } include EVOADMIN_BASE . 'fin.php'; ob_end_flush();
$info["isActive"] = isset($_POST['isactive']) ? "TRUE" : "FALSE"; // recuperer un uid number valide // TODO : erreur si uid non compris entre 1000 et 29999 $info["gidNumber"] = getfreegid(); $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN, LDAP_ADMIN_PASS); // on teste si LDAP est content if (ldap_add($ldapconn, "cn=" . $domain . "," . LDAP_BASE, $info)) { domain_add($domain); print "<p class='strong'>Ajout effectué.</p>"; EvoLog::log("Add domain " . $domain); // notification par mail domainnotify($domain); } else { print "<p class='error'>Erreur, envoyez le message d'erreur\n suivant à votre administrateur :</p>"; var_dump($info); EvoLog::log("Add {$domain} failed"); } } print "</center>"; // Formulaire d'ajout d'un domaine } else { ?> <center> <h4>Ajout d'un domaine</h4> <form name="add" action="domaine.php?modif=yes" method="post"> <p class="italic">Remplissez lez champs, ceux contenant [*] sont obligatoires.</p>
if ($sr) { if (!$conf['domaines']['ldap']['virtual']) { // script creation systeme unix_add($uid, getgid($_SESSION['domain'])); } else { mail($uid, 'Premier message', "Mail d'initialisation du compte."); } print "<p class='strong'>Ajout effectué.</p>"; print "<a href='compte.php?view={$uid}'>Voir le compte créé</a>"; EvoLog::log("Add user " . $uid); // notification par mail mailnotify($info, $_SESSION['domain'], $_POST['pass1']); } else { print "<p class='error'>Erreur, envoyez le message d'erreur\n suivant à votre administrateur :</p>"; var_dump($info); EvoLog::log("Add {$uid} failed"); } print "</center>"; } else { ?> <center> <h4>Ajout d'un compte</h4> <form name="add" action="compte.php?modif=yes" method="post"> <p class="italic">Remplissez lez champs, ceux contenant [*] sont obligatoires.</p> <table>
$info["sn"] = $cn; //$info["accountActive"] = ($_POST['isactive']) ? "TRUE" : "FALSE"; } $info["mailacceptinggeneralid"] = $aliases; $info["maildrop"] = $maildrop; $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN, LDAP_ADMIN_PASS); $sr = ldap_add($ldapconn, "cn=" . $cn . "," . $rdn, $info); // on teste si LDAP est content if ($sr) { print "<p class='strong'>Ajout effectué.</p>"; print "<a href='alias.php?view={$cn}'>Voir l'alias ajouté</p>"; EvoLog::log("Add alias " . $cn); } else { print "<p class='error'>Erreur, envoyez le message d'erreur\n suivant a votre administrateur :</p>"; var_dump($info); EvoLog::log("Add alias {$cn} failed"); } print "</center>"; } else { ?> <center> <h4>Ajout d'un alias</h4> <form name="add" action="alias.php?modif=yes" method="post"> <p class="italic">Remplissez lez champs.</p> <table>
$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 "<p class='error'>Erreur de connexion : {$ldapconn}</p>"; 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']);