[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 4 /** 5 6 * Ajoute des droits aux utilisateurs dans l'annuaire 7 * @Version $Id: add_user_right.php 6602 2011-11-20 13:45:26Z 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 * @auteurs Philippe Chadefaux 16 17 * @Licence Distribue selon les termes de la licence GPL 18 19 * @note 20 */ 21 22 /** 23 24 * @Repertoire: annu 25 * file: add_user_right.php 26 */ 27 28 29 include "entete.inc.php"; 30 include "ldap.inc.php"; 31 include "ihm.inc.php"; 32 33 require_once ("lang.inc.php"); 34 bindtextdomain('se3-annu',"/var/www/se3/locale"); 35 textdomain ('se3-annu'); 36 37 $_SESSION["pageaide"]="Annuaire"; 38 39 $uid=isset($_GET['uid']) ? $_GET['uid'] : (isset($_POST['uid']) ? $_POST['uid'] : ""); 40 $action = isset($_POST['action']) ? $_POST['action'] : ""; 41 $delrights = isset($_POST['delrights']) ? $_POST['delrights'] : ""; 42 $newrights = isset($_POST['newrights']) ? $_POST['newrights'] : ""; 43 44 45 echo "<h1>".gettext("Annuaire")."</h1>\n"; 46 47 if($uid=="") { 48 echo "<p>ERREUR : Il faut choisir un 'uid'</p>\n"; 49 include ("pdp.inc.php"); 50 die(); 51 } 52 53 $filtre = "9_".$uid; 54 aff_trailer ("$filtre"); 55 56 if (ldap_get_right("se3_is_admin",$login)=="Y") { 57 if ($action == "AddRights") { 58 // Inscription des droits dans l'annuaire 59 echo "<H3>".gettext("Inscription des droits pour")." <U>$uid</U></H3>"; 60 echo "<P>".gettext("Vous avez sélectionné ") ."". count($newrights)."".gettext(" droit(s)")."<BR>\n"; 61 for ($loop=0; $loop < count($newrights); $loop++) { 62 $right=$newrights[$loop]; 63 echo gettext("Délégation du droit")." <U>$right</U> ".gettext("à l'utilisateur")." $uid<BR>"; 64 $cDn = "uid=$uid,$peopleRdn,$ldap_base_dn"; 65 $pDn = "cn=$right,$rightsRdn,$ldap_base_dn"; 66 exec ("/usr/share/se3/sbin/groupAddEntry.pl \"$cDn\" \"$pDn\""); 67 if ($right == "computers_is_admin") { 68 //echo "MAj interface wpkg"; 69 $wpkgDroitSh="/usr/share/se3/scripts/update_droits_xml.sh"; 70 if (file_exists($wpkgDroitSh)) exec ("$wpkgDroitSh"); 71 } 72 echo "<BR>"; 73 } 74 } 75 if ( $action == "DelRights" ) { 76 // Suppression des droits dans l'annuaire 77 echo "<H3>".gettext("Suppression des droits pour")." <U>$uid</U></H3>"; 78 echo "<P>".gettext("Vous avez sélectionné ") ."". count($delrights)." droit(s)<BR>\n"; 79 for ($loop=0; $loop < count($delrights); $loop++) { 80 $right=$delrights[$loop]; 81 echo gettext("Suppression du droit")." <U>$right</U> ".gettext("pour l'utilisateur")." $uid<BR>"; 82 $cDn = "uid=$uid,$peopleRdn,$ldap_base_dn"; 83 $pDn = "cn=$right,$rightsRdn,$ldap_base_dn"; 84 exec ("/usr/share/se3/sbin/groupDelEntry.pl \"$cDn\" \"$pDn\""); 85 echo "<BR>"; 86 } 87 } 88 list($user, $groups)=people_get_variables($uid, true); 89 // Affichage du nom et de la description de l'utilisateur 90 echo "<H3>".gettext("Délégation de droits à ")."". $user["fullname"] ." (<U>$uid</U>)</H3>\n"; 91 echo gettext("Sélectionnez les droits à supprimer (liste de gauche) ou à ajouter (liste de droite) "); 92 echo gettext("et validez à l'aide du bouton correspondant.")."<BR><BR>\n"; 93 // Lecture des droits disponibles 94 $userDn="uid=$uid,$peopleRdn,$ldap_base_dn"; 95 $list_possible_rights=search_machines("(!(member=$userDn))","rights"); 96 $list_current_rights=search_machines("(member=$userDn)","rights"); 97 ?> 98 <FORM method="post" action="../annu/add_user_right.php"> 99 <INPUT TYPE="hidden" VALUE="<?php echo $uid;?>" NAME="uid"> 100 <INPUT TYPE="hidden" NAME="action"> 101 <TABLE BORDER=1 CELLPADDING=3 CELLSPACING=1 RULES=COLS><TR> 102 <TH align=center><?php echo gettext("Droits actuels"); ?> 103 <?php 104 echo "<u onmouseover=\"this.T_SHADOWWIDTH=5;this.T_STICKY=1;return escape".gettext("('Vous disposez de deux types de droits.<br><b>Les droits hérités : </b> ils proviennent des groupes auquels vous appartenez. Si vous souhaitez les supprimer, il faut les supprimer au groupe.<br><b>Les droits directs : </b>Ils sont attribués à ce seul utilisateur.<br><br>Il n\'est pas possible de supprimer des droits pour admin.')")."\"><img name=\"action_image3\" src=\"../elements/images/system-help.png\" alt=\"Help\"></u>"; 105 ?> 106 </TH> 107 <TH align=center> 108 <?php echo gettext("Droits disponibles "); ?> 109 <u onmouseover="this.T_SHADOWWIDTH=5;this.T_STICKY=1;return escape<?php echo gettext("('<b>se3_is_admin</b> Donne le droit d\'administration sur tout le système. Ce droit l\'emporte sur tous les autres.<BR><b>Annu_is_admin</b> Donne tous les droits sur l\'annuaire (Ajouter, supprimer, modifier des utilisateurs ou des groupes).<BR><b>sovajon_is_admin</b> Délégue le droit de changer les mots de passe à un professeur. Il faut que celui-ci soit professeur de la classe.<BR><b>system_is_admin</b> Donne le droit de visualiser les informations système du serveur.<BR><b>computers_is_admin</b> Permet de gérer les machines clientes (Créer ou supprimer des machines des parcs, état des machines clientes...)<BR><b>printers_is_admin</b> Gestion des files d\'impression des imprimantes.<BR><b>echange_can_administrate</b> Permet de gérer les répertoires _echanges dans les répertoires classes.<BR><b>inventaire_can_read</B> Permet de consulter l\'inventaire<BR><b>annu_can_read</b> Permet de consulter l\'annuaire. Par défaut les membres du groupe Profs ont ce droit.<BR><b>maintenance_can_write</b> Permet de déclarer une panne sur une machine dans l\'interface de maintenance.<BR><b>parc_can_view</b> Permet de voir les parcs.<BR><b>parc_can_manage</b> Permet de déléguer la gestion d\'un parc à une personne.<BR><b>smbweb_is_open</b> Donne le droit d\'accès depuis l\'interface smbwebclient du Slis ou du Lcs (optionnel).')"); ?>"><img name="action_image2" src="../elements/images/system-help.png" alt="Help"></u> 110 111 </TH></TR> 112 <TR><TD VALIGN="TOP" align=\"center\"> 113 114 <?php 115 // Gestion de l'heritage 116 list($user, $groups)=people_get_variables($uid, true); 117 // echo gettext("Héritage "); 118 119 echo "<hr>"; 120 121 echo "<font size=\"-1\">"; 122 $pass_heritage="0"; 123 if ( count($groups) ) { 124 for ($loop=0; $loop < count ($groups) ; $loop++) { 125 $groupe=$groups[$loop]["cn"]; 126 $GroupDn="cn=$groupe,$groupsRdn,$ldap_base_dn"; 127 $list_heritage_rights=search_machines("(member=$GroupDn)","rights"); 128 if ( count($list_heritage_rights)>15) $size=15; else $size=count($list_heritage_rights); 129 if ( $size>0) { 130 for ($loop2=0; $loop2 < count($list_heritage_rights); $loop2++) { 131 echo $list_heritage_rights[$loop2]["cn"]." ($groupe)<br>\n"; 132 $pass_heritage="1"; 133 } 134 } 135 } 136 } 137 if ($pass_heritage=="0") { 138 echo "<center>"; 139 echo "Aucun héritage"; 140 echo "</center>\n"; 141 } 142 143 echo "</font>"; 144 echo "<hr>"; 145 146 147 if ( count($list_current_rights)>15) $size=15; else $size=count($list_current_rights); 148 if ( $size>0) { 149 echo "<SELECT NAME=\"delrights[]\" SIZE=\"$size\" multiple=\"multiple\">"; 150 for ($loop=0; $loop < count($list_current_rights); $loop++) { 151 echo "<option value=".$list_current_rights[$loop]["cn"].">".$list_current_rights[$loop]["cn"]."\n"; 152 } 153 ?> 154 </SELECT><BR><BR> 155 <?php 156 // On desactive la possibilite de virer des droits pour admin 157 if ($uid!='admin') { 158 ?> 159 <input type="submit" value="Retirer ces droits" onClick="this.form.action.value ='DelRights';return true;"> 160 <?php 161 } 162 } else { 163 echo "<U>$uid</U> ".gettext("n'a aucun droit propre"); 164 } 165 ?> 166 </TD><TD VALIGN="TOP" align="center"> 167 <?php if ( count($list_possible_rights)>15) $size=15; else $size=count($list_possible_rights); 168 if ( $size>0) { 169 echo "<SELECT NAME=\"newrights[]\" SIZE=\"$size\" multiple=\"multiple\">"; 170 for ($loop=0; $loop < count($list_possible_rights); $loop++) { 171 echo "<option value=".$list_possible_rights[$loop]["cn"].">".$list_possible_rights[$loop]["cn"]."\n"; 172 } 173 ?> 174 </SELECT><BR><BR> 175 <input type="submit" value="<?php echo gettext("Ajouter ces droits"); ?>" onClick="this.form.action.value ='AddRights';return true;"> 176 <?php 177 } else { 178 echo "<U>$uid</U>".gettext(" a tous les droits"); 179 } 180 ?> 181 </TD></TR></TABLE> 182 </FORM> 183 <?php 184 185 186 } else { 187 echo "<div class=error_msg>".gettext("Cette application, necessite les droits d'administrateur du serveur SambaEdu !")."</div>"; 188 } 189 190 include ("pdp.inc.php"); 191 ?>
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 |