diff options
-rwxr-xr-x | admin/WebConsole/gestores/gestor_pxe_grub4dos.php | 93 | ||||
-rw-r--r-- | admin/WebConsole/principal/boot_grub4dos.php | 217 |
2 files changed, 225 insertions, 85 deletions
diff --git a/admin/WebConsole/gestores/gestor_pxe_grub4dos.php b/admin/WebConsole/gestores/gestor_pxe_grub4dos.php index a82448f7..790cdf6e 100755 --- a/admin/WebConsole/gestores/gestor_pxe_grub4dos.php +++ b/admin/WebConsole/gestores/gestor_pxe_grub4dos.php @@ -67,14 +67,14 @@ $rs->Primero(); $router=$rs->campos["router"]; $netmask=$rs->campos["netmask"]; $repo=$rs->campos["iprepo"]; - $infohost=" IP=" + $infohost="ip=" . $ip . ":" . $repo .":" . $router . ":" . $netmask .":" . $hostname .":" - . $netiface . ":none repo=" - . $repo; + . $netiface . ":none"; # repo=" + #. $repo; $rs->Cerrar(); ###################obtenemos las variables de red del aula. @@ -84,89 +84,12 @@ $rs->Cerrar(); $macfile="01-" . str_replace(":","-",strtoupper($mac)); $nombre_archivo="/var/lib/tftpboot/menu.lst/" . $macfile; +#controlar optboot -########## Escribimos el fichero mac -if (!$gestion=fopen($nombre_archivo, 'w+')) -{ - echo "No se puede abrir el archivo ($nombre_archivo)"; - return; -} -# cuales son los parametros del menu -fwrite($gestion, "color white/blue black/light-gray \n"); - - -$cmd->texto="SELECT itemboot.label, itemboot.kernel, - itemboot.append, menuboot.timeout, menuboot.prompt, - menuboot.description, menuboot_itemboot.default - From itemboot,menuboot_itemboot,menuboot - WHERE menuboot_itemboot.labelmenu=menuboot.label - AND menuboot_itemboot.labelitem=itemboot.label - AND menuboot.label='" . $optboot . "'"; - -$rs->Comando=&$cmd; -if (!$rs->Abrir()) echo "error"; -$rs->Primero(); -while (!$rs->EOF) -{ - fwrite($gestion, " \n"); - fwrite($gestion, "LABEL " . $rs->campos['label'] . " \n"); - fwrite($gestion, "MENU LABEL " . $rs->campos['label'] . " \n"); - #if ( $rs->campos["default"] == true) - #{ - # fwrite($gestion, "MENU DEFAULT \n"); - #} - - - # set netmask cird para ogclient - $isogclient=substr_count($rs->campos["label"] , "og"); - if ($isogclient > 0) - { - $netmask=$netmask; - $kernel=$rs->campos["kernel"]; - $append=$rs->campos["append"]; - fwrite($gestion,"keeppxe \n"); - fwrite($gestion, $rs->campos["kernel"] . " " . $infohost . " \n"); - fwrite($gestion, $rs->campos["append"] . " \n"); - fwrite($gestion,"savedefault \n"); - fwrite($gestion,"boot \n"); - - # fwrite($gestion,"APPEND keeppxe --config-file='pxe detect; default 0; timeout 0; hiddenmenu; title cache; fallback 1; find --set-root /boot/ogvmlinuz; kernel /boot/ogvmlinuz ro boot=oginit vga=788 irqpoll acpi=on " . $infohost . " ogprotocol=smb og2nd=sqfs ; initrd /boot/oginitrd.img; boot; title net; kernel (pd)/ogclient/vmlinuz ro boot=oginit vga=788 irqpoll acpi=on " . $infohost . " ogprotocol=smb og2nd=sqfs; initrd (pd)/ogclient/oginitrd.img; boot' \n"); - # keeppxe - # kernel (pd)/ogclient/ogvmlinuz ro boot=oginit vga=788 irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true IP=172.17.9.204:172.17.9.249:172.17.9.254:255.255.255.0:cte204:eth0:none repo=172.17.9.249 - # initrd (pd)/ogclient/oginitrd.img - # savedault - # boot - - - } - else - { - $netmask=netmask2cidr($netmask); - fwrite($gestion, $rs->campos["kernel"] . $return ); - fwrite($gestion, $rs->campos["append"] . " \n"); - - } - - - - - - # $prompt=$rs->campos["prompt"]; - # $timeout=$rs->campos["timeout"]; - - $rs->Siguiente(); -} -$rs->Cerrar(); - - - - fwrite($gestion, " \n"); - fwrite($gestion, "PROMPT " . $prompt ." \n"); - fwrite($gestion, "TIMEOUT " . $timeout . " \n"); - fwrite($gestion, " \n"); - fclose($gestion); - exec("chown www-data:www-data /var/lib/tftpboot/pxelinux.cfg/". $macfile); - exec("chmod 777 /var/lib/tftpboot/pxelinux.cfg/". $macfile); + #exec("cp /var/lib/tftpboot/menu.lst/templates/". $optboot . " /var/lib/tftpboot/menu.lst/". $macfile); + exec("sed s/INFOHOST/".$infohost."/g /var/lib/tftpboot/menu.lst/templates/" . $optboot . " > /var/lib/tftpboot/menu.lst/" . $macfile); + exec("chown www-data:www-data /var/lib/tftpboot/menu.lst/". $macfile); + exec("chmod 777 /var/lib/tftpboot/menu.lst/". $macfile); diff --git a/admin/WebConsole/principal/boot_grub4dos.php b/admin/WebConsole/principal/boot_grub4dos.php new file mode 100644 index 00000000..14e9f1f9 --- /dev/null +++ b/admin/WebConsole/principal/boot_grub4dos.php @@ -0,0 +1,217 @@ +<html> +<TITLE>Administración web de aulas</TITLE> +<head> +<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_aulas.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../idiomas/javascripts/esp/propiedades_aulas_esp.js"></SCRIPT></HEAD> + +<script language="javascript" type="text/javascript"> + +function move(fbox, tbox) { + var arrFbox = new Array(); + var arrTbox = new Array(); + var arrLookup = new Array(); + var i; + for (i = 0; i < tbox.options.length; i++) { + arrLookup[tbox.options[i].text] = tbox.options[i].value; + arrTbox[i] = tbox.options[i].text; + } + var fLength = 0; + var tLength = arrTbox.length; + for(i = 0; i < fbox.options.length; i++) { + arrLookup[fbox.options[i].text] = fbox.options[i].value; + if (fbox.options[i].selected && fbox.options[i].value != "") { + arrTbox[tLength] = fbox.options[i].text; + tLength++; + } + else { + arrFbox[fLength] = fbox.options[i].text; + fLength++; + } + } + arrFbox.sort(); + arrTbox.sort(); + fbox.length = 0; + tbox.length = 0; + var c; + +for(c = 0; c < arrFbox.length; c++) { +var no = new Option(); +no.value = arrLookup[arrFbox[c]]; +no.text = arrFbox[c]; +fbox[c] = no; +} + +for(c = 0; c < arrTbox.length; c++) { +var no = new Option(); +no.value = arrLookup[arrTbox[c]]; +no.text = arrTbox[c]; +tbox[c] = no; + } +} + +function allSelect() +{ +var saveString = ""; +// seleccionamos cada uno de los select +var input = document.getElementsByTagName('select'); +//alert(input.length); +for(var i=0; i<input.length; i++){ +//if(inputs[i].getAttribute('type')=='button'){ +// your statements +patron = "L"; +parm = input[i].name; +//alert(parm); +parm = parm.replace(patron,''); +//alert(parm); +for (j=0;j<input[i].length;j++) + { + //List.options[i].selected = true; + saveString = saveString + parm + '|' + input[i].options[j].value + ';'; + //alert(saveString); + } +} +document.forms['myForm'].listOfItems.value = saveString; +} + + +</script> +</head> +<body> + +<?php +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/MenuContextual.php"); +include_once("../clases/SockHidra.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/aulas_".$idioma.".php"); + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ + +$litambito=0; +$idambito=0; +$nombreambito=""; + + +if (isset($_GET["litambito"])) $litambito=$_GET["litambito"]; // Recoge parametros +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"]; + + +switch($litambito){ + case "aulas": + $seleccion="and idaula=" . $idambito .""; + break; + case "gruposordenadores": + $seleccion= "and grupoid=" . $idambito . ""; + break; +} +?> + +<TABLE align=center border=1 cellPadding=1 cellSpacing=1 class=tabla_datos > +<form name="myForm" method="post" action="../gestores/gestor_pxe_grub4dos.php?idaula=<?php echo $idambito ?>&nombreambito=<?php echo $nombreambito?>&litambito=<?php echo $litambito?>" > + + + <P align=center class=cabeceras>Gestión Arranque Avanzado<BR> + <SPAN align=center class=subcabeceras> <?php echo $nombreambito; ?> </SPAN> + <input type="submit" value="GUARDAR" name="saveButton" onclick="allSelect()"> </P> + + + + + + +<input type="hidden" name="listOfItems" value=""> +<?php +echo "<input type='hidden' name='rungrupo' value='" . $_GET['id_aula'] . "'>"; +?> + + +<!-- primer file, nombre de las equipos por pxe hace falta <td> </td>--> +<tr> +<td> + <!-- <a href="./muestramenu.php?labelmenu=pxe"> OGclient </a><br> pxe <br> --> +OGclient <br> +<select multiple size="30" name="Lpxe" id="Lpxe" style="width:100"> + +<?php +#### listado de equipos con menu pxe +$menupxe=pxe; +$listadopxe=listaequipos($cmd,$menupxe,$seleccion); +echo $listadopxe; +?> +</select> +</td> + + +<?php + +$cmd->texto="SELECT * FROM menuboot where label <> 'pxe' "; +$rsmenu=new Recordset; +$rsmenu->Comando=&$cmd; +if (!$rsmenu->Abrir()) echo "error"; +$rsmenu->Primero(); +while (!$rsmenu->EOF) +{ + echo "<td></td>"; + echo "<td> "; + echo $rsmenu->campos['description']; + #echo "<a href='./muestramenu.php?labelmenu=" . $rsmenu->campos['label'] ."'> " . $rsmenu->campos['description'] . " </a> <br>". $rs->campos['label'] . "<br>"; + echo " <br>"; + echo "<input type='button' onClick='move(this.form.L" . $rsmenu->campos['label'] . ",this.form.Lpxe)' value='OUT' style='height: 25px; width: 50px' >"; + echo "<input type='button' onClick='move(this.form.Lpxe,this.form.L" . $rsmenu->campos['label'] .")' value='IN' style='height: 25px; width: 35px' >"; + echo " <br>"; + echo "<select multiple size='30' name='L" . $rsmenu->campos['label'] . "' style='width:100'>"; + $listadopxe=""; + $listadopxe=listaequipos($cmd,$rsmenu->campos['label'],$seleccion); + echo $listadopxe; + echo "</select>"; + echo "</td>"; + $rsmenu->Siguiente(); +} +$rsmenu->Cerrar(); + + + + + + + +// esta funcion genera los elementos de un select(formulario html) donde aparecen los nombres de los ordenadores, según su menu pxe +function listaequipos($cmd,$menupxe,$seleccion) +{ +$cmd->texto="SELECT * FROM ordenadores where arranque='" . $menupxe ."' " . $seleccion; +$rs=new Recordset; +$rs->Comando=&$cmd; +if (!$rs->Abrir()) echo "error"; +$rs->Primero(); +while (!$rs->EOF) +{ + echo "<option value='"; + echo $rs->campos["nombreordenador"]; + echo "'>"; + echo $rs->campos["nombreordenador"]; + echo "</option>"; + $rs->Siguiente(); +} +$rs->Cerrar(); +} + +?> + +</tr> + +</form> +</table> + +</body> +</html> |