".gettext("Ajout - Création ").""; // Affichage du formulaire de sélection de parc if ((!isset($parc))&&(!isset($newparc))) { // Ajout de nouvelles machines dans les parcs echo "

".gettext("Sélection du parc à alimenter")."

"; $list_parcs=search_machines("objectclass=groupOfNames","parcs"); if ( count($list_parcs)>0) { echo "
\n"; echo "  \n"; echo "\n"; for ($loop=0; $loop < count($new_computers); $loop++) { echo "\n"; } echo "\n"; echo "\"help\" "; echo "
\n"; } echo "
"; // Création de nouveau parc // on ne propose pas de creer un nouveau parc si la page d'origine est recherche if ($new_computers == "") { echo "

".gettext("Création d'un nouveau parc")."

"; echo "
\n"; echo "\n"; echo "\"help\" "; //============================================================= //AJOUT echo gettext("Créer le dossier de template pour ce parc ?"); echo "\"help\" "; echo gettext("Oui:")." - \n"; echo ":".gettext("Non")."
\n"; //============================================================= echo "\n"; echo "
\n"; // Creation des templates si pas deje crees echo "
"; echo "

".gettext("Créer les dossiers de template pour les parcs existants")."

"; $list_parcs=search_machines("objectclass=groupOfNames","parcs"); if ( count($list_parcs)>0) { echo "
\n"; echo "\n"; echo "\n"; if (count($list_parcs)>10) $size=10; else $size=count($list_parcs); echo "\n"; echo "
".gettext("Créer les dossiers pour les parcs:")."
\n"; echo "\n"; // echo "\n"; echo "\n"; echo "
\n"; if($cpt_verif==0){ echo "

".gettext("Tous les parcs existants ont leur dossier de template créé.")."

\n"; } //echo "

Dans le cas o— le dossier de template existe déjà, il n'est pas modifié et rien n'est ajouté.

"; } /**********************************************************************************/ } // Debut du traitement } else { // Affichage du formulaire de remplissage du parc if ($creationdossiertemplate!="oui") { if ( !$create_parc) { if (isset($newparc)) { //============================================================= //PROPOSITION: //Passer d'autorité en minuscules le nom du parc $newparc=strtolower($newparc); if(strlen($newparc)==0){ echo "

".gettext("Le nom du parc ne doit pas être vide.")."

\n"; include ("pdp.inc.php"); exit; } //On pourrait meme ajouter un test ereg plus haut pour exclure les caracteres speciaux //(je suppose que le test est aussi fait au niveau du script PERL plus bas;o) if(strlen(preg_replace("/[0-9a-z_]/","",$newparc))!=0){ echo "

".gettext("Le nom du parc proposé comporte des caractères non valides.")."
\n"; echo gettext("Veuillez n'utiliser que des caractères alphanumériques en minuscules (surtout les chiffres;o) et éventuellement le caractère '_'.")."

\n"; echo "
"; echo "Retour"; echo "
"; include ("pdp.inc.php"); exit; } else { //============================================================= // Création d'un nouveau parc echo gettext("Création du parc ").$_POST['newparc']; echo "
"; echo gettext("Vous devez obligatoirement ajouter une machine dedans."); echo "\"help\" "; echo "
\n"; $parc=$newparc; //============================================================= } } $filtrecomp=isset($_POST['filtrecomp']) ? $_POST['filtrecomp'] : ""; echo "

".gettext("Alimentation du parc")." $parc

"; // Filtrage des noms echo "
\n"; echo "

".gettext("Lister les noms contenant: "); echo ""; echo "\n"; if (isset($newparc)) { echo "\n"; } if (isset($parc)) { echo "\n"; } echo "\n"; echo "

\n"; // Initialisation: $list_new_machines=array(); // Lecture des membres du parc $mp=gof_members($parc,"parcs",1); // Creation d'un tableau des nouvelles machines à intégrer if ($filtrecomp == '') $filtrel = '*'; else $filtrel = "*$filtrecomp*"; $list_machines=search_machines("(&(cn=$filtrel)(objectClass=ipHost))","computers"); // tri des machines déja présentes dans le parc $lmloop=0; $mpcount=count($mp); for ($loop=0; $loop < count($list_machines); $loop++) { $loop1=0; $mach=$list_machines[$loop]["cn"]; while (("$mp[$loop1]" != "$mach") && ($loop1 < $mpcount)) $loop1++; if ("$mp[$loop1]" != "$mach") $list_new_machines[$lmloop++]=$mach; } // Affichage menu de sélection des machines à ajouter au parc if ( count($list_new_machines)>15) $size=15; else $size=count($list_new_machines); if ( count($list_new_machines)>0) { sort($list_new_machines); $form = "
\n"; $form.="

