source: admin/WebConsole/principal/boot_grub4dos.php @ 5d05b06

Last change on this file since 5d05b06 was 3aadac3b, checked in by OpenGnSys Support Team <soporte-og@…>, 5 years ago

#980 Update POST /mode to the new ogServer API

This patch selects the machines whose modes need to be changed using the
client's IP rather than their scope names.

  • Property mode set to 100644
File size: 7.9 KB
RevLine 
[8c2a78c]1<?php
[1c74bf5]2// Version 1.1.1 - Muestra las plantillas tipo BIOS y UEFI. Se incluyen algunos id para pasar los datos necesarios a serclientmode (#802).
3// Autor: Irina Gomez - ETSII Universidad de Sevilla.
4// Fecha: 2019/02/12
5
[8c2a78c]6include_once("../includes/ctrlacc.php");
7include_once("../clases/AdoPhp.php");
8include_once("../includes/CreaComando.php");
9include_once("../idiomas/php/".$idioma."/boot_grub4dos_".$idioma.".php");
10
11$cmd=CreaComando($cadenaconexion);
12if (!$cmd)
13        Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
14//________________________________________________________________________________________________________
15
16$litambito=0;
17$idambito=0;
18$nombreambito="";
19$opcion=0;
20$modo="";
[1c74bf5]21if (isset($_REQUEST["litambito"])) $litambito=$_REQUEST["litambito"]; // Recoge parametros
22if (isset($_REQUEST["idambito"])) $idambito=$_REQUEST["idambito"];
23if (isset($_REQUEST["nombreambito"])) $nombreambito=$_REQUEST["nombreambito"];
24if (isset($_REQUEST["opcion"])) $opcion=$_REQUEST["opcion"];
25if (isset($_REQUEST["modo"])) $modo=$_REQUEST["modo"];
26if (empty($_SESSION["widcentro"])) $modo=1;
[8c2a78c]27
28switch($litambito){
29        case "aulas":
30                $seleccion="and idaula=" .  $idambito ."";
31                break;
32        case "gruposordenadores":
33                $seleccion= "and grupoid=" .  $idambito . "";
[b3c0768]34                break;
[8c88e08]35        default:
36                $seleccion="";
[8c2a78c]37        break;
38}
[1c74bf5]39
[8c2a78c]40//#########################################################################
41// LEYENDO EL DIRECTORIO
[1c74bf5]42// /var/lib/tftboot/menu.lst/templates y /var/lib/tftpboot/grub/templates/
[8c2a78c]43//#########################################################################
[1c74bf5]44// Leer nombres de ficheros plantillas bios
45$dirtemplatesbios="/var/lib/tftpboot/menu.lst/templates/";
46chdir($dirtemplatesbios);
47$pnbios=glob("*");
48
49// Leer nombres de ficheros plantillas uefi
50$dirtemplatesuefi="/var/lib/tftpboot/grub/templates/";
51chdir($dirtemplatesuefi);
52$pnuefi=glob("*");
53
54// Unimos las plantillas y eliminamos repetidos
55$pn=array_unique(array_merge($pnbios,$pnuefi));
56
[8c88e08]57// Numero columnas
58$column=count($pn);
59
60// Plantilla en los dos directorios
61$pncomun=array_intersect($pnbios,$pnuefi);
62
63// quitar plantilla "pxe".
[1555686]64unset($pn[array_search("pxe", $pn)]);
65sort($pn);
66chdir(__DIR__);
[8c2a78c]67
68
69?>
70<html>
71<head>
[1c74bf5]72<TITLE>Administración web de aulas</TITLE>
[8c2a78c]73<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
74        <LINK rel="stylesheet" type="text/css" href="../estilos.css">
75        <SCRIPT language="javascript" src="../jscripts/propiedades_aulas.js"></SCRIPT>
76        <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT>
77        <SCRIPT language="javascript" src="../jscripts/boot_grub4dos.js"></SCRIPT>
[1c74bf5]78        <SCRIPT language="javascript" src="../idiomas/javascripts/esp/propiedades_aulas_esp.js"></SCRIPT>
[8c2a78c]79</head>
80<body>
[8c88e08]81<form name="modoadmin" id="modoadmin" method="post" action="../gestores/gestor_pxe_grub4dos.php">
[043e67d]82                <input type="hidden" name="litambito" value="<?php echo $litambito?>">
83                <input type="hidden" name="idambito" value="<?php echo $idambito?>">
84                <input type="hidden" name="nombreambito" value="<?php echo $nombreambito?>">
85                <input type="hidden" name="opcion" value="<?php echo $opcion?>">
[8c88e08]86                <input type="hidden" name="listOfItems" value="">
87                <!-- para la zona de administración -->
88                <input type="hidden" name="opcioncrear" value="">
89        <P align=center class=cabeceras><?php echo $TbMsg[42]; ?><BR>
90        <span align=center class=subcabeceras>&nbsp; <?php echo $nombreambito; ?> </span>
91<TABLE  align=center border=1 cellPadding=1 cellSpacing=1 class=tabla_datos >
92<TR valign="bottom"><TD colspan="100%" align="left" nowrap>&nbsp;
[8c2a78c]93</TD></TR>
94<tr>
95<?php
[1c74bf5]96// Si el modo no está vacio estamos en la parte de administración
97// Incluyo un a primera columna con las opciones crear, modificar,...
98if (! empty($modo)) include_once("./boot_grub4dos_tabla.php");
99?>
[8c2a78c]100
101<?php /////////////////////////////////////////////////
102 if (!empty($_SESSION["widcentro"])){ ?>
103        <input type="submit" value=<?php echo $TbMsg[43]; ?> name="saveButton"  onclick="allSelect()"></P>
104<?php /////////////////////////////////////////////////
105 } ?>
106
107
108<!-- primer file, nombre de las equipos por pxe hace falta  <td>  </td>-->
[1c74bf5]109<td width="80" id='ogLive'>
[8c2a78c]110 <!-- <a href="./muestramenu.php?labelmenu=pxe">  OGlive </a><br> pxe <br> -->
111<?php
112//Leer fichero pxe
[1c74bf5]113$description=exec("awk 'NR==1 {print $2}' ".$dirtemplatesbios."pxe");
[8c2a78c]114?>
115<br><?php echo $description;?> <br><br>
116<select multiple size="28" name="Lpxe" id="Lpxe">
117
118<?php
119#### listado de equipos con menu pxe
120$menupxe="pxe";
121//////////////////////////////////////////////////
122if (!empty($_SESSION["widcentro"]))
123//////////////////////////////////////////////////
124{
125        $listadopxe=listaequipos($cmd,$menupxe,$seleccion);
126        echo $listadopxe;
127}
128?>
129</select>
130</td>
131<?php
132//##agp
133    //$listadopxe="";
134    $desconocido="00unknown";
135//
136
137//mostrar los datos
[1c74bf5]138for($i=0; $i<count($pn); $i++) {
[8c88e08]139    $nocomun="";
[1c74bf5]140    $description=exec("awk 'NR==1 {print $2}' ".$dirtemplatesbios.$pn[$i]);
[8c88e08]141    // Si la plantilla no es comun, definimos si es bios o uefi
[ee0a327]142    if ( ! in_array($pn[$i],$pncomun)) {
[8c88e08]143        $nocomun= ($description === "") ? "(uefi)" : "(bios)";
144    }
[1c74bf5]145    // Si la descripción está vacía consultamos las plantillas uefi
146    if ($description == "") $description=exec("awk 'NR==1 {print $2}' ".$dirtemplatesuefi.$pn[$i]);
147
[8c2a78c]148    if ($pn[$i]==$desconocido)
149        {$listadopxe=listadesconocido($cmd,$desconocido,$seleccion);
[8c88e08]150                // Solo lo mostramos si existen aquipos no asignados.
151                if (isset($existe)){
[8c2a78c]152                        echo "<td></td>";
[178c3f6]153                        echo "<td><font id='$description' color=red>";
[8c2a78c]154                        echo $description;
155                        echo " <br>";
156                        echo "<input type='button' onClick='move(this.form.L" . $pn[$i] . ",this.form.Lpxe)' value='OUT' style='height: 25px; width: 50px' >";
157                        echo "<input type='button' onClick='move(this.form.Lpxe,this.form.L" . $pn[$i] .")' value='IN' style='height: 25px; width: 35px' >";
158                        echo " <br>";
159                        echo "<select multiple size='28' name='L" . $pn[$i] . "' >";
160                        $listadopxe="";
161                        $desconocido="00unknown";
[1c74bf5]162                        $listadopxe=listaequipos($cmd,$pn[$i],$seleccion);
163                        echo $listadopxe;
164                        echo "</select>";
165                        echo "</td>";
166                }
[8c2a78c]167
[1c74bf5]168    } else {
169        echo "<td></td>\n";
170        echo "<td id='$description'> ";
[8c88e08]171        echo $description ." ". $nocomun;
[8c2a78c]172        echo " <br>";
173           echo "<input type='button' onClick='move(this.form.L" . $pn[$i] . ",this.form.Lpxe)' value='OUT' style='height: 25px; width: 50px' >";
174        echo "<input type='button' onClick='move(this.form.Lpxe,this.form.L" . $pn[$i] .")' value='IN' style='height: 25px; width: 35px' >";
175        echo " <br>";
176        echo "<select multiple size='28' name='L" . $pn[$i] . "' >";
177        $listadopxe="";
178        $desconocido="00unknown";
[1c74bf5]179        ///////////////////////////////////////////////////////////////
180        if (!empty($_SESSION["widcentro"]))
[8c2a78c]181        {
[1c74bf5]182                $listadopxe=listaequipos($cmd,$pn[$i],$seleccion);
183                echo $listadopxe;
184        }
185        ////////////////////////////////////////////////////////////////
[8c2a78c]186        echo "</select>";
187        echo "</td>";
[1c74bf5]188    }//Primer if
189}//for
[8c2a78c]190//##agp
[1c74bf5]191?>
192</tr>
[8c88e08]193<tr><th colspan="<?php echo (2*$column) ?>"><?php echo $TbMsg["UEFI"]; ?></th></tr>
[1c74bf5]194</table>
[8c88e08]195</form>
[1c74bf5]196
197</body>
198</html>
[8c2a78c]199
[1c74bf5]200<?php
[8c2a78c]201// esta funcion genera los elementos de un select(formulario html) donde aparecen los nombres de los ordenadores, según su menu pxe
202function listaequipos($cmd,$menupxe,$seleccion)
203{
[3aadac3b]204$cmd->texto="SELECT  ip, nombreordenador
[8c2a78c]205                FROM ordenadores
206                WHERE arranque='" . $menupxe ."' " . $seleccion;
207$rs=new Recordset;
208$rs->Comando=&$cmd;
209if (!$rs->Abrir()) echo "error";
210$rs->Primero();
211while (!$rs->EOF)
212{
[3aadac3b]213        echo "<option value='".$rs->campos["ip"]."'>".$rs->campos["nombreordenador"]."</option>";
[8c2a78c]214        $rs->Siguiente();
215}
216$rs->Cerrar();
217}
218
219// esta funcion genera los elementos de un select(formulario html) donde aparecen los nombres de los ordenadores, según su menu pxe
220function listadesconocido($cmd,$desconocido,$seleccion)
221{
222global $existe;
223$cmd->texto="SELECT * FROM ordenadores where arranque='" . $desconocido ."' " . $seleccion;
224$rs=new Recordset;
225$rs->Comando=&$cmd;
226if (!$rs->Abrir()) echo "error";
227$rs->Primero();
228while (!$rs->EOF)
229{
230$existe= $rs->campos["nombreordenador"];
231        $rs->Siguiente();
232}
233$rs->Cerrar();
234}
Note: See TracBrowser for help on using the repository browser.