:> 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) */ /** * @Repertoire: partages/ * file: liste_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") { // Aide en ligne $titre=gettext("Aide en ligne"); $texte=gettext("Vous êtes administrateur du serveur SE3.
Avec le menu ci-dessous, vous pouvez lister les répertoires classes disponibles sur vos serveurs SE3"); mkhelp($titre,$texte); echo "

".gettext("Liste des répertoires classes disponibles")."

"; // Fin Aide en ligne // 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 lister les ressources classes disponibles :")."

"; $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_match("/^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 // Presentation de la liste des ressources disponibles if ( ($stat_srv == "maitre" || $stat_srv == "esclave") ) { echo "

".gettext("Liste des ressources Classes disponibles sur le serveur "). "$cn_srv

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

".gettext("Il n'y a pas de ressources Classes sur ce serveur !")."

\n"; } else { if ( count($list_ressources)>10) $size=10; else $size=count($list_ressources); echo "
\n"; // Affichage liste des ressources disponibles echo "
\n"; echo "
\n"; } } } // Fin if is_admin include ("pdp.inc.php"); ?>