summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/principal/boot_grub4dos.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/WebConsole/principal/boot_grub4dos.php')
-rw-r--r--admin/WebConsole/principal/boot_grub4dos.php205
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>&nbsp; <?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>&nbsp;
</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>