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

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-instalacionwebconsole3
Last change on this file since ea4319c was fa4129c, checked in by ramon <ramongomez@…>, 14 years ago

Versión 1.0.2: incluir gestión de grupos de ordenadores en consola web (modifica #427).

git-svn-id: https://opengnsys.es/svn/branches/version1.0@2346 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 4.1 KB
Line 
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];
37        ogBootServer($cmd,$optboot,$hostname);
38}
39echo " </body>";
40echo " </html> ";
41
42function ogBootServer($cmd,$optboot,$hostname)
43{       
44global $cmd;
45global $hostname;
46global $optboot;
47global $retrun;
48$return="\n";
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
54$cmd->texto="SELECT ordenadores.ip AS ip, ordenadores.mac AS mac,
55                        ordenadores.netiface AS netiface, aulas.netmask AS netmask,
56                        aulas.router AS router, repositorios.ip AS iprepo,
57                        aulas.nombreaula AS grupo
58                        FROM ordenadores
59                        JOIN aulas ON ordenadores.idaula=aulas.idaula
60                        JOIN repositorios ON ordenadores.idrepositorio=repositorios.idrepositorio
61                        WHERE ordenadores.nombreordenador='". $hostname ."'";
62$rs=new Recordset;
63$rs->Comando=&$cmd;
64if (!$rs->Abrir()) echo "error";
65$rs->Primero();
66        $mac=$rs->campos["mac"];
67        $netiface=$rs->campos["netiface"];
68        $ip=$rs->campos["ip"];
69        $router=$rs->campos["router"];
70        $netmask=$rs->campos["netmask"];
71        $repo=$rs->campos["iprepo"];                   
72        $group=cleanString($rs->campos["grupo"]);
73$rs->Cerrar();
74
75$cmd->texto="SELECT ipserveradm FROM entornos";
76$rs=new Recordset;
77$rs->Comando=&$cmd;
78if (!$rs->Abrir()) echo "error";
79
80$rs->Primero();
81        $server=$rs->campos["ipserveradm"];
82$rs->Cerrar();
83
84$infohost="'ip=$ip:$server:$router:$netmask:$hostname:$netiface:none" .
85          " group=$group" .
86          " ogrepo=$repo" .
87          " oglive=$repo" .
88          " oglog=$server" .
89          " ogshare=$server'";
90
91
92###################obtenemos las variables de red del aula.
93
94        #02.1 obtenemos nombre fichero mac
95        $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);
96        $macfile="01-" . str_replace(":","-",strtoupper($mac));
97        $nombre_archivo="/var/lib/tftpboot/menu.lst/" . $macfile;
98
99#controlar optboot
100
101        #exec("cp /var/lib/tftpboot/menu.lst/templates/". $optboot . " /var/lib/tftpboot/menu.lst/". $macfile);
102        exec("sed s/INFOHOST/".$infohost."/g /var/lib/tftpboot/menu.lst/templates/" . $optboot . " > /var/lib/tftpboot/menu.lst/" . $macfile);
103        exec("chown www-data:www-data /var/lib/tftpboot/menu.lst/". $macfile);
104        exec("chmod 777 /var/lib/tftpboot/menu.lst/". $macfile);
105       
106
107
108
109}
110
111function netmask2cidr($netmask) {
112          $cidr = 0;
113          foreach (explode('.', $netmask) as $number) {
114              for (;$number> 0; $number = ($number <<1) % 256) {
115                  $cidr++;
116               }
117           }
118           return $cidr;
119 }
120
121// Sustituye espacio por "_" y quita acentos y tildes.
122function cleanString ($cadena) {
123        $patron = array ('/ /','/á/','/é/','/í/','/ó/','/ú/','/ñ/','/Á/','/É/','/Í/','/Ó/','/Ú/','/Ñ/');
124        $reemplazo = array ('_','a','e','i','o','u','n','A','E','I','O','U','N');
125        return  preg_replace($patron,$reemplazo,$cadena);
126}
127
128?>
Note: See TracBrowser for help on using the repository browser.