diff options
Diffstat (limited to 'admin/WebConsole/principal/boot_grub4dos.php')
-rw-r--r-- | admin/WebConsole/principal/boot_grub4dos.php | 205 |
1 files changed, 89 insertions, 116 deletions
diff --git a/admin/WebConsole/principal/boot_grub4dos.php b/admin/WebConsole/principal/boot_grub4dos.php index e8a5a902..fbd7e171 100644 --- a/admin/WebConsole/principal/boot_grub4dos.php +++ b/admin/WebConsole/principal/boot_grub4dos.php @@ -1,11 +1,10 @@ <?php +// Version 1.1.1 - Muestra las plantillas tipo BIOS y UEFI. Se incluyen algunos id para pasar los datos necesarios a serclientmode (#802). +// Autor: Irina Gomez - ETSII Universidad de Sevilla. +// Fecha: 2019/02/12 + 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."/boot_grub4dos_".$idioma.".php"); @@ -19,16 +18,12 @@ $idambito=0; $nombreambito=""; $opcion=0; $modo=""; - - -if (isset($_GET["litambito"])) $litambito=$_GET["litambito"]; // Recoge parametros -if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; -if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"]; -if (isset($_POST["litambito"])) $litambito=$_POST["litambito"]; // Recoge parametros -if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; -if (isset($_POST["nombreambito"])) $nombreambito=$_POST["nombreambito"]; -if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; -if (isset($_POST["modo"])) $modo=$_POST["modo"]; +if (isset($_REQUEST["litambito"])) $litambito=$_REQUEST["litambito"]; // Recoge parametros +if (isset($_REQUEST["idambito"])) $idambito=$_REQUEST["idambito"]; +if (isset($_REQUEST["nombreambito"])) $nombreambito=$_REQUEST["nombreambito"]; +if (isset($_REQUEST["opcion"])) $opcion=$_REQUEST["opcion"]; +if (isset($_REQUEST["modo"])) $modo=$_REQUEST["modo"]; +if (empty($_SESSION["widcentro"])) $modo=1; switch($litambito){ case "aulas": @@ -36,81 +31,72 @@ switch($litambito){ break; case "gruposordenadores": $seleccion= "and grupoid=" . $idambito . ""; + default: + $seleccion=""; break; } + //######################################################################### // LEYENDO EL DIRECTORIO -// /var/lib/tftboot/menu.lst/templates +// /var/lib/tftboot/menu.lst/templates y /var/lib/tftpboot/grub/templates/ //######################################################################### -$dirtemplates="/var/lib/tftpboot/menu.lst/templates/"; -// Leer nombres de ficheros y quitar plantilla "pxe". -chdir($dirtemplates); -$pn=glob("*"); +// Leer nombres de ficheros plantillas bios +$dirtemplatesbios="/var/lib/tftpboot/menu.lst/templates/"; +chdir($dirtemplatesbios); +$pnbios=glob("*"); + +// Leer nombres de ficheros plantillas uefi +$dirtemplatesuefi="/var/lib/tftpboot/grub/templates/"; +chdir($dirtemplatesuefi); +$pnuefi=glob("*"); + +// Unimos las plantillas y eliminamos repetidos +$pn=array_unique(array_merge($pnbios,$pnuefi)); + +// Numero columnas +$column=count($pn); + +// Plantilla en los dos directorios +$pncomun=array_intersect($pnbios,$pnuefi); + +// quitar plantilla "pxe". unset($pn[array_search("pxe", $pn)]); sort($pn); chdir(__DIR__); -//Leemos el ultimo fichero y extraemos su numero -$ultimofichero=end($pn); -$ultimonumero=substr($ultimofichero,0,2); - -//Comprobamos que no se mayor que 99 (tendria 3 caracteres) -if ($ultimonumero==99) - {$ultimonumero=20; -}else{ - $ultimonumero++; -} -//Buscamos si el siguiente numero esta disponible -$encontrado=FALSE; -while($encontrado==FALSE) -{ - if (in_array($ultimonumero, $pn)) - { - $ultimonumero++; - }else{ - $encontrado=TRUE; - } -} ?> <html> -<TITLE>Administración web de aulas</TITLE> <head> +<TITLE>Administración web de aulas</TITLE> <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="../jscripts/boot_grub4dos.js"></SCRIPT> - <SCRIPT language="javascript" src="../idiomas/javascripts/esp/propiedades_aulas_esp.js"></SCRIPT></HEAD> + <SCRIPT language="javascript" src="../idiomas/javascripts/esp/propiedades_aulas_esp.js"></SCRIPT> </head> <body> -<TABLE align=center border=1 cellPadding=1 cellSpacing=1 class=tabla_datos > -<TR valign="bottom"><TD colspan="100%" align="left" nowrap> -<form name="modoadmin" id="modoadmin" method="post" action="./boot_grub4dos.php"> +<form name="modoadmin" id="modoadmin" method="post" action="../gestores/gestor_pxe_grub4dos.php"> <input type="hidden" name="litambito" value="<?php echo $litambito?>"> <input type="hidden" name="idambito" value="<?php echo $idambito?>"> <input type="hidden" name="nombreambito" value="<?php echo $nombreambito?>"> <input type="hidden" name="opcion" value="<?php echo $opcion?>"> -<?php - if (empty($_SESSION["widcentro"])) { - $modo=1; - } -?> -</form> - + <input type="hidden" name="listOfItems" value=""> + <!-- para la zona de administración --> + <input type="hidden" name="opcioncrear" value=""> + <P align=center class=cabeceras><?php echo $TbMsg[42]; ?><BR> + <span align=center class=subcabeceras> <?php echo $nombreambito; ?> </span> +<TABLE align=center border=1 cellPadding=1 cellSpacing=1 class=tabla_datos > +<TR valign="bottom"><TD colspan="100%" align="left" nowrap> </TD></TR> <tr> <?php -if (! empty($modo)) -{?> -<td valign="top"> -<?php include_once("./boot_grub4dos_tabla.php");?> -</td> -<?php }?> -<form name="myForm" method="post" action="../gestores/gestor_pxe_grub4dos.php?idaula=<?php echo $idambito ?>&nombreambito=<?php echo $nombreambito?>&litambito=<?php echo $litambito?>" > +// Si el modo no está vacio estamos en la parte de administración +// Incluyo un a primera columna con las opciones crear, modificar,... +if (! empty($modo)) include_once("./boot_grub4dos_tabla.php"); +?> - <P align=center class=cabeceras><?php echo $TbMsg[42]; ?><BR> - <span align=center class=subcabeceras> <?php echo $nombreambito; ?> </span> <?php ///////////////////////////////////////////////// if (!empty($_SESSION["widcentro"])){ ?> <input type="submit" value=<?php echo $TbMsg[43]; ?> name="saveButton" onclick="allSelect()"></P> @@ -118,15 +104,12 @@ if (! empty($modo)) } ?> -<input type="hidden" name="listOfItems" value=""> -<?php -?> <!-- primer file, nombre de las equipos por pxe hace falta <td> </td>--> -<td width="80"> +<td width="80" id='ogLive'> <!-- <a href="./muestramenu.php?labelmenu=pxe"> OGlive </a><br> pxe <br> --> <?php //Leer fichero pxe -$description=exec("awk 'NR==1 {print $2}' ".$dirtemplates."pxe");//$text=trim($text); +$description=exec("awk 'NR==1 {print $2}' ".$dirtemplatesbios."pxe"); ?> <br><?php echo $description;?> <br><br> <select multiple size="28" name="Lpxe" id="Lpxe"> @@ -151,15 +134,22 @@ if (!empty($_SESSION["widcentro"])) // //mostrar los datos -for($i=0; $i<count($pn); $i++) - {//for +for($i=0; $i<count($pn); $i++) { + $nocomun=""; + $description=exec("awk 'NR==1 {print $2}' ".$dirtemplatesbios.$pn[$i]); + // Si la plantilla no es comun, definimos si es bios o uefi + if ( ! in_array($pn[$i],$pncomun)) { + $nocomun= ($description === "") ? "(uefi)" : "(bios)"; + } + // Si la descripción está vacía consultamos las plantillas uefi + if ($description == "") $description=exec("awk 'NR==1 {print $2}' ".$dirtemplatesuefi.$pn[$i]); + if ($pn[$i]==$desconocido) {$listadopxe=listadesconocido($cmd,$desconocido,$seleccion); - if ($existe==""){}else{ - - $description=exec("awk 'NR==1 {print $2}' ".$dirtemplates.$pn[$i]); //$text=trim($text); + // Solo lo mostramos si existen aquipos no asignados. + if (isset($existe)){ echo "<td></td>"; - echo "<td> <font color=red>"; + echo "<td><font id='$description' color=red>"; echo $description; echo " <br>"; echo "<input type='button' onClick='move(this.form.L" . $pn[$i] . ",this.form.Lpxe)' value='OUT' style='height: 25px; width: 50px' >"; @@ -168,23 +158,16 @@ for($i=0; $i<count($pn); $i++) echo "<select multiple size='28' name='L" . $pn[$i] . "' >"; $listadopxe=""; $desconocido="00unknown"; - if ($pn[$i]==$desconocido) - { - $listadopxe=listaequipos($cmd,$desconocido,$seleccion); - echo $listadopxe; - }else{ - $listadopxe=listaequipos($cmd,$pn[$i],$seleccion); - echo $listadopxe; - } - echo "</select>"; - echo "</td>"; - } + $listadopxe=listaequipos($cmd,$pn[$i],$seleccion); + echo $listadopxe; + echo "</select>"; + echo "</td>"; + } - }else{ - $description=exec("awk 'NR==1 {print $2}' ".$dirtemplates.$pn[$i]); //$text=trim($text); - echo "<td></td>"; - echo "<td> "; - echo $description; + } else { + echo "<td></td>\n"; + echo "<td id='$description'> "; + echo $description ." ". $nocomun; echo " <br>"; echo "<input type='button' onClick='move(this.form.L" . $pn[$i] . ",this.form.Lpxe)' value='OUT' style='height: 25px; width: 50px' >"; echo "<input type='button' onClick='move(this.form.Lpxe,this.form.L" . $pn[$i] .")' value='IN' style='height: 25px; width: 35px' >"; @@ -192,25 +175,28 @@ for($i=0; $i<count($pn); $i++) echo "<select multiple size='28' name='L" . $pn[$i] . "' >"; $listadopxe=""; $desconocido="00unknown"; -/////////////////////////////////////////////////////////////// -if (!empty($_SESSION["widcentro"])) -{ - if ($pn[$i]==$desconocido) + /////////////////////////////////////////////////////////////// + if (!empty($_SESSION["widcentro"])) { - $listadopxe=listaequipos($cmd,$desconocido,$seleccion); - echo $listadopxe; - }else{ - $listadopxe=listaequipos($cmd,$pn[$i],$seleccion); - echo $listadopxe; - } -} -//////////////////////////////////////////////////////////////// + $listadopxe=listaequipos($cmd,$pn[$i],$seleccion); + echo $listadopxe; + } + //////////////////////////////////////////////////////////////// echo "</select>"; echo "</td>"; - }//Primer if - }//for + }//Primer if +}//for //##agp +?> +</tr> +<tr><th colspan="<?php echo (2*$column) ?>"><?php echo $TbMsg["UEFI"]; ?></th></tr> +</table> +</form> +</body> +</html> + +<?php // 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) { @@ -245,16 +231,3 @@ $existe= $rs->campos["nombreordenador"]; } $rs->Cerrar(); } - - -?> -</form> -</tr> - - - -</table> - - -</body> -</html> |