source: admin/WebConsole/principal/boot_grub4dos.php @ 560358b

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacion
Last change on this file since 560358b was 831de70, checked in by Irina Gómez <irinagomez@…>, 6 years ago

#802 #888 When the computer or repo propierties change, the console regenerate the PXE files for bios and uefi.

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