[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

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

   1  <?php
   2  
   3  
   4     /**
   5     
   6     * Affiche les utilisateur a partir de l'annuaire
   7     * @Version $Id: people.php 8483 2015-02-22 20:42:39Z keyser $ 
   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: people.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  // Aide
  39  $_SESSION["pageaide"]="Annuaire#Voir_ma_fiche";
  40  
  41  echo "<h1>".gettext("Annuaire")."</h1>\n";
  42  
  43  $uid = isset($_GET['uid']) ? $_GET['uid'] : "";
  44  
  45  if($uid=='') {
  46      echo "<p style='color:red;'>ERREUR: uid non choisi.</p>";
  47      include ("pdp.inc.php");
  48      die();
  49  }
  50  
  51  aff_trailer ("3");
  52  #$TimeStamp_0=microtime();
  53  // correctif provisoire
  54  if(isset($user)) {
  55      $user_tmp = $user;
  56      // fin correctif
  57  }
  58  
  59  list($user, $groups)=people_get_variables($uid, true);
  60  
  61  #$TimeStamp_1=microtime();
  62  #############
  63  # DEBUG     #
  64  #############
  65  #echo "<u>debug</u> :Temps de recherche = ".duree($TimeStamp_0,$TimeStamp_1)."&nbsp;s<BR>";
  66  #############
  67  # Fin DEBUG #
  68  #############
  69  echo "<a href='people.php?uid=".$user["uid"]."' title=\"Rafraichir la page\"><H3>".$user["fullname"]."</H3></a>\n";
  70  
  71  if((ldap_get_right("Annu_is_admin",$login)=="Y")&&(isset($_GET['create_home']))&&($_GET['create_home']=='y')) {
  72      echo "<p><b>Cr&#233;ation du dossier personnel de ".$user["uid"]."&nbsp;: </b>";
  73      exec("sudo /usr/share/se3/shares/shares.avail/mkhome.sh ".$user["uid"],$ReturnValue2);
  74      if(count($ReturnValue2)==0) {
  75          echo "<span style='color:green'>OK</span></p>";
  76      }
  77      else {
  78          echo "</p><pre style='color:red'>";
  79          foreach($ReturnValue2 as $key => $value) {
  80              echo "$value";
  81          }
  82      }
  83      echo "</pre>";
  84  }
  85  
  86  echo "<table width=\"80%\"><tr><td>";  
  87      if ($user["description"]) echo "<p>".$user["description"]."</p>";
  88        if ( count($groups) ) {
  89              echo "<U>Membre des groupes</U> :<BR><UL>\n";
  90              for ($loop=0; $loop < count ($groups) ; $loop++) {
  91  
  92              // Si les bons droits on place un lien sur les groupes
  93              echo "<LI>";
  94              if ((ldap_get_right("annu_can_read",$login)=="Y") or (ldap_get_right("Annu_is_admin",$login)=="Y") or (ldap_get_right("sovajon_is_admin",$login)=="Y")) {
  95                        echo "<A href=\"group.php?filter=".$groups[$loop]["cn"]."\">";
  96                    }
  97                    if ($groups[$loop]["type"]=="posixGroup") echo "<STRONG>".$groups[$loop]["cn"]."</STRONG>";
  98                    else
  99                      echo $groups[$loop]["cn"];
 100              if ((ldap_get_right("annu_can_read",$login)=="Y") or (ldap_get_right("Annu_is_admin",$login)=="Y") or (ldap_get_right("sovajon_is_admin",$login)=="Y")) {
 101                        echo "</A>";
 102              }    
 103              echo "<font size=\"-2\"> ".$groups[$loop]["description"];
 104                    //$login1=split ("[\,\]",ldap_dn2ufn($groups[$loop]["owner"]),2);
 105                    $login1=preg_split ("/,/",ldap_dn2ufn($groups[$loop]["owner"]),2);
 106                    if ( $uid == $login1[0] ) echo "<strong><font color=\"#ff8f00\">&nbsp;(".gettext("professeur principal").")</font></strong>";
 107                    echo "</font></LI>\n";
 108                     echo "</font></li>";
 109        
 110                    // modif propos&#233;e par MC Marques
 111                    if (is_admin("Annu_is_admin",$login) == "Y" ) {
 112                  ?>
 113                      &nbsp;&nbsp;&nbsp;&nbsp;<a href="del_user_group_direct.php?uid=<?php echo $user["uid"]?>&cn=<?php echo $groups[$loop]["cn"] ?>" onclick= "return getconfirm();"><font size="2"><?php echo gettext("retirer du groupe"); ?></a></font><br>
 114                      <?php
 115                      //R&#233;cup&#233;ration de tous les groupes de l'utilisateur
 116                       if(isset($groups[$loop]["cn"])) {
 117                          // A quoi sert ce $cn ???
 118                          if(!isset($cn)) {$cn="";}
 119                          $cn=$cn."&cn".$loop."=".$groups[$loop]["cn"];
 120                      }
 121                    }
 122                    
 123              //fin modif 
 124        
 125              }
 126              echo "</UL>";
 127        }
 128        //echo "<br>Pages perso : <a href=\"../~".$user["uid"]."/\"><tt>".$baseurl."~".$user["uid"]."</tt></a><br>\n";
 129        // echo "Adresse m&#232;l : <a href=\"mailto:".$user["email"]."\"><tt>mailto:".$user["email"]."</a></tt><br>\n";
 130         // modif propos&#233;e par MC Marques
 131         if (is_admin("Annu_is_admin",$login) == "Y" ) {
 132            ?>
 133            <ul style="color: red;">
 134            <li><a href="add_user_group.php?uid=<?php echo $user["uid"] ?>"><?php echo gettext("Ajouter &agrave; des groupes"); ?></a><br>
 135            <li><a href="del_group_user.php?uid=<?php echo $user["uid"] ?>"><?php echo gettext("Enlever de certains groupes"); ?></a><br>
 136            </ul>
 137            <?php
 138      }
 139      // fin modifs
 140  
 141  
 142      echo gettext("Adresse m&#233;l")." : <a href=\"mailto:".$user["email"]."\"><tt>".$user["email"]."</a></tt><br>\n";
 143  
 144      // Affichage Menu people_admin
 145        if (is_admin("Annu_is_admin",$login) == "Y" ) {
 146        ?>
 147          <br>
 148            <u><?php echo gettext("Autres actions possibles"); ?></u> :<br>
 149            <ul style="color: red;">
 150              <li><a href="mod_user_entry.php?uid=<?php echo $user["uid"] ?>"><?php echo gettext("Modifier le compte") ?></a><br>
 151              <li><a href="pass_user_init.php?uid=<?php echo $user["uid"] ?>"><?php echo gettext("R&#233;initialiser le mot de passe") ?></a><br>
 152   
 153            <?php
 154            //si compte actif
 155            if ("$smbversion" == "samba3") {
 156                $test_desac=search_people("(&(uid=".$user["uid"].") (sambaAcctFlags=[U ]))");
 157            } else {
 158                $test_desac=search_people("(&(uid=".$user["uid"].") (acctFlags=[U ]))");
 159            }
 160            if (count($test_desac)==1) {
 161                echo "<li><a href=\"desac_user_entry.php?uid=".$user["uid"]."\" onclick= return getconfirm()>".gettext("D&#233;sactiver ce compte")." </a><br>\n";
 162              if(file_exists('/home/'.$user["uid"])) {
 163                  echo "<li><span style='color:black'>Le dossier personnel existe.</span></li>";
 164              }
 165              else {
 166                  echo "<li>Le dossier personnel n'existe pas.<br /><a href='people.php?uid=".$user["uid"]."&amp;create_home=y'>Cr&#233;er le dossier personnel maintenant</a><br />(<em>sinon, il sera cr&#233;&#233; lors de la premiere connexion de l'utilisateur</em>)</li>";
 167              }
 168  
 169            } else {
 170                //si compte desactive
 171                 echo "<li><a href=\"desac_user_entry.php?uid=".$user["uid"]."&action=activ\" >".gettext("Activer ce compte")." </a><br>\n";
 172            }
 173            ?>
 174          
 175          <li><a href="del_user.php?uid=<?php echo $user["uid"] ?>" onclick= "return getconfirm();"><?php echo gettext("Supprimer le compte"); ?></a><br>
 176              <li><a href="del_nt_profile.php?uid=<?php echo $user["uid"] ?>&action=del" onclick= "return getconfirm();"><?php echo gettext("Reg&#233;n&#233;rer le profil errant Windows"); ?></a><br>
 177              <?php exec ("/usr/share/se3/sbin/getUserProfileInfo.pl $user[uid]",$AllOutPut,$ReturnValue);
 178              
 179          if ($AllOutPut[0]=="lock") {
 180              echo "<li><a href=\"del_nt_profile.php?uid=".$user["uid"]."&action=unlock\">".gettext("D&#233;verrouiller le profil Windows...")."</a><br>\n";
 181              } else {
 182                   echo "<li><a href=\"del_nt_profile.php?uid=".$user["uid"]."&action=lock\">".gettext("Verrouiller le profil Windows...")."</a><br>\n";
 183              }?>
 184      
 185              <li><a href="pop_user.php?uid=<?php echo $user["uid"] ?>"><?php echo gettext("Envoyer un Pop Up"); ?></a><br>
 186  
 187              <!--li><a href="html/AdminUserBdd.html">Ouvrir la base de donne&eacute;es</a><br-->
 188              <!--<li><a href="html/AdminUserWeb.html">Activer l'espace <em>Web</em></a>-->
 189            <?php       
 190        } // Fin affichage menu people_admin
 191    
 192        if (ldap_get_right("se3_is_admin",$login)=="Y") {
 193              echo "<li><a href=\"add_user_right.php?uid=" . $user["uid"] ."\">".gettext("G&#233;rer les droits")."</a><br>"; 
 194              echo "<li><a href=\"../parcs/show_histo.php?selectionne=3&amp;user=$uid\">".gettext("Voir les connexions")."</a><br>"; // Ajout leb
 195        }
 196        echo "</ul>";
 197        
 198      
 199      
 200      // Test de l'appartenance a la classe pour le droit  sovajon_is_admin
 201      // Afin d'eviter les doublons si le mec est admin_is_admin il ne peut pas
 202      // voir cette partie puisqu'il peut la voir par ailleurs
 203  
 204      // si les droits étendus du groupe profs sont activés, le test sur la classe n'est pas nécessaire
 205      $acl_group_profs_classes = exec("cd /var/se3/Classes; /usr/bin/getfacl . | grep group:Profs >/dev/null && echo 1");
 206      
 207      if (is_admin("Annu_is_admin",$login) != "Y") {
 208            if ((tstclass($login,$user["uid"])==1) or ($acl_group_profs_classes == 1) and (ldap_get_right("sovajon_is_admin",$login)=="Y") and ($login != $user["uid"])) {
 209               // On teste si $user[uid] n'est pas un prof
 210              if (are_you_in_group($user["uid"],"Eleves")=="true") {
 211              echo "<br>\n";
 212                echo "<ul style=\"color: red;\">\n";
 213  
 214                  echo "<li><a href=\"pass_user_init.php?uid=".$user["uid"]."\">".gettext("R&#233;initialiser le mot de passe")."</a><br>";
 215                echo "<li><a href=\"mod_user_entry.php?uid=".$user["uid"]."\">".gettext("Modifier le compte de mon &#233;l&#232;ve ...")."</a><br>\n";
 216               $test_desac=search_people("(uid=".$user["uid"].")&(acctFlags=[U           ])");
 217                if (count($test_desac)==1) {
 218                   //si compte active
 219                    echo "<li><a href=\"desac_user_entry.php?uid=".$user["uid"]."\" onclick= return getconfirm()>".gettext("D&#233;sactiver ce compte")." </a><br>\n";
 220                } else  {
 221                    //si compte desactive
 222                     echo "<li><a href=\"desac_user_entry.php?uid=".$user["uid"]."&action=activ\" >".gettext("Activer ce compte")." </a><br>\n";
 223                 }
 224  
 225                echo "<li><a href=\"del_nt_profile.php?uid=".$user["uid"]."&action=del\">".gettext("Reg&#233;n&#233;rer le profil Windows de mon &#233;l&#232;ve...")."</a><br>\n";
 226  
 227                exec ("/usr/share/se3/sbin/getUserProfileInfo.pl $user[uid]",$AllOutPut,$ReturnValue);
 228                if ($AllOutPut[0]=="lock") {
 229                      echo "<li><a href=\"del_nt_profile.php?uid=".$user["uid"]."&action=unlock\">".gettext("D&#233;verrouiller le profil Windows...")."</a><br>\n";
 230                } else {
 231                      echo "<li><a href=\"del_nt_profile.php?uid=".$user["uid"]."&action=lock\">".gettext("Verrouiller le profil Windows...")."</a><br>\n";
 232                }
 233                echo "</ul>\n";
 234               } // Fin test si prof
 235          }
 236        }
 237      
 238      
 239      // test du cas ou on veut modifier son propre compte 
 240        if ($login==$user["uid"]) {
 241            echo "<br>\n";
 242            echo "<ul style=\"color: red;\">\n";
 243            echo "<li><A HREF=\"../parcs/show_histo.php?selectionne=3&user=" . $user["uid"] ."\">".gettext("Voir mes connexions")."</A>";
 244            echo "<li><A HREF=\"../infos/du.php?wrep=/home/$login&uid=$login\">".gettext("Espace occup&#233; par mon Home")."</A>";  
 245            echo "<li><a href=\"del_nt_profile.php?uid=".$user["uid"]."&action=del\">".gettext("Regenerer mon profil Windows...")."</a><br>\n";
 246            exec ("/usr/share/se3/sbin/getUserProfileInfo.pl $user[uid]",$AllOutPut,$ReturnValue);
 247          if ($AllOutPut[0]=="lock") {
 248                   echo "<li><a href=\"del_nt_profile.php?uid=".$user["uid"]."&action=unlock\">".gettext("D&#233;verrouiller mon profil Windows...")."</a><br>\n"; 
 249            } else {
 250                   echo "<li><a href=\"del_nt_profile.php?uid=".$user["uid"]."&action=lock\">".gettext("Verrouiller mon profil Windows...")."</a><br>\n";
 251            }
 252  
 253          if(ldap_get_right("fond_can_change",$login)) {
 254              echo "<li><a href=\"../fond_ecran/fond_perso.php\">".gettext("Personnaliser mon fond d'&#233;cran")."</a><br>\n";
 255          }
 256  
 257            echo "</ul>\n";
 258        }
 259      
 260      //modif proposee par Laurent COOPER
 261      if ((are_you_in_group($user["uid"],"Profs")=="true") && file_exists("/var/www/se3/annu/teacher.php")) {
 262      echo " \n <ul style=\"color:red;\"> \n <li> <a href=\"teacher.php\"> Mes services </a> </li> </ul>\n";
 263      }
 264  
 265      // Affichage des photos si presence du trombinoscope
 266          $tab_type=array("gif","png","jpg","jepg");
 267          echo "</td><td align=\"left\" valign=\"top\">";
 268          for ($j=0;$j<count($tab_type);$j++) {
 269                  $photo="/var/se3/Docs/trombine/".$user["uid"].".".$tab_type[$j];
 270                  // Supprime le 0 devant s'il existe
 271                  $employeeNumber_gepi = preg_replace('/^[0]/','',$user["employeeNumber"]);
 272                  if(!isset($rep_trombine)) {$rep_trombine="";} // A quoi sert le $rep_trombine ; Il a l'air de n'etre jamais initialise
 273                  $photo_employeeNumber="$rep_trombine"."$employeeNumber_gepi".".".$tab_type[$j];
 274  
 275                  if (file_exists("$photo")) {
 276                          echo "<IMG src=\"trombine/".$user["uid"].".".$tab_type[$j]." \" width=\"70\" height=\"90\" alt=\"$employeeNumber_gepi\">";
 277                  } elseif (file_exists("/var/se3/Docs/trombine/$photo_employeeNumber")) {
 278                          echo "<IMG src=\"trombine/".$employeeNumber_gepi.".".$tab_type[$j]." \" width=\"70\" height=\"90\" alt=\"$employeeNumber_gepi\">";
 279                  }
 280  
 281          }
 282  
 283  
 284      echo "</td></tr></table>";
 285  
 286      include ("pdp.inc.php");
 287  ?>


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