[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/annu/ -> add_list_users_group.php (source)

   1  <?php
   2  
   3     /**
   4     
   5     * Ajoute des utilisateurs aux groupes dans l'annuaire
   6     * @Version $Id: add_list_users_group.php 6239 2011-03-16 07:39:37Z ericg $ 
   7     
   8     * @Projet LCS / SambaEdu 
   9     
  10     * @auteurs jLCF jean-luc.chretien@tice.ac-caen.fr
  11     * @auteurs oluve olivier.le_monnier@crdp.ac-caen.fr
  12     * @auteurs wawa  olivier.lecluse@crdp.ac-caen.fr
  13     * @auteurs Equipe Tice academie de Caen
  14  
  15     * @Licence Distribue selon les termes de la licence GPL
  16     
  17     * @note 
  18     */
  19  
  20     /**
  21  
  22     * @Repertoire: annu
  23     * file: add_list_users_group.php
  24     */
  25  
  26    
  27    
  28    include  "entete.inc.php";
  29    include  "ldap.inc.php";
  30    include  "ihm.inc.php";
  31  
  32    require_once  ("lang.inc.php");
  33    bindtextdomain('se3-annu',"/var/www/se3/locale");
  34    textdomain ('se3-annu');
  35        
  36    // Aide
  37    $_SESSION["pageaide"]="Annuaire";
  38    
  39    echo "<h1>".gettext("Annuaire")."</h1>";
  40  
  41    $cn=$_POST['cn'];
  42    if ($cn=="") { $cn=$_GET['cn']; }
  43    $new_uids=$_POST['new_uids'];
  44    $add_list_users_group=$_POST['add_list_users_group'];
  45  
  46    if (is_admin("Annu_is_admin",$login)=="Y") {
  47  
  48        $filter="8_".$cn;    
  49      aff_trailer ("$filter");
  50          if ( !$add_list_users_group ) {
  51                echo "<H4>".gettext("Ajouter des membres au groupe :")." $cn</H4>\n";
  52                // cas d'un groupe de type Equipe
  53                if ( preg_match ("#Equipe_#", $cn) ) {
  54                  // Recherche de la liste des uid  des membres de ce groupe
  55                  $uids_act = search_uids ("(cn=$cn)");
  56                  // Reherche de la liste des professeurs
  57                  $uids_profs = search_uids ("(cn=Profs)");
  58                  // Constitution d'un tableau excluant les membres actuels
  59                  $k=0;
  60                  for ($i=0; $i < count($uids_profs); $i++ ) {
  61                          for ($j=0; $j < count($uids_act); $j++ ) {
  62                                if ( $uids_profs[$i]["uid"] == $uids_act[$j]["uid"] )  {
  63                                  $exist = true;
  64                                  break;
  65                                } else { $exist = false; }
  66                          }
  67                          if (!$exist) {
  68                                $uids_new_members[$k]["uid"] = $uids_profs[$i]["uid"];
  69                                $k++;
  70                          }
  71                  }
  72                   $people_new_members=search_people_groups ($uids_new_members,"(sn=*)","cat");
  73                } elseif   ( preg_match ("#Classe_#", $cn) ) {
  74                  // Recherche de la liste des Eleves appartenant a une classe
  75                  $uids_eleves_classes =   search_uids ("(cn=Classe_*)");
  76                  ##DEBUG
  77                  #echo "Eleves Classes>".  count($uids_eleves_classes)."<BR>";
  78                  #for ($i=0; $i < count($uids_eleves_classes ); $i++ ) {
  79                  #echo $uids_eleves_classes[$i]["uid"]."<BR>";
  80                  #}
  81                  ##DEBUG
  82                  // Recherche de la liste des Eleves
  83                  $uids_eleves = search_uids ("(cn=Eleves)");
  84                  ##DEBUG
  85                  #echo "Eleves >".  count($uids_eleves)."<BR>";
  86                  #for ($i=0; $i < count($uids_eleves); $i++ ) {
  87                  #echo $uids_eleves[$i]["uid"]."<BR>";
  88                  #}
  89                  ##DEBUG
  90                  // Recherche des Eleves qui ne sont pas affectes a une classe
  91                  $k=0;
  92                  for ($i=0; $i < count($uids_eleves); $i++ ) {
  93                        $affect = false;
  94                        for ($j=0; $j < count($uids_eleves_classes); $j++ ) {
  95                              if ( $uids_eleves[$i]["uid"] == $uids_eleves_classes[$j]["uid"] ) {
  96                                    $affect = true;
  97                                    break;
  98                              }
  99                        }
 100                          if ($affect==false )  {
 101                              $uids_eleves_no_affect[$k]["uid"]=$uids_eleves[$i]["uid"];
 102                              $k++;
 103                          }
 104                  }
 105                  $people_new_members = search_people_groups ($uids_eleves_no_affect,"(sn=*)","cat");
 106                  ##DEBUG
 107                  #echo "---->".  count($uids_eleves_no_affect)."<BR>";
 108                  #for ($i=0; $i < count($uids_eleves_no_affect); $i++ ) {
 109                  # echo $uids_eleves_no_affect[$i]["uid"]."<BR>";
 110                  # echo $people_new_members[$i]["fullname"]."<BR>";
 111                  #}
 112                  ##DEBUG
 113                }
 114                
 115          // Affichage de la liste dans une boite de selection
 116                if   ( count($people_new_members)>15) $size=15; else $size=count($people_new_members);
 117                if ( count($people_new_members)>0) {
 118                  $form = "<form action=\"add_list_users_group.php\" method=\"post\">\n";
 119                  $form.="<p>".gettext("S&#233;lectionnez les membres &#224; ajouter au groupe :")."</p>\n";
 120                  $form.="<p><select size=\"".$size."\" name=\"new_uids[]\" multiple=\"multiple\">\n";
 121                  echo $form;
 122                  for ($loop=0; $loop < count($people_new_members); $loop++) {
 123                        echo "<option value=".$people_new_members[$loop]["uid"].">".$people_new_members[$loop]["fullname"];
 124                   }
 125                  $form="</select></p>\n";
 126                  $form.="<input type=\"hidden\" name=\"cn\" value=\"$cn\">\n";
 127                  $form.="<input type=\"hidden\" name=\"add_list_users_group\" value=\"true\">\n";
 128                  $form.="<input type=\"reset\" value=\"".gettext("R&#233;initialiser la s&#233;lection")."\">\n";
 129                  $form.="<input type=\"submit\" value=\"".gettext("Valider")."\">\n";
 130                  $form.="</form>\n";
 131                  echo $form;
 132                } else {
 133                  echo "<font color=\"orange\">".gettext("Vous ne pouvez pas ajouter d'&#233;l&#232;ves car il n'existe plus d'&#233;l&#232;ves non affect&#233;s &#224; des classes !!")."</font><BR>";
 134                }
 135          }   else {
 136                // Ajout des membres au groupe
 137                 echo "<H4>".gettext("Ajout des membres au groupe :")." <A href=\"group.php?filter=$cn\">$cn</A></H4>\n";
 138                 for ($loop=0; $loop < count ($new_uids) ; $loop++) {
 139                    exec("/usr/share/se3/sbin/groupAddUser.pl  $new_uids[$loop] $cn" ,$AllOutPut,$ReturnValue);
 140                    echo  gettext("Ajout de l'utilisateur")."&nbsp;".$new_uids[$loop]."&nbsp;";
 141                    if ($ReturnValue == 0 ) {
 142                          echo "<strong>".gettext("R&#233;ussi")."</strong><BR>";
 143                    } else { echo "</strong><font color=\"orange\">".gettext("Echec")."</font></strong><BR>"; $err++; }
 144                 }
 145          }
 146    } else {
 147        echo "<div class=error_msg>".gettext("Cette application, n&#233;cessite les droits d'administrateur du serveur LCS !")."</div>";
 148    }
 149    
 150    include ("pdp.inc.php");
 151  ?>


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