[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 4 /** 5 6 * Affiche les groupes a partir de l'annuaires 7 * @Version $Id: group.php 7871 2013-09-25 22:29:24Z christian.westphal $ 8 9 * @Projet LCS / SambaEdu 10 11 * @auteurs jLCF jean-luc.chretien@tice.ac-caen.fr 12 * @auteurs oluve olivier.le_monnier@crdp.ac-caen.fr 13 * @auteurs wawa olivier.lecluse@crdp.ac-caen.fr 14 * @auteurs Equipe Tice academie de Caen 15 16 * @Licence Distribue selon les termes de la licence GPL 17 18 * @note 19 */ 20 21 /** 22 23 * @Repertoire: annu 24 * file: group.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-annu',"/var/www/se3/locale"); 36 textdomain ('se3-annu'); 37 38 $_SESSION["pageaide"]="Annuaire"; 39 echo "<h1>".gettext("Annuaire")."</h1>"; 40 41 $filter=$_GET['filter']; 42 43 // Menu Annuaire -> 44 aff_trailer ("8_$filter"); 45 46 47 #$TimeStamp_0=microtime(); 48 $group=search_groups ("(cn=".$filter.")"); 49 50 $uids = search_uids ("(cn=".$filter.")"); 51 52 53 $people = search_people_groups ($uids,"(sn=*)","cat"); 54 55 #$TimeStamp_1=microtime(); 56 ############# 57 # DEBUG # 58 ############# 59 #echo "<u>debug</u> :Temps de recherche = ".duree($TimeStamp_0,$TimeStamp_1)." s<BR><BR>"; 60 ############# 61 # Fin DEBUG # 62 ############# 63 // Affiche les membres du groupe 64 if (count($people)) { 65 $intitule = strtr($filter,"_"," "); 66 echo "<U>".gettext("Groupe")."</U> : $intitule <font size=\"-2\">".$group[0]["description"]."</font><BR>\n"; 67 echo gettext("Il y a ") . count($people)." membre"; 68 if ( count($people) >1 ) echo "s"; 69 echo gettext(" dans ce groupe")."<BR>\n"; 70 for ($loop=0; $loop < count($people); $loop++) { 71 if (($people[$loop]["cat"] == "Equipe") or ($people[$loop]["prof"]==1)) { 72 echo "<img src=\"images/gender_teacher.gif\" alt=\"Professeur\" width=18 height=18 hspace=1 border=0>\n"; 73 } else { 74 if ($people[$loop]["sexe"]=="F") { 75 echo "<img src=\"images/gender_girl.gif\" alt=\"Elève\" width=14 height=14 hspace=3 border=0>\n"; 76 } else { 77 echo "<img src=\"images/gender_boy.gif\" alt=\"Elève\" width=14 height=14 hspace=3 border=0>\n"; 78 } 79 } 80 81 // Si on a pas les droits on n'a pas de lien 82 if ((ldap_get_right("Annu_is_admin",$login) == "Y") || (ldap_get_right("annu_can_read",$login) == "Y")) { 83 echo "<A href=\"people.php?uid=".$people[$loop]["uid"]."\">".$people[$loop]["fullname"]."</A>"; 84 } else { 85 // si on a les droits sovajon_is_admin on vérifie si on a la classe ou si les droits étendus du groupe prof sont activés 86 $uid_eleve=$people[$loop]["uid"]; 87 $acl_group_profs_classes = exec("cd /var/se3/Classes; /usr/bin/getfacl . | grep group:Profs >/dev/null && echo 1"); 88 89 if ((tstclass($login,$uid_eleve)==1) and ((ldap_get_right("sovajon_is_admin",$login)=="Y") or ($acl_group_profs_classes == 1)) and ($people[$loop]["prof"]!=1)) { 90 echo "<A href=\"people.php?uid=".$people[$loop]["uid"]."\">".$people[$loop]["fullname"]."</A>"; 91 } else { 92 echo $people[$loop]["fullname"]; 93 } 94 } 95 96 97 if ( $people[$loop]["owner"] ) { 98 echo "<strong><font size=\"-2\" color=\"#ff8f00\"> (".gettext("professeur principal").")</font></strong>"; 99 $owner = $people[$loop]["uid"]; 100 } 101 echo "<BR>\n"; 102 } 103 } else { 104 echo " <STRONG>".gettext("Pas de membres")."</STRONG> ".gettext(" dans le groupe")." $filter.<BR>"; 105 } 106 107 108 // 109 // Affichage menu admin (se3_is_admin et Annu_is_admin) 110 // Pour les groupes sauf pour les groupes Eleves Profs Administratifs 111 // 112 113 if ( (is_admin("Annu_is_admin",$login) == "Y") && ($filter!="Eleves" && $filter!="Profs" && $filter!="Administration" && $group[0]["gidnumber"] != $defaultgid) ) { 114 echo "<br><ul style=\"color: red;\">\n"; 115 116 // Affichage du menu "Ajouter des membres" si le groupe est de type Equipe_ ou Classe 117 if ( preg_match ("/Equipe_/", $filter) || preg_match("/Classe_/", $filter) ) { 118 echo "<li><a href=\"add_list_users_group.php?cn=$filter\">".gettext("Ajouter des membres")."</a></li>\n"; 119 } 120 121 // keyser ajout MC Marques 122 // Affichage du menu "Ajouter des membres" si le groupe n'est de type Equipe_ ou Classe 123 // pour ajouter dans un sous-groupe 124 if ( !preg_match ("/Equipe_/", $filter) && !preg_match("/Classe_/", $filter) ) { 125 echo "<li><a href=\"aj_ssgroup.php?cn=$filter\">".gettext("Ajouter des membres")."</a></li>\n"; 126 } 127 // fin ajout 128 129 //Lien pour supprimer des membres 130 if (count($people) ) { 131 echo "<li><a href=\"del_user_group.php?cn=$filter\">".gettext("Enlever des membres")."</a></li>\n"; 132 } 133 134 // Lien pour supprimer le groupe 135 echo "<li><a href=\"del_group.php?cn=$filter\" onclick= \"return getconfirm();\">".gettext("Supprimer ce groupe")."</a></li>\n"; 136 137 // Lien pour modifier la description du groupe 138 echo "<li><a href=\"mod_group_descrip.php?cn=$filter\">".gettext("Modifier la description de ce groupe")."</a></li>\n"; 139 140 141 // if ( preg_match("/Equipe_/",$filter) ) { 142 // if ( $owner ) { 143 // echo "<li><a href=\"mod_owner_group.php?cn=$filter&owner=$owner\">".gettext("Réaffecter le professeur principal")."</a></li>\n"; 144 // } else { 145 // echo "<li><a href=\"mod_owner_group.php?cn=$filter\">".gettext("Affecter un professeur principal")."</a></li>\n"; 146 // } 147 // } 148 149 150 // Affiche un listing du groupe 151 echo "<li><a href=\"grouplist.php?filter=$filter\" target='_new'>".gettext("Afficher un listing du groupe")."</a></li>\n"; 152 153 // Envoyer un popup a ce groupe 154 echo " <li><a href=\"pop_group.php?filter=$filter\">".gettext("Envoyer un Pop Up à ce groupe")."</a></li>\n"; 155 156 // Affichage menu gestion des droits 157 // si la personne est admin uniquement 158 if (ldap_get_right("se3_is_admin",$login) == "Y") { 159 // Affichage du menu "Deleguer un droit a un groupe" 160 echo "<li><a href=\"add_group_right.php?cn=$filter\">".gettext("Gérer les droits de ce groupe")."</a></li>\n"; 161 // ajout par keyser : affichage supplementaire pour les groupes tpe / idd ... 162 if (!preg_match("!Equipe|Cours|Classe|Matiere|Administratifs|admins!", "$filter")) { 163 echo "<li><a href=\"refresh_grpclass.php?nom_grp=$filter\">".gettext("Créer ou rafraichir une ressource groupe classe(s)")."</a></li>\n"; 164 } 165 166 } // Fin Affichage menu droits 167 echo "</ul>\n"; 168 } else if (ldap_get_right("se3_is_admin",$login) == "Y") { 169 // Affichage du menu "Deleguer un droit a un groupe" 170 echo "<br><ul style=\"color: red;\">\n"; 171 echo "<li><a href=\"pop_group.php?filter=$filter\">".gettext("Envoyer un Pop Up à ce groupe")."</a></li>\n"; 172 echo "<li><a href=\"add_group_right.php?cn=$filter\">".gettext("Gérer les droits de ce groupe")."</a></li>\n"; 173 echo "<li><a href=\"grouplist.php?filter=$filter\" target='_new'>".gettext("Afficher un listing du groupe")."</a></li>\n"; 174 echo "<li><a href=\"create_template_group.php?filter=$filter\">".gettext("Créer un dossier de template pour le groupe")."</a></li>\n"; 175 echo "</ul>\n"; 176 } 177 178 //echo "<br />"; 179 180 181 if (ldap_get_right("se3_is_admin",$login) == "Y") { 182 echo "<ul style=\"color: red;\">\n"; 183 echo "<li><a href=\"create_template_group.php?filter=$filter\">".gettext("Créer un dossier de template pour le groupe")."</a></li>\n"; 184 echo "</ul>\n"; 185 } 186 187 // ajout du lien trombinoscope 188 // Si Annu_is_admin et le repertoire existe on peut voir les trombinoscopes 189 // 190 if ((ldap_get_right("Annu_is_admin",$login) == "Y") && is_dir("/var/se3/Docs/trombine")) { 191 echo "<ul style=\"color: red;\">\n"; 192 echo "<li><a href=\"trombin.php?filter=$filter\" target='_new'>".gettext("Afficher un trombinoscope du groupe")."</a></li>\n"; 193 echo "</ul>\n"; 194 } 195 196 // Si le groupe est classe 197 if (preg_match("/Classe_/i", "$filter")) { 198 $classe = preg_replace("/Classe_/i","",$filter); 199 $classe = "Equipe_".$classe; 200 } 201 // Si le groupe est cours 202 if (preg_match("/Cours_/i", "$filter")) { 203 $classe = $filter; 204 $classe = preg_replace("/Classe_/i","",$filter); 205 } 206 207 // echo "are_you_in_group($login,$classe)"; 208 // echo are_you_in_group($login,$classe); 209 // pour pas avoir un double affichage 210 if (ldap_get_right("Annu_is_admin",$login) != "Y") { 211 // Si sovajon_is_admin et prof de la classe ou droits étendus du groupe profs 212 $acl_group_profs_classes = exec("cd /var/se3/Classes; /usr/bin/getfacl . | grep group:Profs >/dev/null && echo 1"); 213 214 if ((ldap_get_right("sovajon_is_admin",$login)=="Y") and ((are_you_in_group($login,$classe) or ($acl_group_profs_classes == 1)))) { 215 216 // Affiche trombinoscope de la classe 217 echo "<ul style=\"color: red;\">\n"; 218 echo "<li><a href=\"trombin.php?filter=$filter\" target='_new'>".gettext("Afficher un trombinoscope du groupe")."</a></li>\n"; 219 220 // Affiche un listing du groupe si on a une Classe 221 // que pour les eleves 222 223 if (preg_match("/Classe_/i", "$filter")) { 224 // if ((preg_match("/Classe_/i", "$filter")) || (preg_match("/Cours_/i", "$filter"))) { 225 echo "<li><a href=\"grouplist.php?filter=$filter\" target='_new'>".gettext("Afficher un listing du groupe")."</a></li>\n"; 226 } 227 echo "</ul>\n"; 228 } elseif (ldap_get_right("annu_can_read",$login)=="Y") { 229 // Affiche trombinoscope de la classe 230 echo "<li><a href=\"trombin.php?filter=$filter\" target='_new'>".gettext("Afficher un trombinoscope du groupe")."</a></li>\n"; 231 echo "</ul>\n"; 232 } 233 } 234 235 236 // Modifie par Wawa 237 // Affichage de l'equipe pedagogique associee a la classe 238 239 if (preg_match("/Classe/",$filter,$matche)) { 240 $filter2 = preg_replace("/Classe_/","Equipe_",$filter); 241 $uids2 = search_uids ("(cn=".$filter2.")"); 242 $people2 = search_people_groups ($uids2,"(sn=*)","cat"); 243 if (count($people2)) { 244 // affichage des resultats 245 echo "<BR><U>".gettext("Professeurs de la classe")."</U> : <a href=\"group.php?filter=$filter2\">$filter2</A><BR>\n"; 246 for ($loop=0; $loop < count($people2); $loop++) { 247 if ($people2[$loop]["cat"] == "Equipe") { 248 echo "<img src=\"images/gender_teacher.gif\" alt=\"Professeur\" width=18 height=18 hspace=1 border=0>\n"; 249 } else { 250 if ($people2[$loop]["sexe"]=="F") { 251 echo "<img src=\"images/gender_girl.gif\" alt=\"Elève\" width=14 height=14 hspace=3 border=0>\n"; 252 } else { 253 echo "<img src=\"images/gender_boy.gif\" alt=\"Elève\" width=14 height=14 hspace=3 border=0>\n"; 254 } 255 } 256 257 // On a un lien sur les profs uniquement si on est annu_can_read ou Annu_is_admin 258 if ((ldap_get_right("Annu_is_admin",$login) == "Y")|| (ldap_get_right("annu_can_read",$login) == "Y")) { 259 echo "<A href=\"people.php?uid=".$people2[$loop]["uid"]."\">".$people2[$loop]["fullname"]."</A>"; 260 } else { 261 echo $people2[$loop]["fullname"]; 262 } 263 if ( $people2[$loop]["owner"] ) { 264 echo "<strong><font size=\"-2\" color=\"#ff8f00\"> (professeur principal)</font></strong>"; 265 $owner = $people2[$loop]["uid"]; 266 } 267 echo "<BR>\n"; 268 } 269 } 270 } 271 272 273 // Modifie par Wawa 274 // Affichage du rebond sur la classe associee a une equipe pedagogique 275 276 if (preg_match("/Equipe/",$filter,$matche)) { 277 $filter2 = preg_replace("/Equipe_/","Classe_",$filter); 278 $uids2 = search_uids ("(cn=".$filter2.")"); 279 $people2 = search_people_groups ($uids2,"(sn=*)","cat"); 280 if (count($people2)) { 281 // affichage des resultats 282 echo "<BR>".gettext("Il y a ") . count($people2) . gettext(" élèves dans la ")."<a href=\"group.php?filter=$filter2\">$filter2</A>".gettext(" associée à cette équipe.")."\n"; 283 echo "<BR>\n"; 284 } 285 } 286 287 include ("pdp.inc.php"); 288 ?>
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 |