:> jean-luc.chretien@tice.ac-caen.fr * @auteurs Equipe TICE Crdp de Caen * @auteurs Olivier LECLUSE * @Licence Distribue selon les termes de la licence GPL * @note Ce script est conserve pour le cas d'un serveur esclave avec repertoires classes deportes (utilise admind) * @note Remplace par rep_classe.php */ /** * @Repertoire: partages/ * file: delete_folders_classes.php */ include "entete.inc.php"; include "ldap.inc.php"; include "ihm.inc.php"; require_once ("lang.inc.php"); bindtextdomain('se3-partages',"/var/www/se3/locale"); textdomain ('se3-partages'); if (is_admin("se3_is_admin",$login)=="Y") { echo "

".gettext("Suppression de répertoire classe")."

"; // Definition des messages d'alerte $alerte_1="
".gettext("Votre demande de suppression de ressources classes n'a pas été prise en compte car une tâche d'administration est en cours sur le serveur "); $alerte_2=gettext(", veuillez réitérer votre demande plus tard. Si le problème persiste, veuillez contacter le super-utilisateur du serveur SE3.")."

\n"; $alerte_3="
".gettext("Votre demande de suppression de ressources classes a échouée. Si le problème persiste, veuillez contacter le super-utilisateur du serveur SE3.")."

\n"; // Definition des messages d'info $info_1 = gettext("Cette tâche est ordonnancée, vous recevrez un mail de confirmation de suppression de ressources dans quelques instants..."); // Prepositionnement variables $mono_srv = false; $multi_srv = false; // Recherche de la nature mono ou multi serveur de la plateforme SE3 $master=search_machines ("(l=maitre)", "computers"); $slaves= search_machines ("(l=esclave)", "computers"); if ( count($master) == 0 ) { echo gettext("

ERREUR : Il n'y a pas de serveur maitre déclaré dans l'annuaire !
Veuillez contacter le super utilisateur du serveur SE3.

"); } elseif ( count($master) == 1 && count($slaves) == 0 ) { // Plateforme mono-serveur $mono_srv = true; } elseif ( count($master) == 1 && count($slaves) > 0 ) { $multi_srv = true; } // Fin Recherche de la nature mono ou multi serveur de la plateforme SE3 if ( $mono_srv ) { // configuration mono serveur : determination des parametres du serveur $serveur=search_machines ("(l=maitre)", "computers"); $cn_srv= $serveur[0]["cn"]; $stat_srv = $serveur[0]["l"]; $ipHostNumber = $serveur[0]["ipHostNumber"]; } elseif ($multi_srv) { // configuration multi-serveurs : presentation d'un form de selection du serveur if ( !$selected_srv && !$del_folders_classes) { echo "

".gettext("Sélection du serveur ou vous souhaitez supprimer des ressources classes:")."

"; $servers=search_computers ("(|(l=esclave)(l=maitre))"); echo "
\n"; for ($loop=0; $loop < count($servers); $loop++) { echo $servers[$loop]["description"]." ".$servers[$loop]["cn"]." 
\n"; } $form="\n"; $form ="\n"; $form.="\n"; $form.="
\n"; echo $form; } elseif ( $selected_srv && $multi_srv) { // configuration multi serveurs : determination des parametres du serveur $serveur=search_machines ("(cn=$cn_srv)", "computers"); $stat_srv = $serveur[0]["l"]; $ipHostNumber = $serveur[0]["ipHostNumber"]; } } // Recherche des ressources classes existantes if ($stat_srv == "maitre") { // Serveur maitre : Recherche des ressources classes existantes // ouverture du repertoire Classes $loop=0; $repClasses = dir ("/var/se3/Classes/"); // recuperation de chaque entree while ($ressource = $repClasses->read()) { if ( preg("/^Classe_/", $ressource) ) { $list_ressources[$loop]= $ressource; $loop++; } } $repClasses->close(); } elseif ($stat_srv == "esclave") { // Serveur esclave : Recherche des ressources classes existantes exec ("ssh -l remote_adm $ipHostNumber 'ls /var/se3/Classes'", $list_ressources, $ReturnValue); } // Fin Recherche des ressources classes existantes // Presentaion du formulaire de selection des ressources a supprimer if ( (!$del_folders_classes && ($stat_srv == "maitre" || $stat_srv == "esclave") ) || ( $del_folders_classes && count($list_del_classes)==0 ) ) { echo "

".gettext("Suppression de ressources Classes sur le serveur "). "$cn_srv

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

".gettext("Pas de ressources a supprimer sur ce serveur !")."

\n"; } else { if ( count($list_ressources)>10) $size=10; else $size=count($list_ressources); echo "
\n"; echo "

".gettext("Sélectionnez les ressources classes à supprimer :")."
\n"; // Affichage liste des ressources a supprimer echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "

\n"; // Verification selection d'au moins une classe if ( $del_folders_classes && count($list_del_classes)==0 ) { echo "
".gettext("Vous devez sélectionner au moins une classe !")."
\n"; } } } elseif ($del_folders_classes) { // Creation du script bash echo "

".gettext("Vous avez sélectionné "). count($list_del_classes).gettext(" classe(s) à supprimer sur le serveur")." $stat_srv $cn_srv

\n"; // Construction du script admin.sh $path_Classes="/var/se3/Classes"; $commandes = "#!/bin/bash\n"; $commandes .="#".gettext(" Effacement repertoire(s) Classe")." \n"; $commandes .="cd $path_Classes\n"; for ($loop=0; $loop".gettext("ERREUR : Impossible de créer le fichier"). "$path_to_wwwse3/Admin/tmp_$stat_srv\n"; } } // Fin creation du script bash } // Fin if is_admin include ("pdp.inc.php"); ?>