[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 4 /** 5 6 * permet d'attribuer la gestion d'un template a un utilisateur 7 * @Version $Id: delegate_parc.php 6410 2011-06-18 15:50:30Z crob $ 8 9 * @Projet LCS / SambaEdu 10 11 * @auteurs Equipe Tice academie de Caen 12 * @auteurs sandrine dangreville matice creteil aout 2005 13 14 * @Licence Distribue selon les termes de la licence GPL 15 16 * @note 17 18 */ 19 20 /** 21 22 * @Repertoire: parcs/ 23 * file: delegate_parc.php 24 25 */ 26 27 28 29 30 include "entete.inc.php"; 31 include "ldap.inc.php"; 32 include "ihm.inc.php"; 33 34 // Traduction 35 require_once ("lang.inc.php"); 36 bindtextdomain('se3-parcs',"/var/www/se3/locale"); 37 textdomain ('se3-parcs'); 38 39 40 /** 41 42 * Met a jour le fichier /var/se3/unattended/install/wpkg/droits.xml pour wpkg 43 44 * @Parametres 45 * @Return 46 */ 47 48 49 function update_wpkg() { 50 // Met a jour le fichier /var/se3/unattended/install/wpkg/droits.xml pour wpkg 51 $wpkgDroitSh="/usr/share/se3/scripts/update_droits_xml.sh"; 52 if (file_exists($wpkgDroitSh)) exec ("$wpkgDroitSh"); 53 } 54 55 56 /** 57 58 * Affiche un bouton retour vers la page delegate_parc.php 59 60 * @Parametres 61 * @Return 62 */ 63 64 function retour_delegate() { 65 echo "<p><a href=\"delegate_parc.php?action=liste\">".gettext("Voir la liste des délégations en cours")."</a></p>\n"; 66 } 67 68 69 70 /** 71 72 * test si $salles a un template et retourn true 73 74 * @Parametres 75 * @Return true si on a bien un template 76 */ 77 78 function is_template($salles) { 79 if(is_dir("/home/templates/".$salles)) return true; 80 } 81 82 83 84 if (is_admin("computers_is_admin",$login)=="Y") { 85 86 // Aide 87 //aide 88 $_SESSION["pageaide"]="Gestion_des_parcs#D.C3.A9l.C3.A9gation_de_parc"; 89 90 // Titre 91 echo "<h1>".gettext("Délégation de parc")."</h1>"; 92 93 // On teste si il existe des parcs 94 95 $list_parcs=search_machines("objectclass=groupOfNames","parcs"); 96 if ( count($list_parcs)==0) { 97 echo "<br><br>"; 98 echo gettext("Il n'existe aucun parc. Vous devez d'abord créer un parc"); 99 exit; 100 } 101 102 if (!(is_admin("computers_is_admin",$login)=="Y") and (!is_admin("parc_can_manage",$login)=="Y")) { 103 echo gettext("Vous n'avez pas les droits nécessaires pour ouvrir cette page..."); 104 exit; 105 } 106 107 //************************Definition des variables******************* 108 $user=isset($_GET['nouveau']) ? $_GET['nouveau'] : NULL; 109 $salles=isset($_POST['salles']) ? $_POST['salles'] : (isset($_GET['salles']) ? $_GET['salles'] : NULL); 110 $action=isset($_POST['action']) ? $_POST['action'] : (isset($_GET['action']) ? $_GET['action'] : ""); 111 $nouveau=isset($_GET['nouveau']) ? $_GET['nouveau'] : NULL; 112 113 $template=is_template($salles); 114 115 //test pour savoir si on a choisi un parc ou un template ( pour affichage) 116 if ($template) { 117 $aide= aide(gettext("Si vous avez choisi un template et une délégation forte, ceci implique que vous voulez donnez accès au fichier logon.bat et au menu Clients Windows à cet utilisateur."),"<img src=\"../elements/images/system-help.png\" alt=\"\" />"); 118 $mot="template"; 119 } else { $mot="parc"; } 120 121 $parcs=array(); 122 123 switch ($action) { 124 //************Voir les delegations en cours*************************** 125 default: 126 if ((is_admin("computers_is_admin",$login)=="N") and (is_admin("parc_can_manage",$login)=="N")) { exit; } 127 128 echo "<h3>".gettext("Délégations en cours")." </h3>"; 129 130 if (is_admin("computers_is_admin",$login)=="Y") { 131 $query="select * from delegation order by login asc"; 132 } else { 133 $parc_du_login=list_parc_delegate($login); 134 135 foreach ($parc_du_login as $parc) { 136 if ($ajout_parc) { 137 $ajoutparc=$ajoutparc." and parc='$parc' "; 138 } else { $ajoutparc=" parc='$parc' "; } 139 } 140 $query="select * from delegation where $ajoutparc order by login asc;"; 141 // echo $query; 142 } 143 144 $result=mysql_query($query) or die("Impossible d'accéder à la table"); 145 $ligne=mysql_num_rows($result); 146 147 if ($ligne==0) { 148 echo gettext("Aucune délégation en cours"); 149 } else { 150 echo "<table border=1 align=center width=\"50%\">\n"; 151 echo "<tr><td align=center class=menuheader colspan=\"6\" height=\"30\" >".gettext("Récapitulatif des délégations par parc/template")."</td>\n"; 152 echo "</tr>\n"; 153 echo "<tr><td class=menuheader height=\"30\" align=center>".gettext("Utilisateur")."</td>\n"; 154 echo "<td class=menuheader align=center>".gettext("Parc/Template")."</td>\n"; 155 echo "<td class=menuheader colspan=3 align=center>".aide(gettext("Deux niveaux sont possibles par parc: <ul><li>Délégation forte: on peut agir sur le parc</li><li>Délégation faible: on peut voir des informations sur le parc</li></ul>"),gettext("Niveau de délégation"))."</td></tr>\n"; 156 $liste_delegate = array();; 157 158 //$last_user=""; 159 while ($row=mysql_fetch_row($result)) { 160 if ((isset($last_user)) and ($last_user) and ($last_user<>$row[1])) { echo "<tr><td class=menuheader colspan=\"6\"></td></tr>\n";} 161 array_push($liste_delegate,$row[1]); 162 echo "<tr><td align=center>".$row[1]."</td>\n"; 163 echo "<td align=center>".$row[2]."</td>\n"; 164 echo "<td align=center>"; 165 if ($row[3]=="manage") { 166 echo gettext("Délégation forte")."</td>"; 167 if (is_admin("computers_is_admin",$login)=="Y") { 168 echo "<td align=center><a href=\"delegate_parc.php?nouveau=$row[1]&salles=$row[2]&action=view\">"; 169 echo "<img src=\"../elements/images/stock_bottom.png\" alt=\"".gettext("Diminuer le niveau de délégation")."\" title=\"".gettext("Diminuer le niveau de délégation")."\" width=\"16\" height=\"16\" border=\"0\" /></a></td>\n"; 170 echo "</td>\n"; 171 } 172 } 173 174 if ($row[3]=="view") { 175 echo gettext("Délégation faible")."</td>\n"; 176 177 if (is_admin("computers_is_admin",$login)=="Y") { 178 echo"<td align=center><a href=\"delegate_parc.php?nouveau=$row[1]&salles=$row[2]&action=manage\">"; 179 echo "<img src=\"../elements/images/stock_top.png\" alt=\"".gettext("Augmenter le niveau de délégation")."\" title=\"".gettext("Augmenter le niveau de délégation")."\" width=\"16\" height=\"16\" border=\"0\" /></a></td>\n"; 180 echo "</td>\n"; 181 } 182 } 183 184 if ((is_admin("computers_is_admin",$login)=="Y") or ((this_parc_delegate($login,$row[2],"manage")) and ($row[3]=="view"))) { 185 echo "<td align=center><a href=\"delegate_parc.php?nouveau=$row[1]&salles=$row[2]&action=nodelegate\">"; 186 echo "<img src=\"../elements/images/edittrash.png\" alt=\"".gettext("Supprimer cette délégation")."\" title=\"".gettext("Supprimer cette délégation")."\" width=\"16\" height=\"16\" border=\"0\" /></a></td>\n"; 187 echo "</td>\n"; 188 } else { echo "<td> </td>\n"; } 189 190 //echo "<td align=center><a href=\"delegate_parc.php?nouveau=$row[1]&salles=$row[2]&action=manage\"><img src=\"../elements/images/stock_top.png\" alt=\"\" title=\"Augmenter le niveau de délégation\" width=\"16\" height=\"16\" border=\"0\" /></a></td></td>"; 191 //echo "<td align=center><a href=\"delegate_parc.php?nouveau=$row[1]&salles=$row[2]&action=view\"><img src=\"../elements/images/stock_bottom.png\" alt=\"\" title=\"Diminuer le niveau de délégation\" width=\"16\" height=\"16\" border=\"0\" /></a></td></td>"; 192 193 echo"</tr>"; 194 $last_user=$row[1]; 195 } 196 echo "</table><br><br>\n"; 197 } 198 include ("pdp.inc.php"); 199 //break; 200 201 //*******************Choix d'une salle******************************** 202 if (!$salles) { 203 //if (is_admin("computers_is_admin",$login)=="Y") { echo "<h1>Délégations</h1><a href=\"delegate_parc.php?action=liste\">Voir les délégations en cours</a>"; } 204 205 //choix du template 206 echo "<h3>".gettext("Choisir un nouveau parc à déléguer")." </h3>"; 207 208 $list_parcs=search_machines("objectclass=groupOfNames","parcs"); 209 sort($list_parcs); 210 211 echo "<FORM method=\"post\" action=\"delegate_parc.php\">\n"; 212 echo "<input type=\"hidden\" name=\"action\" value=\"new\" />"; 213 echo "<SELECT NAME=\"salles\" SIZE=\"1\" onchange=submit()>"; 214 echo "<option value=\"\">Sélectionner</option>"; 215 if ( count($list_parcs)>0) { 216 for ($loop=0; $loop < count($list_parcs); $loop++) { 217 if ((is_admin("computers_is_admin",$login)=="Y") or (this_parc_delegate($login,$list_parcs[$loop]["cn"],"manage"))) { 218 array_push($parcs,$list_parcs[$loop]["cn"]); 219 echo "<option value=\"".$list_parcs[$loop]["cn"]."\""; 220 if ((isset($parc))&&($parc==$list_parcs[$loop]["cn"])) { echo " selected"; } 221 echo ">".$list_parcs[$loop]["cn"]."\n"; 222 echo "</option>"; 223 } 224 } 225 } 226 227 echo "</SELECT> \n"; 228 229 echo "<u onmouseover=\"return escape".gettext("('Un parc correspond à un groupe de machines. <br>Il peut vous servir à regrouper vos machines (par salle par exemple).<br>Une machine peut appartenir à plusieurs parcs en fonction de vos besoins. Il peut être lié à un <font color=#FF0000>template</font> du même nom si vous avez créé un répertoire correspondant dans le répertoire Admhomes/templates. Vous pourrez alors agir sur les machines du parc en utilisant les possibilités des templates.')")."\"><img name=\"action_image3\" src=\"../elements/images/system-help.png\" alt=\"help\"></u> "; 230 231 echo "</form>\n"; 232 233 // Affiche les templates a deleguer 234 if (is_admin("computers_is_admin",$login)=="Y") { 235 echo "<h3>".gettext("Choisir un template à déléguer")."</h3>"; 236 $handle=opendir('/home/templates'); 237 238 echo "<FORM method=\"post\" action=\"delegate_parc.php\">\n"; 239 echo "<input type=\"hidden\" name=\"action\" value=\"new\" />"; 240 echo "<SELECT NAME=\"salles\" SIZE=\"1\" onchange=submit()>"; 241 echo "<option value=\"\">Sélectionner</option>"; 242 243 while ($file = readdir($handle)) { 244 if ($file<>'.' and $file<>'..' and $file<>'registre.vbs' and $file<>'skeluser') { 245 if ((is_admin("computers_is_admin",$login)=="Y") and (!in_array($file,$parcs))) { 246 echo "<option value=\"$file\">$file</option>"; 247 $test_affiche++; 248 } 249 } 250 } 251 echo "</select>\n"; 252 echo "<u onmouseover=\"return escape".gettext("('Un template peut correspondre à un groupe de machines, un groupe de personnes.Il permet d\'agir sur le login et sur le bureau de l\'utilisateur. Les templates s\'appliquent dans l\'ordre suivant: <ul><li>base</li><li> groupe</li><li> parcs</li></ul>. Il est possible de faire des doubles templates de type:<ul><li> utilisateur@@machine</li><li> utilisateur@@parc_machine</li><li> groupe_utilisateur@@machine</li><li> groupe_utilisateur@@parc_machine</li></ul> N\'hésitez pas à consulter la documentation sur le site sambaedu.org , rubrique Point de vue de l\'administrateur, Le répertoire templates.')")."\"><img name=\"action_image2\" src=\"../elements/images/system-help.png\" alt=\"help\"></u> "; 253 echo "</form>\n"; 254 closedir($handle); 255 } 256 } 257 break; 258 259 //*********************Choix d'un utilisateur****************************** 260 case "new": 261 if (!$nouveau) { //choix du user 262 echo "<h3>".gettext("Vous avez choisi de déléguer la gestion de")." $salles $aide"; 263 echo "</h3><form action=\"delegate_parc.php\" name=\"visu\" method=\"get\">\n"; 264 echo gettext("Indiquez un utilisateur : "); 265 echo "<input type=\"text\" name=\"nouveau\" value=\"$nouveau\" size=\"20\" >\n"; 266 echo "<input type=\"hidden\" name=\"salles\" value=\"$salles\" />"; 267 268 echo "<input type=\"button\" value=\"Recherche \" onclick=\"popuprecherche('search_user.php','popuprecherche','width=500,height=500');\">"; 269 echo "<br><br> "; 270 271 if (is_admin("computers_is_admin",$login)=="Y") { 272 echo "<input type=\"radio\" name=\"action\" id=\"action_manage\" value=\"manage\" >\n"; 273 echo "<label for='action_manage'>".gettext("Déléguer totalement la gestion de")." <b> $salles </b></label><br>\n"; 274 } 275 276 if ((is_admin("computers_is_admin",$login)=="Y") or (this_parc_delegate($login,$salles,"manage"))) { 277 //pour les templates, on est automatiquement dans une delegation forte !!!!!!!!!!!! 278 //en effet, la delegation sur les templates donne acces a logon.bat et a clients windows 279 //des qu'un parc a un template associe il est considere comme un template 280 //if (is_parc($salles)) { 281 echo "<input type=\"radio\" name=\"action\" id=\"action_view\" value=\"view\" CHECKED />\n"; 282 echo "<label for='action_view'>".gettext("Permettre à l'utilisateur de suivre le parc ( pas d'action possible)")."</label>"; 283 //} 284 echo "<br><input type=\"radio\" name=\"action\" id=\"action_nodelegate\" value=\"nodelegate\">\n"; 285 echo "<label for='action_nodelegate'>".gettext("Retirer la délégation de")." <b> $salles </b> ".gettext("pour cet utilisateur")."</label>"; 286 } 287 288 echo"<br><br><input type=\"submit\" name=\"submit\" value=\"".gettext("Envoyer")."\" />\n"; 289 echo "</form>\n"; 290 } 291 break; 292 293 //**********************************action manage*********************** 294 case "manage": 295 //********************************action commun a: manage, view, nodelegate 296 if (!($nouveau) or (!$salles)) { 297 echo gettext("Vouz devez choisir un")." $mot ".gettext("et un utilisateur"); 298 retour_delegate(); 299 exit ; 300 } 301 302 echo "<h2>".gettext("Délégation du")." $mot $salles $aide</h2>\n"; 303 304 if (is_admin("computers_is_admin",$user)=="Y") { 305 echo "<font color=#FF0000>".gettext("Cet utilisateur bénéficie du droit computers_is_admin , il a déjà tous les droits sur les parcs et les templates")."</font><br>"; 306 } 307 308 if (is_admin("computers_is_admin",$login)=="N") { exit; } 309 310 if(@is_dir("/home/$user")) { 311 } else { 312 echo "<font color=#FF0000>".gettext("Cet utilisateur n'a pas de répertoire personnel. <br> Il est impossible de placer le raccourci du")." $mot ".gettext("sur son bureau.<BR> Demandez à cet utilisateur de se connecter au moins une fois sur le domaine.")."</font>"; 313 exit; 314 } 315 316 if (is_admin("parc_can_manage",$user)=="Y") { 317 echo "<p>".gettext("Cet utilisateur bénéficie déjà d'une délégation forte")."</p>"; 318 } else { 319 $right="parc_can_manage"; 320 $cDn = "uid=$user,$peopleRdn,$ldap_base_dn"; 321 $pDn = "cn=$right,$rightsRdn,$ldap_base_dn"; 322 $pDndel="cn=parc_can_view,$rightsRdn,$ldap_base_dn"; 323 exec ("/usr/share/se3/sbin/groupAddEntry.pl \"$cDn\" \"$pDn\""); 324 // exec ("/usr/share/se3/sbin/groupDelEntry.pl \"$cDn\" \"$pDndel\""); 325 326 echo gettext("La délégation forte (parc_can_manage) est prise en compe: Plus d'éléments du menu sont accessibles à")." <b>$user </b> ".gettext("dans")." <b>$salles</b><br>\n"; 327 echo "<ul><li>".gettext("Clients Windows")."</li>\n"; 328 echo "<li>".gettext("Inventaire")."</li>\n"; 329 echo "<li>.....</li></ul><br>"; 330 // echo "Le droit delegation faible ( parc_can_view) a ete retire"; 331 } 332 333 334 //ajout dans la table delegation si necessaire 335 $query="select parc from delegation where login='$user' and parc='$salles';"; 336 $result= mysql_query($query); 337 338 if ($result) { 339 $ligne= mysql_num_rows($result); 340 if ($ligne>0) { 341 if (is_template($salles)) { 342 exec ("/usr/bin/sudo /usr/share/se3/scripts/delegate_parc.sh \"$salles\" \"$user\" \"nodelegate\""); 343 } 344 345 echo "<p><font color=#FF0000>".gettext("L'utilisateur")." <b>$user</b> ".gettext("avait déjà une délégation sur ce")." $mot</font></p>\n"; 346 $query_suppr="delete from delegation where login='$user' and parc='$salles';"; 347 $resul_suppr=mysql_query($query_suppr); 348 } 349 350 $query_verif="select parc from delegation where login='$user' and niveau='view';"; 351 $result_verif= mysql_query($query_verif); 352 353 if ($result_verif) { 354 $ligne_verif= mysql_num_rows($result_verif); 355 if ($ligne_verif==0) { 356 $right="parc_can_view"; 357 $cDn = "uid=$user,$peopleRdn,$ldap_base_dn"; 358 $pDn = "cn=$right,$rightsRdn,$ldap_base_dn"; 359 exec ("/usr/share/se3/sbin/groupDelEntry.pl \"$cDn\" \"$pDn\""); 360 } 361 } 362 } 363 $query_insert="Insert into delegation (ID,login,parc,niveau) VALUES ('','$user','$salles','manage');"; 364 $result_insert=mysql_query($query_insert) or die ("Erreur d'écriture dans la table"); 365 366 if ($template) { 367 //echo "/usr/bin/sudo /usr/share/se3/scripts/delegate_parc.sh \"$salles\" \"$user\" \"delegate\""; 368 exec ("/usr/bin/sudo /usr/share/se3/scripts/delegate_parc.sh \"$salles\" \"$user\" \"delegate\""); 369 echo "<br><h3><b>$user</b>".gettext("verra également apparaître dans Mes Documents/Délégation le répertoire")." <b> $salles </b> ".gettext("pour pouvoir gérer les scripts de démarrage et les icônes des machines du parc")." $salles .</h3><br>"; 370 } 371 update_wpkg(); 372 retour_delegate(); 373 break; 374 375 376 //**************************************action nodelegate******************************************** 377 case "nodelegate": 378 379 //********************************action commun a: manage, view, nodelegate 380 if (!($nouveau) or (!$salles)) { 381 echo gettext("Vouz devez choisir un")." $mot ".gettext("et un utilisateur"); 382 retour_delegate(); 383 exit ; 384 } 385 386 echo "<h2>".gettext("Délégation de parcs")."</h2>\n"; 387 388 if (is_admin("computers_is_admin",$user)=="Y") { 389 echo "<font color=#FF0000>".gettext("Cet utilisateur bénéficie du droit computers_is_admin , il a déjà tous les droits sur les parcs et les templates")."</font><br>"; 390 } 391 392 //retirer le champ dans la table 393 $query="select parc from delegation where login='$user' and parc='$salles';"; 394 $result= mysql_query($query); 395 396 if ($result) { 397 $ligne= mysql_num_rows($result); 398 if ($ligne==1) { 399 //suppression pour ce parc 400 $query_suppr="delete from delegation where login='$user' and parc='$salles';"; 401 $resul_suppr=mysql_query($query_suppr); 402 echo "<p>".gettext("La délégation est supprimé pour")." <b> $user </b> ".gettext("sur le")." $mot <b> $salles</b></p>\n"; 403 } 404 } 405 406 //verification qu'il n'y a pas d'autres delegations en cours 407 408 $query="select parc,niveau from delegation where login='$user';"; 409 $result= mysql_query($query); 410 411 if ($result) { 412 $ligne= mysql_num_rows($result); 413 if ($ligne>0) { 414 //une autre delegation est en cours, on laisse les droits tel quel 415 echo "<br><table border=1>\n"; 416 echo "<tr><td class=menuheader height=\"30\" colspan=\"2\" align=center width=25%>".gettext("Droits restants")."</td></tr>\n"; 417 echo "<tr><td class=menuheader height=\"30\" align=center>Parc</td><td class=menuheader align=center>".gettext("Droit")."</td></tr>\n"; 418 419 while ($row=mysql_fetch_row($result)) { 420 echo "<tr><td align=center>$row[0]</td>\n"; 421 echo "<td align=center>\n"; 422 423 if ($row[1]=="manage") { echo gettext(" Délégation forte"); $fort++;} 424 425 if ($row[1]=="view") { echo gettext("Délégation faible"); $faible++;} 426 echo "</td></tr>\n"; 427 } 428 429 echo "</table>\n"; 430 } 431 } 432 433 //retirer le droit (potentiellement les deux droits) si ce user n'a plus aucun parc delegue !! 434 if (((!isset($fort))||(!$fort)) and (is_admin("parc_can_manage",$user)=="Y")) { 435 echo "<h3>".gettext("Suppression du droit `Délégation forte(parc_can_manage)`")." </h3>\n"; 436 $right="parc_can_manage"; 437 $cDn = "uid=$user,$peopleRdn,$ldap_base_dn"; 438 $pDn = "cn=$right,$rightsRdn,$ldap_base_dn"; 439 exec ("/usr/share/se3/sbin/groupDelEntry.pl \"$cDn\" \"$pDn\""); 440 } 441 442 if (((!isset($faible))||(!$faible)) and (is_admin("parc_can_view",$user)=="Y")) { 443 echo "<h3>".gettext("Suppression du droit `Délégation faible (parc_can_view)`")." </h3>"; 444 445 $right="parc_can_view"; 446 $cDn = "uid=$user,$peopleRdn,$ldap_base_dn"; 447 $pDn = "cn=$right,$rightsRdn,$ldap_base_dn"; 448 exec ("/usr/share/se3/sbin/groupDelEntry.pl \"$cDn\" \"$pDn\""); 449 } 450 451 if (!this_parc_delegate($user,$salles,"manage")) { 452 exec ("/usr/bin/sudo /usr/share/se3/scripts/delegate_parc.sh \"$salles\" \"$user\" \"nodelegate\""); 453 } 454 455 // echo "Commande prise en compte"; 456 update_wpkg(); 457 retour_delegate(); 458 459 break; 460 461 //*******************************action view******************************* 462 case "view": 463 //********************************action commun a: manage, view, nodelegate 464 if (!($nouveau) or (!$salles)) { 465 echo gettext("Vouz devez choisir un")." $mot ".gettext("et un utilisateur"); 466 retour_delegate(); 467 exit ; 468 } 469 470 echo "<h2>".gettext("Délégation du")." $mot: </h2>\n"; 471 472 if (is_admin("computers_is_admin",$user)=="Y") { 473 echo "<font color=#FF0000>".gettext("Cet utilisateur bénéficie du droit computers_is_admin , il a déjà tous les droits sur les parcs et les templates")."</font><br>"; 474 } 475 476 //ajout dans ldap du droit parc_can_view si le droit n'est pas deja mis 477 $right="parc_can_view"; 478 479 if (is_admin($right,$user)=="Y") { 480 echo gettext("Cet utilisateur bénéficie déjà d'une délégation faible")."<br>"; 481 } else { 482 $cDn = "uid=$user,$peopleRdn,$ldap_base_dn"; 483 $pDn = "cn=$right,$rightsRdn,$ldap_base_dn"; 484 485 exec ("/usr/share/se3/sbin/groupAddEntry.pl \"$cDn\" \"$pDn\""); 486 } 487 488 if (is_template($salles)) { 489 exec ("/usr/bin/sudo /usr/share/se3/scripts/delegate_parc.sh \"$salles\" \"$user\" \"nodelegate\""); 490 } 491 492 // echo "/usr/share/se3/sbin/groupAddEntry.pl \"$cDn\" \"$pDn\""; 493 echo gettext("La délégation est prise en compte: Certains éléments du menu sont accessibles à")." <b> $user </b> <br>"; 494 echo "<br><h3>".gettext("L'utilisateur <B> $user</B> bénéficie d'une délégation faible, il ne pourra pas modifier vos réglages.")."</h3>"; 495 496 //ajout dans la table delegation si necessaire 497 $query="select parc from delegation where login='$user' and parc='$salles';"; 498 $result= mysql_query($query); 499 500 if ($result) { 501 $ligne= mysql_num_rows($result); 502 if ($ligne>0) { 503 echo "<p><font color=#FF0000>".gettext("L'utilisateur")." <B> $user</B> ".gettext("avait déjà une délégation sur le")." $mot <b>$salles</b></font></p>\n"; 504 $query_suppr="delete from delegation where login='$user' and parc='$salles';"; 505 $resul_suppr=mysql_query($query_suppr); 506 } 507 $query_verif="select parc from delegation where login='$user' and niveau='manage';"; 508 $result_verif= mysql_query($query_verif); 509 510 if ($result_verif) { 511 $ligne_verif= mysql_num_rows($result_verif); 512 if ($ligne_verif==0){ 513 $right="parc_can_manage"; 514 $cDn = "uid=$user,$peopleRdn,$ldap_base_dn"; 515 $pDn = "cn=$right,$rightsRdn,$ldap_base_dn"; 516 exec ("/usr/share/se3/sbin/groupDelEntry.pl \"$cDn\" \"$pDn\""); 517 } 518 } 519 } 520 521 $query_insert="Insert into delegation (ID,login,parc,niveau) VALUES ('','$user','$salles','view');"; 522 $result_insert=mysql_query($query_insert) or die ("Erreur d'écriture dans la table"); 523 524 update_wpkg(); 525 retour_delegate(); 526 527 break; 528 // fin case "view": 529 } // fin du switch($action) 530 531 } 532 include ("pdp.inc.php"); 533 ?>
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 |