[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
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é <br>"; 81 } 82 83 // $message = "Vous devez sé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é <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é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é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é avec cette adresse.<br> 125 Vous pouvez l'enregistrer ou alors mettre à jour les adresses déjà enregistré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ères é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éjà enregistré, vous n'avez rien à 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 à plusieurs noms d'ordinateurs,<br> Il est conseillé d' 152 effacer les enregistrements périmé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éjà enregistré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 à 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]."\"> ".$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 " \n"; 202 echo "</form>"; 203 204 echo "<br>".$message; 205 206 include ("pdp.inc.php"); 207 ?>
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 |