[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

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

   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&#233;lectionn&#233; ") ."". count($newrights)."".gettext(" droit(s)")."<BR>\n";
  61            for ($loop=0; $loop < count($newrights); $loop++) {
  62              $right=$newrights[$loop];
  63              echo gettext("D&#233;l&#233;gation du droit")." <U>$right</U> ".gettext("&#224; 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&#233;lectionn&#233; ") ."". 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&#233;l&#233;gation de droits &#224; ")."". $user["fullname"] ." (<U>$uid</U>)</H3>\n";
  91      echo gettext("S&#233;lectionnez les droits &#224; supprimer (liste de gauche) ou &#224; ajouter (liste de droite) ");
  92      echo gettext("et validez &#224; 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&#233;rit&#233;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&#233;s &#224; 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&#232;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&#233;l&#233;gue le droit de changer les mots de passe &#224; 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&#232;me du serveur.<BR><b>computers_is_admin</b> Permet de g&#233;rer les machines clientes (Cr&#233;er ou supprimer des machines des parcs, &#233;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&#233;rer les r&#233;pertoires _echanges dans les r&#233;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&#233;faut les membres du groupe Profs ont ce droit.<BR><b>maintenance_can_write</b> Permet de d&#233;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&#233;l&#233;guer la gestion d\'un parc &#224; une personne.<BR><b>smbweb_is_open</b> Donne le droit d\'acc&#232;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&#233;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&#233;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  ?>


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