1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
<?php
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."/aulas_".$idioma.".php");
$cmd=CreaComando($cadenaconexion);
if (!$cmd)
Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
//________________________________________________________________________________________________________
echo "<html>";
echo "<head>";
echo "<meta http-equiv='Refresh' content='1;URL=../principal/boot.php?idambito=". $_GET['idaula'] ."&nombreambito=" . $_GET['nombreambito'] . "&litambito=" . $_GET['litambito'] . "'>";
echo "<title> gestion de equipos </title>";
echo "<base target='principal'>";
echo "</head>";
echo "<body>";
#echo('litambito con valor: '. $_GET['litambito']);
#echo ('idambito con valor: ' . $_GET['idaula']);
#echo ('nombreambito con valor: ' . $_GET['nombreambito']);
$lista = explode(";",$_POST['listOfItems']);
foreach ($lista as $sublista) {
$elementos = explode("|",$sublista);
$hostname=$elementos[1];
$optboot=$elementos[0];
ogBootServer($cmd,$optboot,$hostname);
}
echo " </body>";
echo " </html> ";
function ogBootServer($cmd,$optboot,$hostname)
{
global $cmd;
global $hostname;
global $optboot;
global $retrun;
$return="\n";
$cmd->CreaParametro("@optboot",$optboot,0);
$cmd->CreaParametro("@hostname",$hostname,0);
$cmd->texto="update ordenadores set arranque=@optboot where nombreordenador=@hostname";
$cmd->Ejecutar();
$cmd->texto="SELECT ordenadores.ip AS ip, ordenadores.mac AS mac,
ordenadores.netiface AS netiface, aulas.netmask AS netmask, aulas.router AS router,
repositorios.ip AS iprepo FROM ordenadores
join aulas on ordenadores.idaula=aulas.idaula
join repositorios on ordenadores.idrepositorio=repositorios.idrepositorio
where ordenadores.nombreordenador='". $hostname ."'";
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir()) echo "error";
$rs->Primero();
$mac=$rs->campos["mac"];
$netiface=$rs->campos["netiface"];
$ip=$rs->campos["ip"];
$router=$rs->campos["router"];
$netmask=$rs->campos["netmask"];
$repo=$rs->campos["iprepo"];
$infohost="ip="
. $ip . ":"
. $repo .":"
. $router . ":"
. $netmask .":"
. $hostname .":"
. $netiface . ":none"; # repo="
#. $repo;
$rs->Cerrar();
###################obtenemos las variables de red del aula.
#02.1 obtenemos nombre fichero mac
$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);
$macfile="01-" . str_replace(":","-",strtoupper($mac));
$nombre_archivo="/var/lib/tftpboot/menu.lst/" . $macfile;
#controlar optboot
#exec("cp /var/lib/tftpboot/menu.lst/templates/". $optboot . " /var/lib/tftpboot/menu.lst/". $macfile);
exec("sed s/INFOHOST/".$infohost."/g /var/lib/tftpboot/menu.lst/templates/" . $optboot . " > /var/lib/tftpboot/menu.lst/" . $macfile);
exec("chown www-data:www-data /var/lib/tftpboot/menu.lst/". $macfile);
exec("chmod 777 /var/lib/tftpboot/menu.lst/". $macfile);
}
function netmask2cidr($netmask) {
$cidr = 0;
foreach (explode('.', $netmask) as $number) {
for (;$number> 0; $number = ($number <<1) % 256) {
$cidr++;
}
}
return $cidr;
}
?>
|