summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole
diff options
context:
space:
mode:
authoririna <irinagomez@us.es>2017-09-28 11:33:05 +0000
committeririna <irinagomez@us.es>2017-09-28 11:33:05 +0000
commitcf9731fdbfadd41a77ac88be261e2312f73f8786 (patch)
tree1ef40032d16ebe353592a4e450e80dabb3ed3649 /admin/WebConsole
parent760b597a3b68430e89407cc26d1ccb57b903ea1b (diff)
#807 Consola incorpora ordenadores: Se optimiza la función procesaLineas.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5438 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/WebConsole')
-rw-r--r--admin/WebConsole/varios/incorporaordenadores.php68
1 files changed, 34 insertions, 34 deletions
diff --git a/admin/WebConsole/varios/incorporaordenadores.php b/admin/WebConsole/varios/incorporaordenadores.php
index 756a8f5c..20161acd 100644
--- a/admin/WebConsole/varios/incorporaordenadores.php
+++ b/admin/WebConsole/varios/incorporaordenadores.php
@@ -94,45 +94,45 @@ function procesaLineas($cmd,$idaula,$buffer)
$MAC="";
$IP="";
$sw=false;
- $posa=-1;
- while($posa<strlen($buffer)){
- if ('host'==substr($buffer,$posa,4)){
- $posa=$posa+4;
- $posb=$posa;
- while( substr($buffer,$posb,1)!="{") $posb++;
- $nombre=substr($buffer,$posa,$posb-$posa);
- }
- if ('hardware ethernet'==substr($buffer,$posa,17)){
- $posa=$posa+17;
- $posb=$posa;
- while( substr($buffer,$posb,1)!=";") $posb++;
- $MAC=substr($buffer,$posa,$posb-$posa);
- }
+ $equipos = preg_split('/}/',$buffer);
- if ('fixed-address'==substr($buffer,$posa,13)){
- $posa=$posa+13;
- $posb=$posa;
- while( substr($buffer,$posb,1)!=";")
- $posb++;
- $IP=substr($buffer,$posa,$posb-$posa);
- }
- if(!empty($nombre) && !empty($MAC) && !empty($IP)){
- if(!Inserta($cmd,$idaula,$nombre,$MAC,$IP))
- return(4);
- $sw=true;
- $nombre="";
- $MAC="";
- $IP="";
- $resul=true;
- }
- $posa++;
+ // Recorro todos los equipos
+ foreach ($equipos as $equipo) {
+ $nombre = strstr($equipo, '{', true);
+ $nombre = str_replace('host', '', $nombre);
+ $valores = strstr($equipo, '{');
+ // Eliminamos caracteres inútiles
+ $valores = str_replace(array (' ','{',':'), '',$valores);
+
+ $propiedades = preg_split('/;/',$valores);
+
+ // Recorro todas las propiedades
+ foreach ($propiedades as $propiedad) {
+ if (strpos (" $propiedad " , "fixed-address")) {
+ $IP = str_replace("fixed-address", '', $propiedad);
+ }
+ if (strpos ( " $propiedad " , "hardwareethernet")) {
+ $MAC = str_replace("hardwareethernet", '', $propiedad);
+ }
+ }
+
+ // Si tengo los valores necesario incluyo el equipo
+ if(!empty($nombre) && !empty($MAC) && !empty($IP)){
+ if(!Inserta($cmd,$idaula,$nombre,$MAC,$IP)) {
+ return(4);
+ }
+ $sw=true;
+ $nombre="";
+ $MAC="";
+ $IP="";
+ $resul=true;
+ }
}
if($sw)
- return(3);
+ return(3);
else
- return(4);
-
+ return(4);
}
//________________________________________________________________________________________________________
function Inserta($cmd,$idaula,$nombre,$lamac,$laip)