source: admin/WebConsole/gestores/gestor_pxe_grub4dos.php @ b2aae05

Last change on this file since b2aae05 was d0df50b6, checked in by ramon <ramongomez@…>, 13 years ago

Versión 1.0.4, #531: Integrar versión 1.0.4 en rama principal.

git-svn-id: https://opengnsys.es/svn/trunk@3259 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 4.5 KB
RevLine 
[8b2dce81]1<?php
2include_once("../includes/ctrlacc.php");
3include_once("../clases/AdoPhp.php");
4include_once("../clases/XmlPhp.php");
5include_once("../clases/MenuContextual.php");
6include_once("../clases/SockHidra.php");
7include_once("../includes/constantes.php");
8include_once("../includes/comunes.php");
9include_once("../includes/CreaComando.php");
10include_once("../idiomas/php/".$idioma."/aulas_".$idioma.".php");
11
12$cmd=CreaComando($cadenaconexion);
13if (!$cmd)
14        Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
15//________________________________________________________________________________________________________
16
17
18echo "<html>";
19echo "<head>";
20echo "<meta http-equiv='Refresh' content='1;URL=../principal/boot.php?idambito=". $_GET['idaula'] ."&nombreambito=" . $_GET['nombreambito'] . "&litambito=" . $_GET['litambito'] . "'>";
21echo "<title> gestion de equipos </title>";
22echo "<base target='principal'>";
23echo "</head>";
24echo "<body>";
25
26
27
28#echo('litambito con valor:     '. $_GET['litambito']);
29#echo ('idambito con valor:      ' . $_GET['idaula']);
30#echo ('nombreambito con valor:      ' . $_GET['nombreambito']);
31
32$lista = explode(";",$_POST['listOfItems']);
33foreach ($lista as $sublista) {
34        $elementos = explode("|",$sublista);
35        $hostname=$elementos[1];
36        $optboot=$elementos[0];
[91aaf03]37        ogBootServer($cmd,$optboot,$hostname,$idioma);
[8b2dce81]38}
39echo " </body>";
40echo " </html> ";
41
[91aaf03]42function ogBootServer($cmd,$optboot,$hostname,$idioma)
[8b2dce81]43{       
44global $cmd;
45global $hostname;
46global $optboot;
[095d193]47global $retrun;
48$return="\n";
[8b2dce81]49$cmd->CreaParametro("@optboot",$optboot,0);
50$cmd->CreaParametro("@hostname",$hostname,0);
51$cmd->texto="update ordenadores set arranque=@optboot where nombreordenador=@hostname";
52$cmd->Ejecutar();
53$cmd->texto="SELECT ordenadores.ip AS ip, ordenadores.mac AS mac,
[71643c0]54                        ordenadores.netiface AS netiface, aulas.netmask AS netmask,
55                        aulas.router AS router, repositorios.ip AS iprepo,
[d0df50b6]56                        aulas.nombreaula AS grupo,
57                        menus.resolucion AS vga,
58                        perfileshard.winboot AS winboot
[71643c0]59                        FROM ordenadores
60                        JOIN aulas ON ordenadores.idaula=aulas.idaula
61                        JOIN repositorios ON ordenadores.idrepositorio=repositorios.idrepositorio
[d0df50b6]62                        LEFT JOIN menus ON ordenadores.idmenu=menus.idmenu
63                        LEFT JOIN perfileshard ON ordenadores.idperfilhard=perfileshard.idperfilhard
64                        WHERE ordenadores.nombreordenador='". $hostname ."'";
65
66
[8b2dce81]67$rs=new Recordset;
68$rs->Comando=&$cmd;
69if (!$rs->Abrir()) echo "error";
70$rs->Primero();
71        $mac=$rs->campos["mac"];
72        $netiface=$rs->campos["netiface"];
73        $ip=$rs->campos["ip"];
74        $router=$rs->campos["router"];
75        $netmask=$rs->campos["netmask"];
76        $repo=$rs->campos["iprepo"];                   
[71643c0]77        $group=cleanString($rs->campos["grupo"]);
[d0df50b6]78        if($rs->campos["vga"]== null || $rs->campos["vga"]== 0)
79                $vga="788";
80        else
81                $vga=$rs->campos["vga"];
82        $winboot=$rs->campos["winboot"];
83
[8b2dce81]84$rs->Cerrar();
85
[71643c0]86$cmd->texto="SELECT ipserveradm FROM entornos";
87$rs=new Recordset;
88$rs->Comando=&$cmd;
89if (!$rs->Abrir()) echo "error";
90
91$rs->Primero();
92        $server=$rs->campos["ipserveradm"];
93$rs->Cerrar();
94
[91aaf03]95
96switch ($idioma) {
97    case eng:
98        $idioma=en_GB;
99        break;
100    case esp:
101        $idioma=es_ES;
102        break;
103    case cat:
104        $idioma=ca_ES;
105        break;
106}
107
108
[d0df50b6]109$infohost=" vga=$vga".
110          " LANG=$idioma".
111          " ip=$ip:$server:$router:$netmask:$hostname:$netiface:none" .
[71643c0]112          " group=$group" .
113          " ogrepo=$repo" .
114          " oglive=$repo" .
115          " oglog=$server" .
[d0df50b6]116          " ogshare=$server";
117if (! empty ($winboot)) {
118          $infohost.=" winboot=$winboot";
119}
[71643c0]120
[8b2dce81]121###################obtenemos las variables de red del aula.
122
[d0df50b6]123#02.1 obtenemos nombre fichero mac
124$pxedir="/opt/opengnsys/tftpboot/menu.lst";
125$mac=  substr($mac,0,2) . ":" . substr($mac,2,2) . ":" . substr($mac,4,2) . ":" . substr($mac,6,2) . ":" . substr($mac,8,2) . ":" . substr($mac,10,2);
126$macfile="$pxedir/01-" . str_replace(":","-",strtoupper($mac));
[8b2dce81]127
[ecd8d9a]128#controlar optboot
[8b2dce81]129
[d0df50b6]130exec("sed -e 's/vga=...//g' -e 's/INFOHOST/$infohost/g' $pxedir/templates/$optboot > $macfile");
131exec("chmod 777 $macfile");
[8b2dce81]132}
133
[d0df50b6]134
[8b2dce81]135function netmask2cidr($netmask) {
136          $cidr = 0;
137          foreach (explode('.', $netmask) as $number) {
138              for (;$number> 0; $number = ($number <<1) % 256) {
139                  $cidr++;
140               }
141           }
142           return $cidr;
[d0df50b6]143}
[8b2dce81]144
[71643c0]145// Sustituye espacio por "_" y quita acentos y tildes.
146function cleanString ($cadena) {
147        $patron = array ('/ /','/á/','/é/','/í/','/ó/','/ú/','/ñ/','/Á/','/É/','/Í/','/Ó/','/Ú/','/Ñ/');
148        $reemplazo = array ('_','a','e','i','o','u','n','A','E','I','O','U','N');
149        return  preg_replace($patron,$reemplazo,$cadena);
150}
151
152?>
[d0df50b6]153
Note: See TracBrowser for help on using the repository browser.