diff --git a/htdocs/domaine.php b/htdocs/domaine.php index 3f24319..134a4ec 100644 --- a/htdocs/domaine.php +++ b/htdocs/domaine.php @@ -1,241 +1,61 @@ - * @version 1.0 - */ - // Load config and autoload class require_once("lib/config.php"); // Force authentication on this page require_once("lib/auth.php"); -/** - * Path - */ -define('EVOADMIN_BASE','./'); +require_once("lib/common.php"); - /** - * Requires - */ - require_once EVOADMIN_BASE . 'lib/common.php'; - - include EVOADMIN_BASE . 'inc/haut.php'; - include EVOADMIN_BASE . 'inc/debut.php'; - - if ( (!$server->isSuperAdmin()) || ($conf['domaines']['driver'] != 'ldap') ) { +include("inc/haut.php"); +include("inc/debut.php"); +if (!$server->isSuperAdmin()) { print "
Vous n'avez pas les droits pour cette page
"; - EvoLog::log("Access denied on domaine.php"); - - include EVOADMIN_BASE . 'inc/fin.php'; +# EvoLog::log("Access denied on domaine.php"); + include("inc/fin.php"); exit(1); +} + +// Ajouter un domaine +if (!empty($_POST['domain'])) { + $domain = Html::clean($_POST['domain']); + + print "
"; + print "
Ajout en cours du domaine ".$domain." ...
"; + + try { + $server->addDomain(Html::clean($_POST['domain'], Html::clean($_POST['is_active']))); + domain_add($domain); + print ''; + #EvoLog::log("Add domain ".$domain); + domainnotify($domain); + } catch (Exception $e_ad) { + print ''; + #EvoLog::log("Add $domain failed"); } + + print "
"; +} - // 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

- -
- - - -
- -
-
- -
- -
-
- -
- -
- -
- - + +
+

Ajout d'un domaine

+
+ +
+ +
+
+
+ +
+
+
+
+
+ +