[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
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électionnez les membres à 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éinitialiser la sé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'élèves car il n'existe plus d'élèves non affectés à 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")." ".$new_uids[$loop]." "; 141 if ($ReturnValue == 0 ) { 142 echo "<strong>".gettext("Ré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écessite les droits d'administrateur du serveur LCS !")."</div>"; 148 } 149 150 include ("pdp.inc.php"); 151 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |