diff options
author | irina <irinagomez@us.es> | 2017-09-28 11:33:05 +0000 |
---|---|---|
committer | irina <irinagomez@us.es> | 2017-09-28 11:33:05 +0000 |
commit | cf9731fdbfadd41a77ac88be261e2312f73f8786 (patch) | |
tree | 1ef40032d16ebe353592a4e450e80dabb3ed3649 /admin/WebConsole/varios | |
parent | 760b597a3b68430e89407cc26d1ccb57b903ea1b (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/varios')
-rw-r--r-- | admin/WebConsole/varios/incorporaordenadores.php | 68 |
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) |