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 "
";
+ print "
Ajout en cours du domaine ".$domain." ...
";
+
+ try {
+ $server->addDomain(Html::clean($_POST['domain'], Html::clean($_POST['is_active'])));
+ domain_add($domain);
+ print '
Ajout effectué.
';
+ #EvoLog::log("Add domain ".$domain);
+ domainnotify($domain);
+ } catch (Exception $e_ad) {
+ print '
'.$e_ad->getMessage().'
';
+ #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 "";
- 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 {
- ?>
-