* @version 1.0 */ /** * Path */ define('EVOADMIN_BASE','./'); /** * PHP cookies session */ session_name('EVOADMIN_SESS'); session_start(); if (isset($_SESSION['login'])) { /** * Requires */ require_once EVOADMIN_BASE . 'common.php'; // $login var need for debut.php $login = $_SESSION['login']; include EVOADMIN_BASE . 'haut.php'; include EVOADMIN_BASE . 'inc/add.js'; include EVOADMIN_BASE . 'debut.php'; if ( (!superadmin($login)) || ($conf['domaines']['driver'] != 'ldap') ) { print "

Vous n'avez pas les droits pour cette page

"; EvoLog::log("Access denied on domaine.php"); include EVOADMIN_BASE . 'fin.php'; exit(1); } // Supprimer un domaine if ( isset($_GET['del']) ) { $domain = Html::clean($_GET['del']); if ( (isset($_GET['modif'])) && ($_GET['modif'] == 'yes')) { print "
"; print "

Suppression $domain en cours...

"; // TODO : Verifier que l'objet existe avant sa suppression //$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS); //$sr = Ldap::lda_del($ldapconn,"domain=" .$domain. "," .$rdn); if ( $sr ) { // script suppression systeme //unix_del_dom($domain); // TODO : suppression comptes associes print "

Suppression $domain effectuée.

"; EvoLog::log("Del domain ".$domain); } else { print "

"; print "Veuillez prendre contact avec l'administrateur pour faire cela.

"; //print "Tous les messages et paramètres seront définitivement perdus.

"; //print "Confirmer la suppression"; print "
"; } } else { // Ajouter un domaine if ( (isset($_GET['modif'])) && ($_GET['modif'] == 'yes')) { $domain = Html::clean($_POST['domain']); print "
"; print "Ajout en cours..."; if (!$conf['domaines']['ldap']['virtual']) { if ( $conf['evoadmin']['version'] == 1) { $info["domain"]=$domain; $info["objectclass"][0] = "ldapDomain"; $info["postfixTransport"] = "local:"; $info["accountActive"] = (isset($_POST['isactive'])) ? "TRUE" : "FALSE"; $info2["cn"] = $domain; $info2["objectclass"]="posixGroup"; // recuperer un uid number valide // TODO : erreur si uid non compris entre 1000 et 29999 $info2["gidNumber"]= getfreegid(); $ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS); // on teste si LDAP est content if ( ldap_add($ldapconn,"domain=" .$domain. "," .LDAP_BASE, $info) && ldap_add($ldapconn,"cn=" .$domain. ",ou=group," .LDAP_BASE, $info2) ) { // script ajout systeme (TODO : quota) //unix_add($uid,getgid($_SESSION['domain'])); print "

Ajout effectué.

"; EvoLog::log("Add domain ".$domain); // notification par mail domainnotify($domain); } else { print "

Erreur, envoyez le message d'erreur suivant à votre administrateur :

"; var_dump($info); var_dump($info2); EvoLog::log("Add $domain failed"); } } elseif ( $conf['evoadmin']['version'] == 2) { // TODO : cf worldsat, etc. } } else { // Ajout d'un domaine virtuel $info["cn"]=$domain; $info["objectclass"][0] = "postfixDomain"; $info["objectclass"][1] = "posixGroup"; $info["postfixTransport"] = "virtual:"; $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)) { print "

Ajout effectué.

"; EvoLog::log("Add domain ".$domain); // notification par mail domainnotify($domain); } else { print "

Erreur, envoyez le message d'erreur suivant à votre administrateur :

"; var_dump($info); EvoLog::log("Add $domain failed"); } } print "
"; // Formulaire d'ajout d'un domaine } else { ?>

Ajout d'un domaine

Remplissez lez champs, ceux contenant [*] sont obligatoires.

Domaine [*] :
Activation globale :