".gettext("Sélectionnez les nouvelles machines à intégrer au parc:")."

\n"; $form.="

\n"; $form.="\n"; $form.="\n"; $form.="\n"; $form.="\n"; $form.="\n"; $form.="\n"; $form.="
\n"; echo $form; } else { $message = gettext("Il n'y a pas de nouvelles machines à ajouter !"); echo $message; } } else { // Remplissage du parc dans l'annuaire // Et éventuellement création // plus création du template echo "

".gettext("Alimentation du parc")." $parc

"; echo "

".gettext("Vous avez sélectionné "). count($new_computers).gettext(" machine(s)")."
\n"; if((count($new_computers)=="0") && ($_POST['newparc']!="")) { echo "
"; echo gettext("Vous n'avez pas sélectionné au moins une machine.
Le parc ne sera pas créé."); } for ($loop=0; $loop < count($new_computers); $loop++) { $computer=$new_computers[$loop]; $cDn = "cn=".$computer.",".$computersRdn.",".$ldap_base_dn; $pDn = "cn=".$parc.",".$parcsRdn.",".$ldap_base_dn; // Création du template au premier passage uniquement if(($_POST['createtemplateparc']=="yes") && $loop==0) { echo "

".gettext("Création du dossier du template de parc "); echo $_POST['newparc']; echo "

"; exec ("/bin/bash /usr/share/se3/scripts/createtemplateparc.sh \"$newparc\""); } echo gettext("Ajout de l'ordinateur")." $computer ".gettext("au parc")." $parc
"; // Si on est en train de créer un nouveau parc if ($newparc!="") { exec ("/usr/share/se3/sbin/entryAdd.pl \"cn=$newparc,$parcsRdn,$ldap_base_dn\" \"cn=$newparc\" \"objectClass=groupOfNames\" \"member=$cDn\""); exec ("/usr/share/se3/sbin/printers_group.pl"); // Lance le script pour wpkg $script_wpkg="/usr/share/se3/scripts/update_hosts_profiles_xml.sh"; if (file_exists($script_wpkg)) { exec ("/bin/bash /usr/share/se3/scripts/update_hosts_profiles_xml.sh ou=Computers ou=Parcs $ldap_base_dn"); exec ("/bin/bash /usr/share/se3/scripts/update_droits_xml.sh"); } $newparc=""; } else { // Sinon on ajoute simplement exec ("/usr/share/se3/sbin/groupAddEntry.pl \"$cDn\" \"$pDn\""); // NJ 10-2004 reconstruction des partages imprimantes par parc exec ("/usr/share/se3/sbin/printers_group.pl"); // On relance le script pour italc exec ("/usr/bin/sudo /usr/share/se3/scripts/italc_generate.sh"); // Lance le script pour wpkg $script_wpkg="/usr/share/se3/scripts/update_hosts_profiles_xml.sh"; if (file_exists($script_wpkg)) { exec ("/bin/bash /usr/share/se3/scripts/update_hosts_profiles_xml.sh ou=Computers ou=Parcs $ldap_base_dn"); exec ("/bin/bash /usr/share/se3/scripts/update_droits_xml.sh"); } echo "
"; } } echo "

\n"; echo "Retour"; } } // Création des templates apres if($creationdossiertemplate=="oui") { echo "

".gettext("Création des dossiers de parc")."

\n"; if(count($parc)==0){ echo "

".gettext("Erreur").": ".gettext("Vous n'avez pas sélectionné de parc;o).")."

"; } else { for($loop=0;$loop".gettext("Création du dossier de template pour le parc")." $parc[$loop]

\n"; exec ("/bin/bash /usr/share/se3/scripts/createtemplateparc.sh \"$parc[$loop]\""); } } } } } include ("pdp.inc.php"); ?>