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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
<?php
//importando nuestras las referencias XAJAX
require ("xajax.common.php");
//funcion que lista las Particiones segun la IP elegida
function ListarOrigenMaster($ip){
include_once("../includes/ctrlacc.php");
include_once("../clases/AdoPhp.php");
include_once("../includes/constantes.php");
include_once("../includes/comunes.php");
include_once("../includes/CreaComando.php");
include_once("../includes/HTMLSELECT.php");
//instanciamos el objeto para la respuesta AJAX
$objResponse = new xajaxResponse();
$SelectHtml=" ";
$SelectHtml='<select name="source"> ';
$cmd=CreaComando($cadenaconexion);
$rs=new Recordset;
//Primera consulta: Particiones del MASTER potencialmente clonables.
$cmd->texto='SELECT ordenadores_particiones.numdisk as DISK,ordenadores_particiones.numpar as PART,nombresos.nombreso as OS
FROM ordenadores_particiones INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
INNER JOIN nombresos ON ordenadores_particiones.idnombreso=nombresos.idnombreso
INNER JOIN ordenadores ON ordenadores_particiones.idordenador=ordenadores.idordenador
WHERE ordenadores.ip="' .$ip . '"
AND tipospar.clonable>0
AND ordenadores_particiones.idnombreso>0
ORDER BY ordenadores_particiones.numdisk,ordenadores_particiones.numpar';
$rs->Comando=&$cmd;
if ($rs->Abrir()){
$cantRegistros=$rs->numeroderegistros;
if($cantRegistros>0){
$rs->Primero();
while (!$rs->EOF){
$SelectHtml.='<OPTION value=" '.$rs->campos["DISK"].' '.$rs->campos["PART"].'"';
$SelectHtml.='>';
$SelectHtml.='DISK '.$rs->campos["DISK"].',PART '.$rs->campos["PART"].': '. $rs->campos["OS"].'</OPTION>';
$rs->Siguiente();
}
}
else
{
$objResponse->alert("No partion found in this host for use it to cloning other computers.");
}
$rs->Cerrar();
}
//Segunda consulta: Imagenes del MASTER registradas como si fuese un repo.
# $cmd->texto='SELECT *,repositorios.ip as iprepositorio FROM imagenes
#INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio
#where repositorios.ip="' .$ip .'"';
$cmd->texto='select cache from ordenadores_particiones where codpar = 202 and idordenador = (SELECT idordenador from ordenadores where ip="' .$ip . '")';
$rs->Comando=&$cmd;
if ($rs->Abrir()){
$cantRegistros=$rs->numeroderegistros;
if($cantRegistros>0){
$rs->Primero();
while (!$rs->EOF){
$files = explode(",", $rs->campos["cache"]);
foreach ($files as $file) {
if ( preg_match ( "/img$/", $file ) ) {
$imgname = rtrim($file, ".img");
$SelectHtml.='<OPTION value=" CACHE /'.ltrim($imgname).'"';
$SelectHtml.='>';
$SelectHtml.='IMG-CACHE: ' . ltrim($imgname).'</OPTION>';
}
}
$rs->Siguiente();
}
}
else
{
$objResponse->alert("No image found in CACHE in this host for use it to cloning other compuers.");
}
$rs->Cerrar();
}
//Tercera consulta: Imagenes del REPO, que el MASTER se encargara de enivarlas
$cmd->texto='SELECT *,repositorios.ip as iprepositorio FROM imagenes
INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio
where repositorios.idrepositorio=(select idrepositorio from ordenadores where ordenadores.ip="' .$ip .'") ORDER BY imagenes.descripcion';
$rs->Comando=&$cmd;
if ($rs->Abrir()){
$cantRegistros=$rs->numeroderegistros;
if($cantRegistros>0){
$rs->Primero();
while (!$rs->EOF){
$SelectHtml.='<OPTION value=" REPO /'.$rs->campos["nombreca"].'"';
$SelectHtml.='>';
$SelectHtml.='IMG-REPO: ' . $rs->campos["descripcion"].'</OPTION>';
$rs->Siguiente();
}
}
else
{
$objResponse->alert("No image found in REPO from this host for use it to cloning other computers.");
}
$rs->Cerrar();
}
$SelectHtml.= '</SELECT>';
//asignando el contenido de la varabiale $SelectHTML al div que esta en la paquina inicial
$objResponse->assign("divListado","innerHTML",$SelectHtml);
return $objResponse; //retornamos la respuesta AJAX
}
$xajax->processRequest(); //procesando cualquier peticion AJAX
?>
|