$val) { $$cle = $val; } //Pour tenir compte des essais... $nom_de_la_page="dossier_echange.php"; echo "

".gettext("Gestion des dossiers d'échange")."

"; //if (is_admin("se3_is_admin",$login)=="Y") { //aide $_SESSION["pageaide"]="Ressources_et_partages#Dossier_.C3.A9change"; //La gestion multi-serveur n'est pas en place... //Je l'ai laissee en pensant faire des essais par la suite, //mais je n'ai encore jamais fait l'install multi-serveur //et par consequent, je n'en ai pas sous le coude pour tester;o). // 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 (is_admin("se3_is_admin",$login)=="Y") { 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); } } else{ include("fonc_outils.inc.php"); $list_ressources=classes_prof($login); } // Fin Recherche des ressources classes existantes // Presentation de la liste des ressources disponibles if ( ($stat_srv == "maitre" || $stat_srv == "esclave") ) { //Le choix des classes a traiter est-il fait? if(!isset($choice_done)){ //echo "

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

\n"; echo "

".gettext("Création/Activation/Désactivation des dossiers _echange 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 "

Création/Activation/Désactivation des dossiers _echange

"; //echo "
\n"; echo "\n"; // Affichage liste des ressources disponibles /* echo "
\n"; */ /* //AJOUT MODIF */ echo "

".gettext("Les boutons sont placés dans l'état actuel.")."
\n"; echo gettext("Seules les classes pour lesquelles vous modifierez le choix seront affectées.")."
\n"; echo gettext("L'accès au dossier I:\public est aussi activé/verrouillé par la même opération.")."

\n"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "\n"; for ($loop=0; $loop\n"; echo "\n"; echo "\n"; echo "\n"; $pre_selectionne=""; if("$resultat[0]"=="verrouille"){ $pre_selectionne=" checked=\"true\""; } echo "\n"; //Delai: echo "\n"; //echo "minutes"; echo "\n"; unset($resultat); } echo "
".gettext("Classe")."".gettext("Etat actuel")."".gettext("Actif")."".gettext("Verrouillé")."".gettext("Réactiver
automatiquement
l'accès
après...")."
$list_ressources[$loop]$resultat[0]\n"; echo "\n"; echo " H \n"; echo " MIN \n"; echo "
\n"; /* //FIN MODIF */ echo "\n"; echo "\n"; //echo "Activer: / \n"; //echo ": Désactiver
\n"; echo ""; echo "
\n"; } } else { //PARTIE ACTION: //Le choix des classes a traiter a ete effectue dans le formulaire ci-dessus. //echo "

activate=$activate

\n"; echo "

".gettext("Traitement des dossiers _echange")."

\n"; /* if(count($list_classes)=="0"){ echo "

".gettext("Crénom de bourricot, vous n'avez pas sélectionné de classe !")."

"; } else{ for ($loop=0; $loopTraitement du dossier $list_classes[$loop]/_echange
\n"; echo "

$textactivation du dossier $list_classes[$loop]/_echange
\n"; //echo "exec (\"/bin/sh /usr/share/se3/scripts/echange_classes.sh \\\"$list_classes[$loop]\\\" \\\"$activate\\\"\")

\n"; exec ("/usr/bin/sudo /usr/share/se3/scripts/echange_classes.sh \"$list_classes[$loop]\" \"$activate\""); echo "

\n"; } } } */ for ($loop=0; $loop".count($list_classes)."

\n"; //if("$list_classes[$loop]"!=""){ if ("$etat_actuel[$loop]"!="$activate[$loop]"){ if("$activate[$loop]"!=""){ if("$activate[$loop]"=="actif"){ $textactivation="Activation"; } else{ $textactivation="Désactivation"; } echo "

$textactivation ".gettext(" du dossier")." $list_classes[$loop]/_echange
\n"; exec ("/usr/bin/sudo /usr/share/se3/scripts/echange_classes.sh \"$list_classes[$loop]\" \"$activate[$loop]\""); //sleep(1); //Dans le cas ou il existait une temporisation, //comme on refait ici le choix d'activer ou de desactiver l'acces, //on vide l'eventuelle temporisation anterieure. if(file_exists("$chemin_tmp/levee_restriction_echange_$list_classes[$loop].sh")){ unlink("$chemin_tmp/levee_restriction_echange_$list_classes[$loop].sh"); } sleep(1); //On ne met en place que des temporisations de deverrouillage //(donc: quand un verrouillage est mis en place, on teste si un minutage est demande) if(("$delai[$loop]"=="oui")&&("$activate[$loop]"=="verrouille")&&(("$minutes[$loop]"!="0")||("$heures[$loop]"!="0"))){ $chemin_tmp="/tmp"; //$chemin_tmp="/var/remote_adm"; /* //Le fichier est vire plus haut. if(file_exists("$chemin_tmp/levee_restriction_echange_$list_classes[$loop].sh")){ unlink("$chemin_tmp/levee_restriction_echange_$list_classes[$loop].sh"); } */ $fichier=fopen("$chemin_tmp/levee_restriction_echange_$list_classes[$loop].sh","w+"); if($fichier){ fwrite($fichier,"#!/bin/bash\n"); fwrite($fichier,"/usr/bin/sudo /usr/share/se3/scripts/echange_classes.sh \"$list_classes[$loop]\" \"actif\"\n"); chmod("$chemin_tmp/levee_restriction_echange_$list_classes[$loop].sh",0700); fclose($fichier); $duree_delai=$heures[$loop]*60+$minutes[$loop]; exec ("at -f $chemin_tmp/levee_restriction_echange_$list_classes[$loop].sh +$duree_delai minute"); echo gettext("Les dossiers I:\public et H:\\")."$list_classes[$loop]\_echange ".gettext(" seront réactivés dans ")." $duree_delai ".gettext("minutes.\n"); unset($duree_delai); } } echo "

\n"; } else{ //Pas de modification pour $list_classes[$loop] //parce que le dossier n'est pas encore initialies //et qu'aucune case n'etait selectionnee. echo "\n"; } } else{ //Pas de modification pour cette classe //(le bouton radio d'activation/verrouillage n'a pas ete deplace). echo "\n"; } //} } echo "

".gettext("Retour au menu 'Dossier _echange'")."

\n"; } } //} // Fin if is_admin include ("pdp.inc.php"); ?>