[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
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)." 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éation du dossier personnel de ".$user["uid"]." : </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\"> (".gettext("professeur principal").")</font></strong>"; 107 echo "</font></LI>\n"; 108 echo "</font></li>"; 109 110 // modif proposée par MC Marques 111 if (is_admin("Annu_is_admin",$login) == "Y" ) { 112 ?> 113 <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écupé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èl : <a href=\"mailto:".$user["email"]."\"><tt>mailto:".$user["email"]."</a></tt><br>\n"; 130 // modif proposé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 à 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é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é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é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"]."&create_home=y'>Créer le dossier personnel maintenant</a><br />(<em>sinon, il sera créé 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éné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é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é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érer les droits")."</a><br>"; 194 echo "<li><a href=\"../parcs/show_histo.php?selectionne=3&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é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 élè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é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énérer le profil Windows de mon élè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é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é 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é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'é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 ?>
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 |