[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/partages/ -> liste_folders_classes.php (source)

   1  <?php
   2  
   3  
   4     /**
   5     
   6     * Permet de lsiter les partages Classe
   7     * @Version $Id: liste_folders_classes.php 6176 2011-02-27 23:00:23Z dbo $ 
   8     
   9     * @Projet LCS / SambaEdu 
  10     
  11     * @auteurs  jLCF >:>  jean-luc.chretien@tice.ac-caen.fr
  12     * @auteurs Equipe TICE Crdp de Caen
  13     * @auteurs Olivier LECLUSE
  14  
  15     * @Licence Distribue selon les termes de la licence GPL
  16     
  17     * @note Ce script est conserve pour le cas d'un serveur esclave avec repertoires classes deportes (utilise admind)
  18     
  19     */
  20  
  21     /**
  22  
  23     * @Repertoire: partages/
  24     * file: liste_folders_classes.php
  25  
  26    */    
  27  
  28  
  29  
  30    include  "entete.inc.php";
  31    include  "ldap.inc.php";
  32    include  "ihm.inc.php";
  33  
  34    require_once  ("lang.inc.php");
  35    bindtextdomain('se3-partages',"/var/www/se3/locale");
  36    textdomain ('se3-partages');
  37  
  38  
  39  if (is_admin("se3_is_admin",$login)=="Y") {
  40      // Aide en ligne
  41            $titre=gettext("Aide en ligne");
  42            $texte=gettext("Vous &#234tes administrateur du serveur SE3.<BR>Avec le menu ci-dessous, vous pouvez lister les r&#233pertoires classes disponibles sur vos serveurs SE3");
  43            mkhelp($titre,$texte);
  44   
  45      echo "<h1>".gettext("Liste des r&#233;pertoires classes disponibles")."</h1>";    
  46   
  47      // Fin Aide en ligne
  48      // Prepositionnement variables
  49      $mono_srv = false;
  50      $multi_srv = false;
  51      // Recherche de la nature mono ou multi serveur de la plateforme SE3
  52      $master=search_machines ("(l=maitre)", "computers");
  53      $slaves= search_machines ("(l=esclave)", "computers");
  54      if ( count($master) == 0 ) {
  55      echo gettext("<P>ERREUR : Il n'y a pas de serveur maitre d&#233clar&#233 dans l'annuaire ! <BR>Veuillez contacter le super utilisateur du serveur SE3.</P>");
  56      } elseif (  count($master) == 1  && count($slaves) == 0 ) {
  57         // Plateforme mono-serveur
  58         $mono_srv = true;
  59      } elseif (  count($master) == 1  && count($slaves) > 0  ) {
  60         $multi_srv = true;
  61      }
  62      // Fin Recherche de la nature mono ou multi serveur de la plateforme SE3
  63      if ( $mono_srv ) {
  64        // configuration mono serveur  : determination des parametres du serveur
  65        $serveur=search_machines ("(l=maitre)", "computers");
  66        $cn_srv= $serveur[0]["cn"];
  67        $stat_srv = $serveur[0]["l"];
  68        $ipHostNumber =  $serveur[0]["ipHostNumber"];
  69      } elseif ($multi_srv) {
  70        // configuration multi-serveurs : presentation d'un form de selection du serveur
  71        if ( !$selected_srv && !$del_folders_classes) {
  72          echo "<P><H3>".gettext("S&#233lection du serveur ou vous souhaitez lister les ressources classes disponibles :")." </H3>";
  73          $servers=search_computers ("(|(l=esclave)(l=maitre))");
  74          echo "<form action=\"liste_folders_classes.php\" method=\"post\">\n";
  75          for ($loop=0; $loop < count($servers); $loop++) {
  76            echo $servers[$loop]["description"]." ".$servers[$loop]["cn"]."&nbsp;<input type=\"radio\" name=\"cn_srv\" value =\"".$servers[$loop]["cn"]."\"";
  77            if ($loop==0) echo "checked";
  78              echo "><BR>\n";
  79          }
  80          $form="<input type=\"reset\" value=\"".gettext("R&#233initialiser la s&#233lection")."\">\n";
  81          $form ="<input type=\"hidden\" name=\"selected_srv\" value=\"true\">\n";
  82          $form.="<input type=\"submit\" value=\"".gettext("Valider")."\">\n";
  83          $form.="</form>\n";
  84          echo $form;
  85        } elseif ( $selected_srv && $multi_srv) {
  86          // configuration multi serveurs  : determination des parametres du serveur
  87          $serveur=search_machines ("(cn=$cn_srv)", "computers");
  88          $stat_srv = $serveur[0]["l"];
  89          $ipHostNumber =  $serveur[0]["ipHostNumber"];
  90        }
  91      }
  92      // Recherche des ressources classes existantes
  93      if ($stat_srv == "maitre") {
  94        // Serveur maitre  :  Recherche des ressources classes existantes
  95        // ouverture du repertoire Classes
  96        $loop=0;
  97        $repClasses = dir ("/var/se3/Classes/");
  98        // recuperation de chaque entree
  99        while ($ressource =  $repClasses->read()) {
 100          if ( preg_match("/^Classe_/", $ressource) ) {
 101            $list_ressources[$loop]= $ressource;
 102            $loop++;
 103          }
 104        }
 105        $repClasses->close();
 106      } elseif  ($stat_srv == "esclave") {
 107        // Serveur esclave :  Recherche des ressources classes existantes
 108        exec ("ssh -l remote_adm $ipHostNumber 'ls /var/se3/Classes'", $list_ressources, $ReturnValue);
 109      }
 110      // Fin  Recherche des ressources classes existantes
 111      // Presentation de la liste  des ressources disponibles
 112      if (  ($stat_srv == "maitre" || $stat_srv == "esclave")  ) {
 113  
 114        echo "<H3>".gettext("Liste des ressources  Classes disponibles sur le serveur "). "$cn_srv</H3>\n";
 115        if (count($list_ressources) == 0 ) {
 116          echo "<P>".gettext("Il n'y a pas de ressources Classes sur ce serveur !")."</P>\n";
 117        }  else {
 118          if   ( count($list_ressources)>10) $size=10; else $size=count($list_ressources);
 119          echo "<form>\n";
 120          // Affichage liste des ressources disponibles
 121          echo "<select size=\"".$size."\" name=\"list_del_classes[]\" multiple=\"multiple\">\n";
 122          for ($loop=0; $loop<count($list_ressources);$loop++) {
 123            echo "<option value=".$list_ressources[$loop].">".$list_ressources[$loop]."\n";
 124          }
 125          echo "</select><br>\n";
 126          echo "</form>\n";
 127        }
 128      }
 129    } // Fin if is_admin
 130    include ("pdp.inc.php");
 131  ?>


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1