:> 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";
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";
}
}
} // Fin if is_admin
include ("pdp.inc.php");
?>