"; echo ""; echo ""; echo " gestion de equipos "; echo ""; echo ""; echo ""; #echo('litambito con valor: '. $_GET['litambito']); #echo ('idambito con valor: ' . $_GET['idaula']); #echo ('nombreambito con valor: ' . $_GET['nombreambito']); $lista = explode(";",$_POST['listOfItems']); foreach ($lista as $sublista) { $elementos = explode("|",$sublista); $hostname=$elementos[1]; $optboot=$elementos[0]; ogBootServer($cmd,$optboot,$hostname,$idioma); } echo " "; echo " "; function ogBootServer($cmd,$optboot,$hostname,$idioma) { global $cmd; global $hostname; global $optboot; global $retrun; $return="\n"; $cmd->CreaParametro("@optboot",$optboot,0); $cmd->CreaParametro("@hostname",$hostname,0); $cmd->texto="update ordenadores set arranque=@optboot where nombreordenador=@hostname"; $cmd->Ejecutar(); $cmd->texto="SELECT ordenadores.ip AS ip, ordenadores.mac AS mac, ordenadores.netiface AS netiface, aulas.netmask AS netmask, aulas.router AS router, repositorios.ip AS iprepo, aulas.nombreaula AS grupo, menus.resolucion AS vga FROM ordenadores JOIN aulas ON ordenadores.idaula=aulas.idaula JOIN repositorios ON ordenadores.idrepositorio=repositorios.idrepositorio LEFT JOIN menus ON ordenadores.idmenu=menus.idmenu WHERE ordenadores.nombreordenador='". $hostname ."'"; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) echo "error"; $rs->Primero(); $mac=$rs->campos["mac"]; $netiface=$rs->campos["netiface"]; $ip=$rs->campos["ip"]; $router=$rs->campos["router"]; $netmask=$rs->campos["netmask"]; $repo=$rs->campos["iprepo"]; $group=cleanString($rs->campos["grupo"]); if($rs->campos["vga"]== null || $rs->campos["vga"]== 0 ) $vga="788"; else $vga=$rs->campos["vga"]; $rs->Cerrar(); $cmd->texto="SELECT ipserveradm FROM entornos"; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) echo "error"; $rs->Primero(); $server=$rs->campos["ipserveradm"]; $rs->Cerrar(); switch ($idioma) { case eng: $idioma=en_GB; break; case esp: $idioma=es_ES; break; case cat: $idioma=ca_ES; break; } $infohost=" vga=$vga". " LANG=$idioma". " ip=$ip:$server:$router:$netmask:$hostname:$netiface:none" . " group=$group" . " ogrepo=$repo" . " oglive=$repo" . " oglog=$server" . " ogshare=$server"; ###################obtenemos las variables de red del aula. #02.1 obtenemos nombre fichero mac $pxedir="/opt/opengnsys/tftpboot/menu.lst"; $mac= substr($mac,0,2) . ":" . substr($mac,2,2) . ":" . substr($mac,4,2) . ":" . substr($mac,6,2) . ":" . substr($mac,8,2) . ":" . substr($mac,10,2); $macfile="$pxedir/01-" . str_replace(":","-",strtoupper($mac)); #controlar optboot exec("sed -e 's/vga=...//g' -e 's/INFOHOST/$infohost/g' $pxedir/templates/$optboot > $macfile"); exec("chown www-data:www-data $macfile"); exec("chmod 777 $macfile"); } function netmask2cidr($netmask) { $cidr = 0; foreach (explode('.', $netmask) as $number) { for (;$number> 0; $number = ($number <<1) % 256) { $cidr++; } } return $cidr; } // Sustituye espacio por "_" y quita acentos y tildes. function cleanString ($cadena) { $patron = array ('/ /','/á/','/é/','/í/','/ó/','/ú/','/ñ/','/Á/','/É/','/Í/','/Ó/','/Ú/','/Ñ/'); $reemplazo = array ('_','a','e','i','o','u','n','A','E','I','O','U','N'); return preg_replace($patron,$reemplazo,$cadena); } ?>