diff options
-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) |