summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/comandos/jscripts/RestaurarImagen.js
blob: 367052361859d66af1ce22139242b7da89909c22 (plain)
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
// *************************************************************************************************************************************************
// Libreria de scripts de Javascript
// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
// Fecha Creación: 2009-2010
// Fecha Última modificación: Agosto-2010
// Nombre del fichero: RestaurarImagen.js
// Descripción : 
//		Este fichero implementa las funciones javascript del fichero RestaurarImagen.php (Comandos)
// *************************************************************************************************************************************************
 function confirmar(){
	if(comprobar_datos()){
		var RC="@";
		// UHU - Ahora puede ser cualquier disco
		var disco;
		var numequipos;
		var atributos="";
		var tb_conf=document.getElementById("tabla_conf");
		var ochecks=tb_conf.getElementsByTagName('INPUT');
		for(var i=0;i<ochecks.length;i++){
			if(ochecks[i].checked){
				var idradio=ochecks[i].id;
				var diskPart = ochecks[i].value.split(";");
				disco = diskPart[0];
				var numpar=	diskPart[1];
				atributos+="dsk="+disco+RC;	// Numero de disco
				atributos+="par="+numpar+RC; // Número de partición
				var despleimagenizda=document.getElementById("despleimagen_"+idradio+"_1");
				var despleimagendrcha=document.getElementById("despleimagen_"+idradio+"_0");
				var despleimagen;
				
				var protoclonacion=document.getElementById("protoclonacion_"+idradio);
				
				if(despleimagenizda.selectedIndex>0) despleimagen=despleimagenizda;
				if(despleimagendrcha.selectedIndex>0) despleimagen=despleimagendrcha;
				var imgcanrepo=despleimagen.value.split("_");
				atributos+="idi="+imgcanrepo[0]+RC; // Identificador de la imagen
				atributos+="nci="+imgcanrepo[1]+RC;	// Nombre canónico	
				atributos+="ipr="+imgcanrepo[2]+RC;	// Ip del repositorio donde está alojada	
				atributos+="ifs="+imgcanrepo[3]+RC;	// Identificador del perfil soft contenido en la imagen				
				atributos+="ptc="+protoclonacion.value+RC; // Identificador del protocolo de clonación				
				document.fdatosejecucion.atributos.value=atributos;
				
				var cc=ochecks[i].getAttribute('idcfg'); // Toma identificador del bloque de configuración
				var tbOrd=document.getElementById("tbOrd_"+cc);			
				var iptabla=tbOrd.getAttribute('value'); // Toma identificadores de los ordenadores
				filtrado();
				var ipfiltro=document.fdatosejecucion.filtro.value;

				// Elimino los ordenadores del filtro que no estén en la tabla.
				if (ipfiltro!==''){
					var arraytabla = iptabla.split(",");
					var arrayfiltro =ipfiltro.split(";");
					arrayfiltro = array_interset (arrayfiltro.sort(), arraytabla.sort());
					ipfiltro = arrayfiltro.join(";");
					if (ipfiltro===''){
					        alert(TbMsg["FILTER"]);
					        return(false);
					}
					numequipos=arrayfiltro.length;
				}
				else {
					ipfiltro=iptabla.replace(/,/g, ";");
					numequipos=iptabla.split(",").length;
				}

				// Mensaje de aviso si protocolo UNICAST y más de un ordenador
				if ( ( protoclonacion.value==="UNICAST" || protoclonacion.value==="UNICAST-DIRECT") && numequipos > 1 ) {
					if (confirm(TbMsg["UNICAST"]) !== true) {
						cancelar();
						return(false);
					}
				}

				document.fdatosejecucion.filtro.value=ipfiltro;
				document.fdatosejecucion.submit();	
			}
		}
	}
 }
//________________________________________________________________________________________________________
  function cancelar(){
	alert(CTbMsg[0]);
	location.href="../nada.php"
  }
//________________________________________________________________________________________________________
  function comprobar_datos()
{
		var tb_conf=document.getElementById("tabla_conf");
		var ochecks=tb_conf.getElementsByTagName('INPUT');
		var op=0;
		for(var i=0;i<ochecks.length;i++){
			if(ochecks[i].checked){
				op++;
				var idradio=ochecks[i].id; // Toma idemtificador del desplegable de imagenes
				var despleimagenizda=document.getElementById("despleimagen_"+idradio+"_1"); // Desplegable izda.
				var despleimagendcha=document.getElementById("despleimagen_"+idradio+"_0"); // Desplegable derecha.
				
				var  p1=despleimagenizda.selectedIndex; // Toma índice seleccionado
				var  p2=despleimagendcha.selectedIndex; // Toma índice seleccionado

				if (p1===0 && p2===0){
						alert(TbMsg[0]);
						despleimagenizda.focus();
			      return(false)
				}
				if (p1===p2){
						alert(TbMsg[6]);
						despleimagenizda.focus();
			      return(false)
				}				
			}
		}
		if(op===0){
			   alert(TbMsg[1]);
			 return(false);
		}
		return(comprobar_datosejecucion())
}