* @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 . 'lib/common.php'; // $login var need for debut.php $login = $_SESSION['login']; include EVOADMIN_BASE . 'haut.php'; 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 "
Votre demande a été envoyé au support.
Concernant le domaine $domain...
"; // Envoit d'une demande de suppression $entete = "From: ".$conf['admin']['mail']."\n"; $entete .= "MIME-Version: 1.0\n"; $entete .= "Content-type: text/plain; charset=utf-8\n"; $entete .= "Content-Transfer-Encoding: quoted-printable\n"; $contenu = "Bonjour,\n\n"; $contenu .= "Pourriez vous supprimer le domaine : $domain\n"; $contenu .= "Cordialement,\n"; mail($conf['admin']['mail'], 'Suppression d\'un domaine mail',$contenu,$entete); // 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 "
Erreur, suppression non effectuée.
"; EvoLog::log("Delete $domain failed"); } } else { print "
Vous souhaitez effacer complètement le domaine $domain...
Tous les messages et paramètres seront définitivement perdus.

Confirmer la suppression
"; } } 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");
                        print "
"; } } elseif ( $conf['evoadmin']['version'] == 3) { // Version specifique pour steloi $info["cn"] = $domain; $info["objectclass"][0] = "postfixDomain"; $info["postfixTransport"] = "local:"; //$info["accountActive"] = (isset($_POST['isactive'])) ? "TRUE" : "FALSE"; // recuperer un uid number valide // TODO : erreur si uid non compris entre 1000 et 29999 $info["gidNumber"]= getfreegid(); $info2["cn"] = $domain; $info2["objectclass"][0]="posixGroup"; $info2["objectclass"][1]="sambaGroupMapping"; $info2["gidNumber"]= $info["gidNumber"]; $info2["displayName"]= $domain; $info2["sambaGroupType"]= "2"; // generation du sambaSID comme dans le add.pl. $info2["sambaSID"]= $conf['samba']['sid'] . (2*$info["gidNumber"]+1000); $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) && ldap_add($ldapconn,"cn=" .$domain. ",ou=groups," .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");
                        print "
"; } } } 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)) { domain_add($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);
                    EvoLog::log("Add $domain failed");
					print "
"; } } print "
"; // Formulaire d'ajout d'un domaine } else { ?>

Ajout d'un domaine