[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

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

   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)."&nbsp;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&egrave;ve\" width=14 height=14 hspace=3 border=0>\n";
  76                      } else {
  77                            echo "<img src=\"images/gender_boy.gif\" alt=\"El&egrave;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&#233;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\">&nbsp;&nbsp;(".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&#233;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 &#224; 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&#233;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&#233;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 &#224; ce groupe")."</a></li>\n";
 172          echo "<li><a href=\"add_group_right.php?cn=$filter\">".gettext("G&#233;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&#233;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&#233;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&egrave;ve\" width=14 height=14 hspace=3 border=0>\n";
 252                      } else {
 253                            echo "<img src=\"images/gender_boy.gif\" alt=\"El&egrave;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\">&nbsp;&nbsp;(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(" &#233;l&#232;ves dans la ")."<a href=\"group.php?filter=$filter2\">$filter2</A>".gettext(" associ&#233;e &#224; cette &#233;quipe.")."\n";
 283              echo "<BR>\n";
 284        }
 285    }
 286  
 287    include ("pdp.inc.php");
 288  ?>


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