[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-internet/sources/www/se3/se3-internet/ -> connexions_portables.php (source)

   1  <?php
   2  
   3  
   4  /**
   5     * Page pour autoriser la connexion internnet aux ordinateurs portables 
   6     * @Version $Id: connexions_portables.php 5988 2010-11-26 16:55:03Z dbo $
   7     
   8     * @Projet LCS-SE3
   9     * @auteurs Denis Bonnenfant
  10     * @Licence Distribue sous  la licence GPL
  11  */
  12  
  13  /**    
  14      * @Repertoire se3-internet/
  15      * file connexions_portables.php
  16  */    
  17  
  18  
  19  include "Internet.inc.php";
  20  include  "entete.inc.php";
  21  include  "ldap.inc.php";
  22  include  "ihm.inc.php";
  23  include "fonc_parc.inc.php";
  24  
  25  
  26  require_once  ("lang.inc.php");
  27  bindtextdomain('se3-core',"/var/www/se3/locale");
  28  textdomain ('se3-core');
  29  
  30  
  31  if ((is_admin("se3_is_admin",$login)=="Y") or (is_admin("computers_is_admin",$login)=="Y")) {
  32      $role="admin";
  33  } elseif (is_admin("parc_can_manage",$login)=="Y") {
  34      $role="parc";
  35  } elseif (is_admin("sovajon_is_admin",$login)=="Y") {
  36      $role="prof";
  37  } else {    
  38      $role="eleve";
  39  }
  40      echo "<H1>Enregistrement des ordinateurs personnels</H1>";
  41  
  42  
  43  
  44  if (($role == "prof" ) or ($role =="admin")) {
  45      $parc = "portables_profs";
  46  } else {
  47      $parc = "portables_eleves";
  48  }    
  49      
  50  
  51  
  52  $fixer=$_POST['fixer'];
  53  $selected_ip=$_POST['selected_ip'];
  54  $selected_del=$_POST['selected_del'];
  55  $selected_update=$_POST['selected_update'];
  56  $new_name=$_POST['new_name'];
  57  
  58  //echo "<form action=\"connexions_portables.php\" method=\"post\">\n";
  59  
  60  
  61  if(isset($fixer)) {
  62      // Modification des droits machines
  63      if(count(get_name($_SERVER['REMOTE_ADDR'], "portables_*")) == 0) {
  64          $remote_ip = $_SERVER['REMOTE_ADDR'];
  65          exec ("/usr/share/se3/sbin/ip-internet.sh  $login $new_name $remote_ip add " );
  66          $cDn = "cn=".$new_name.",".$computersRdn.",".$ldap_base_dn;
  67          $pDn = "cn=".$parc.",".$parcsRdn.",".$ldap_base_dn;
  68          // Si le parc existe on ajoute
  69          exec ("/usr/share/se3/sbin/groupAddEntry.pl \"$cDn\" \"$pDn\"");
  70          sleep(10);
  71          // Si le parc n'existe pas 
  72           exec ("/usr/share/se3/sbin/entryAdd.pl \"$pDn\" \"cn=$parc\" \"objectClass=groupOfNames\" \"member=$cDn\"");
  73          // echo "$role";
  74          if ($role == "eleve") {
  75              $droit = "intranet";
  76          } else {
  77              $droit = "internet";
  78          }    
  79          exec ("/usr/share/se3/sbin/update-internet.sh $new_name $droit tous" );
  80          $message = "Ajout de la machine effectu&#233; <br>";
  81      }
  82  
  83  //    $message = "Vous devez s&#233;lectionner une ou plusieurs machines <br>";
  84      if(count($selected_update) > 0 ) {
  85          for ($loop=0; $loop < count($selected_update) ; $loop++) {
  86              $remote_ip = $_SERVER['REMOTE_ADDR'];
  87              exec ("/usr/share/se3/sbin/ip-internet.sh  $login $selected_update[$loop] $remote_ip add " );
  88              }
  89          $message .= "Ajout de l'ip effectu&#233; <br>";
  90      }
  91      if(count($selected_del) > 0 ) {
  92          for ($loop=0; $loop < count($selected_del) ; $loop++) {
  93              $mpenc=$selected_del[$loop];
  94              $cDn = "cn=".$selected_del[$loop].",".$computersRdn.",".$ldap_base_dn;
  95              $pDn = "cn=".$parc.",".$parcsRdn.",".$ldap_base_dn;
  96              supprime_machine_parc($mpenc,$parc);
  97              // exec ("/usr/share/se3/sbin/groupDelEntry.pl \"$cDn\" \"$pDn\"");
  98              exec ("/usr/share/se3/sbin/entryDel.pl cn=".$selected_del[$loop].",".$dn["computers"], $output, $returnval);
  99              }
 100          
 101          $message .= "Suppression effectu&#233;e  <br>";
 102      }
 103  
 104      if(count($selected_ip) > 0 ) {
 105          $list_machines = search_portables($login);
 106          for ($loop=0; $loop < count($list_machines); $loop++) {
 107              for ($loopi=0; $loopi < count($selected_ip) ; $loopi++) {
 108                  if (isset($selected_ip[$loop][$loopi])) {
 109                      exec ("/usr/share/se3/sbin/ip-internet.sh  ".$login." ".$list_machines[$loop]["cn"]." ".$selected_ip[$loop][$loopi]." del");
 110                      $message .= "Suppression de l'ip ".$selected_ip[$loop][$loopi]." pour ".$list_machines[$loop]["cn"]." effectu&#233;e  <br>";
 111                  }
 112              }
 113          }
 114          
 115      }
 116  
 117  }
 118  
 119  echo "<H3>Enregistrement du portable dans le parc <U>".$parc."</U><br></H3>\n";
 120  echo "<form  method=\"post\" action=\"connexions_portables.php\">\n";
 121  $list_machines = search_portables($login);  
 122  if (count(get_name($_SERVER['REMOTE_ADDR'], "*")) == 0) {
 123      //ordinateur dans aucun parc : on propose de le mettre dans les portables
 124      echo "Votre adresse ip est :".$_SERVER['REMOTE_ADDR'].".  Vous n'avez pas d'ordinateur enregistr&#233; avec cette adresse.<br>
 125      Vous pouvez l'enregistrer ou alors mettre &#224; jour les adresses d&#233;j&#224; enregistr&#233;es  <br><br>";
 126      echo "Entrez le nom de l'ordinateur : <INPUT TYPE=\"text\" SIZE=\"20\" value=\"ordi-".$login."\" name=\"new_name\">\n";
 127      echo "<u onmouseover=\"return escape('Indiquer le nom d\'ordinateur que vous souhaitez ajouter. Ne pas utiliser de caract&#232;res &#233;tranges.')\"><img name=\"action_image2\"  src=\"../elements/images/help-info.gif\" alt=\"help\"></u><br>\n"; 
 128      $portable = 1 ;
 129      echo "<br><input type=\"submit\" name=\"fixer\" value=\"Appliquer\">\n";
 130  } elseif (count(get_name($_SERVER['REMOTE_ADDR'], "portables_*")) == 1) {
 131      //ordinateur portable
 132      $nomp = get_name($_SERVER['REMOTE_ADDR'], "portables_*");
 133      echo "Votre ordinateur ".$nomp[0]." est d&#233;j&#224; enregistr&#233;, vous n'avez rien &#224; faire" ;
 134      $portable = 1 ;
 135  } elseif (count(get_name($_SERVER['REMOTE_ADDR'], "portables_*")) > 1) {
 136         //  plusieurs portables avec cette adresse : que faire ?
 137      echo "ATTENTION plusieurs portables sont enregistrés avec cette adresse. La plage d'adresses est trop petite<br> " ;
 138      foreach (get_name($_SERVER['REMOTE_ADDR'], "portables_*") as $namep) {
 139          echo "nom : $namep<br>";
 140      }    
 141      $portable = 1 ;
 142  } elseif (count(get_name($_SERVER['REMOTE_ADDR'], "*")) >= 1) {
 143      echo "Cet ordinateur  n'est pas un portable! <br>";
 144      foreach (get_name($_SERVER['REMOTE_ADDR'], "*") as $namep) {
 145          echo "nom : $namep<br>";
 146      }    
 147      
 148      $portable = 0;
 149  } else
 150  { 
 151      echo "<br>Attention ! l'adresse ip : ".$_SERVER['REMOTE_ADDR']." correspond &#224; plusieurs noms d'ordinateurs,<br> Il est conseill&#233; d'
 152          effacer les enregistrements p&#233;rim&#233;s<br>\n";
 153      $portable = 1 ; 
 154  }        
 155  
 156  if ((count($list_machines)>0) && $portable )
 157      {
 158          // Affichage de l'entete du tableau
 159          echo "<H3>Modification des ordinateurs d&#233;j&#224; enregistr&#233;s : </H3>";
 160          echo "<table border=0 width=90% align=center>";
 161  
 162          echo "<tr class=\"menuheader\" style=\"height=30\" align=center>";
 163          echo "<td>Nom de l'ordinateur</td><td>Ajouter l'adresse IP courante</TD><TD> adresses IP &#224; effacer </td><td> effacer l'enregistrement </td>";
 164          echo "</tr>";
 165          // affichage de la liste des machines
 166          echo "<tr>";
 167          for ($loop=0; $loop < count($list_machines); $loop++)
 168          {
 169              echo "<td>".$list_machines[$loop]["cn"]."</td>\n";
 170              
 171              echo "<td align=\center\">";
 172              $ip_machine = get_ip($list_machines[$loop]["cn"]);
 173              if (count($ip_machine) == 0)
 174              {
 175                  $ip_machine[] = $_SERVER['REMOTE_ADDR'];
 176                  echo "<input type=\"checkbox\" name=\"selected_update[]\" value=\"".$list_machines[$loop]["cn"]."\" checked >";
 177              } else {    
 178                  $remote_ip = $_SERVER['REMOTE_ADDR'];
 179                  if (!in_array("$remote_ip", $ip_machine)) {
 180                      echo "<input type=\"checkbox\" name=\"selected_update[]\" value=\"".$list_machines[$loop]["cn"]."\">";
 181                  }
 182              }    
 183              echo "</td><td>";
 184              for ($loopi=0; $loopi < count($ip_machine)-1; $loopi++)
 185              {
 186                  echo "<input type=\"checkbox\" name=\"selected_ip[".$loop."][]\" value=\"".$ip_machine[$loopi]."\">&nbsp;".$ip_machine["$loopi"]."<br>\n";
 187              }
 188              echo "</td><td align=\"center\"><input type=\"checkbox\" name=\"selected_del[]\" value=\"".$list_machines[$loop]["cn"]."\"\n";
 189              if(isset($toutselectionner))
 190                  echo " checked >";
 191              else
 192                  echo " >";
 193              echo "</td></tr>";
 194          }
 195  //        echo "</table>";
 196          echo "</table>";
 197          echo "<br><input type=\"submit\" name=\"fixer\" value=\"Appliquer\">\n";
 198      }
 199      // Affichage des boutons 
 200  
 201  echo "&nbsp;&nbsp;&nbsp;\n";
 202  echo "</form>";    
 203  
 204  echo "<br>".$message;
 205      
 206  include ("pdp.inc.php");
 207  ?>


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