summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/comandos/jscripts/Configurar.js
blob: d6261ee1eeacac9d1e6d934c7e49c4038d4b22c3 (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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
// *************************************************************************************************************************************************
//	Libreria de scripts de Javascript
// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
// Fecha Creación:2003-2004
// Fecha Última modificación: Marzo-2005
// Nombre del fichero: Configurar.js
// Descripción : 
//		Este fichero implementa las funciones javascript del fichero Configurar.php (Comandos)
// *************************************************************************************************************************************************
var patrontablaparticion;
var ultpa;
var currentconfiguracion=null;
var currentimgconfiguracion=null;
//________________________________________________________________________________________________________
 function confirmar(){
	if (comprobar_datos()){
		var cadenaip=document.fdatosocultos.cadenaip.value;
		var identificador=document.fdatosocultos.identificador.value;
		var nombrefuncion=document.fdatosocultos.nombrefuncion.value;
		var ejecutor=document.fdatosocultos.ejecutor.value;
		var tipotrama=document.fdatosocultos.tipotrama.value;
		var ambito=document.fdatosocultos.ambito.value;
		var idambito=document.fdatosocultos.idambito.value;
		var parametros="";
		var tagnuevasipes=document.fdatos.nuevasipes;
		if(tagnuevasipes.length>0)
			var nuevasipes=tagnuevasipes
		else{
			nuevasipes=new Array();
			nuevasipes[0]=tagnuevasipes
		}
		swenv=false
		for(var x=0;x<nuevasipes.length;x++){
				cadenaip=nuevasipes[x].value;
				var auxsplit=nuevasipes[x].getAttribute("id").split("_");
				var idconfiguracion=auxsplit[1]
				// Toma los datos de la tabla correspondiente a esa configuracion
				var oTABLE=document.getElementById("tb_particiones_"+idconfiguracion) 
				var oTRs=oTABLE.getElementsByTagName('TR') // Numero de particiones
				swenvio=oTABLE.value
				if(parseInt(swenvio)==0) continue; // Tabla  de particiones no modificada
				swenv=true
				var tbparticiones=new Array(9);
				for(var i=0;i<9;i++) tbparticiones[i]=null // Inicializa matriz
				for(var i=1;i<oTRs.length;i++){ // recorre TR's de las particiones
					if(oTRs[i].style.visibility=="hidden") continue
					var oTDs=oTRs[i].getElementsByTagName('TD') // Numero de particiones 
					var desplepar=oTDs[1].childNodes[0] // recupera el desplegable de particiones
					var despletipopar=oTDs[2].childNodes[0] // recupera el desplegable de tipo de accion
					var inputtama=oTDs[4].childNodes[0] // recupera el tama�
					var despleacc=oTDs[5].childNodes[0] // recupera el desplegable de accion
					var particion=desplepar.value
					var tipopart=despletipopar.value
					var sizepart=inputtama.value
					var accion=despleacc.value
					var idp=parseInt(particion)
					tbparticiones[idp]=particion+";"+tipopart+";"+sizepart+";"+accion+'%0A'
				}
				var particiones=""
				for(var i=0;i<9;i++){
					if(tbparticiones[i]!=null){
						particiones+=tbparticiones[i]
					}
				}
				parametros+="cadenaip="+cadenaip+'%0D'+"identificador="+identificador+'%0D'+"nombrefuncion="+nombrefuncion+'%0D'+"ejecutor="+ejecutor+'%0D'+"tipotrama="+tipotrama+'%0D'+"ambito="+ambito+'%0D'+"idambito="+idambito+'%0D'+"particiones="+particiones
				parametros+='%09';
		}
		if(swenv){
			var wurl="./gestores/gestor_Configurar.php"
			wurl+="?parametros="+parametros
			wurl+="&" +compone_urlejecucion();
			ifr=document.getElementById("iframes_comodin"); // Toma objeto Iframe
			ifr.src=wurl; // LLama a la p�ina gestora
		}
	else
		alert(TbMsg[0]); 
	}
}
//________________________________________________________________________________________________________
  function cancelar(){
	alert(CTbMsg[0]);
	location.href="../nada.php"
  }
//________________________________________________________________________________________________________
  function comprobar_datos(){
	var tbconfigur=document.getElementById("tbconfigur") ;
	var tbidc=tbconfigur.value.split(";");
	for(var j=0;j<tbidc.length-1;j++){
		var oTABLE=document.getElementById("tb_particiones_"+tbidc[j]) 
		var oTRs=oTABLE.getElementsByTagName('TR')
		var tbp=new Array(9);
		var otbp=new Array(9);
		for(var i=0;i<9;i++){
			tbp[i]=0; // Inicializar matriz
			otbp[i]=null
		}
		for(var i=1;i<oTRs.length;i++){ // recorre TR's de las particiones
			if(oTRs[i].style.visibility=="hidden") continue
			var oTDs=oTRs[i].getElementsByTagName('TD')
			var desplepar=oTDs[1].childNodes[0]
			var p=desplepar.selectedIndex
			var wpar=desplepar.options[p].value
			if(tbp[wpar]==1){
				alert(TbMsg[1])
				desplepar.focus();
				return(false)
			}
			else{
				tbp[wpar]=1;
				otbp[wpar]=desplepar;
			}
			var inputtama=oTDs[4].childNodes[0]
			var tama=inputtama.value
			if (tama<=0){
				alert(TbMsg[2]);
				inputtama.focus();
				return(false)
			}
		}
		var swsw=false;
		for(var i=1;i<9;i++){ 
			if(i!=4){
				if (tbp[i]==0) swsw=true
				if (tbp[i]==1 && swsw){
					alert(TbMsg[3]);
					otbp[i].focus();
					return(false)
				}
			}
		}
	}
	return(comprobar_datosejecucion())
}
//________________________________________________________________________________________________________
function chgpar(o){
	var auxSplit=o.getAttribute("id").split("_");
	var despletipopar=document.getElementById("tipospar_"+auxSplit[1]+"_"+auxSplit[2]) 
	var despleacc=document.getElementById("acciones_"+auxSplit[1]+"_"+auxSplit[2]) 
	var littiposo=document.getElementById("tiposo_"+auxSplit[1]+"_"+auxSplit[2]) 
	var swenvio=document.getElementById("tb_particiones_"+auxSplit[2]) 
	var p=despletipopar.selectedIndex
	var tipopar=despletipopar.options[p].value
	switch(parseInt(tipopar)){
			case 0: // Sin particionar
				littiposo.innerHTML='&nbsp;<span style="COLOR:red"> Espacio sin particionar !!</span>&nbsp;';
				littiposo.value=0
				despleacc.selectedIndex=0
				break;
			case 1: // Bigdos
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Msdos,Windows 95</span>&nbsp;';
				littiposo.value=1
				despleacc.selectedIndex=1
				break;
			case  2: // FAt32
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Windows 98,Millenium</span>&nbsp;';
				littiposo.value=1
				despleacc.selectedIndex=1
				break;
			case 3: // NTFS
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Windows XP, Windows 2000, Windows 2003</span>&nbsp;';
				littiposo.value=1
				despleacc.selectedIndex=1
				break;
			case 4: //Linux Ext2
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Linux (Ext2)</span>&nbsp;';
				littiposo.value=1
				despleacc.selectedIndex=1
				break;
			case 5: //Linux Ext3
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Linux(Ext3)</span>&nbsp;';
				littiposo.value=1
				despleacc.selectedIndex=1
				break;
			case 6: //Linux Ext4
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Linux (Ext4)</span>&nbsp;';
				littiposo.value=1
				despleacc.selectedIndex=1
				break;
			case  7:
				littiposo.innerHTML='&nbsp;<span style="COLOR:blue">Linux swap</span>&nbsp;';
				littiposo.value=0
				despleacc.selectedIndex=0
				break;
			case  8:
				littiposo.innerHTML='&nbsp;<span style="COLOR:blue">Caché</span>&nbsp;';
				littiposo.value=1
				despleacc.selectedIndex=1
				break;
		}
		swenvio.value=1; // marca la partición para ser tratada en el env� de trama  
}
//________________________________________________________________________________________________________
function chgtipopar(o){

	var auxSplit=o.getAttribute("id").split("_"); 
	var despleacc=document.getElementById("acciones_"+auxSplit[1]+"_"+auxSplit[2]) 
	var littiposo=document.getElementById("tiposo_"+auxSplit[1]+"_"+auxSplit[2]) 
	var swenvio=document.getElementById("tb_particiones_"+auxSplit[2]) 
	var p=o.selectedIndex
	var tipopar=o.options[p].value
	if(tipopar!=0 && tipopar!=7)
		despleacc.selectedIndex=1;
	else
		despleacc.selectedIndex=0;

switch(parseInt(tipopar)){
			case 0: // Bigdos
				littiposo.innerHTML='&nbsp;<span style="COLOR:red"> Espacio sin particionar !!</span>&nbsp;';
				break;
			case 1: // Bigdos
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Msdos,Windows 95</span>&nbsp;';
				break;
				littiposo.value=1
			case  2: // FAt32
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Windows 98,Millenium</span>&nbsp;';
				littiposo.value=1
				break;
			case 3: // NTFS
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Windows XP, Windows 2000, Windows 2003</span>&nbsp;';
				littiposo.value=1
				break;
			case 4: //Linux Ext2
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Linux (Ext2)</span>&nbsp;';
				littiposo.value=1
				break;
			case 5: //Linux Ext3
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Linux(Ext3)</span>&nbsp;';
				littiposo.value=1
				break;
			case 6: //Linux Ext4
				littiposo.innerHTML='&nbsp;<span style="COLOR:red">Linux (Ext4)</span>&nbsp;';
				littiposo.value=1
				break;
			case  7:
				littiposo.innerHTML='&nbsp;<span style="COLOR:blue">Linux swap</span>&nbsp;';
				littiposo.value=0
				break;
			case  8:
				littiposo.innerHTML='&nbsp;<span style="COLOR:blue">Caché</span>&nbsp;';
				littiposo.value=1
				break;
	
		}
	swenvio.value=1; // marca la partición para ser tratada en el env� de trama  
}
//________________________________________________________________________________________________________
function chgtama(idc){
		var oTABLE=document.getElementById("tb_particiones_"+idc) 
		var oTRs=oTABLE.getElementsByTagName('TR') // Numero de particiones
		for(var i=1;i<oTRs.length;i++){ // recorre TR's de las particiones
			var oTDs=oTRs[i].getElementsByTagName('TD') // Numero de particiones 
			var despleacc=oTDs[5].childNodes[0] // recupera el desplegable de accion
			var desplepar=oTDs[2].childNodes[0] // recupera el desplegable de tipos departiciones
			if(desplepar.selectedIndex!=0 && desplepar.selectedIndex!=7){ // Si la particion no esta vacia
				despleacc.selectedIndex=1;
				var littiposo=oTDs[3].childNodes[0]
				littiposo.value=1 // Marca como forzamente formaeable esta paticion
				oTABLE.value=1; // marca la partición para ser tratada en el env� de trama  
			}
		}
}
//________________________________________________________________________________________________________
function chgaccion(o){
	var auxSplit=o.getAttribute("id").split("_"); // Toma numero de particion
	var littiposo=document.getElementById("tiposo_"+auxSplit[1]+"_"+auxSplit[2]) 
	var despleacc=document.getElementById("acciones_"+auxSplit[1]+"_"+auxSplit[2]) 
	var despletipopar=document.getElementById("tipospar_"+auxSplit[1]+"_"+auxSplit[2]) 
	var swenvio=document.getElementById("tb_particiones_"+auxSplit[2]) 
	if(despletipopar.selectedIndex==0){
		alert(TbMsg[4]);
		o.selectedIndex=0
		return
	}
	if (littiposo.value==1){
		alert(TbMsg[5]);
		o.selectedIndex=1
	}
	if(despleacc.selectedIndex==2){
		if(despletipopar.selectedIndex>3)
			alert(TbMsg[6]);
	}
	if(despleacc.selectedIndex==3){
		if(despletipopar.selectedIndex>3)
			alert(TbMsg[7]);
	}
	swenvio.value=1; // marca la partición para ser tratada en el env� de trama  
}
//________________________________________________________________________________________________________
function annadir_particion(idc){

	oINPUT=document.getElementById("ultpa_"+idc) 
	var wultpa=parseInt(oINPUT.value); // Toma el valor de la última partición existente
	wultpa++; // Incrementa en uno este valor para posteriores inserciones
	oINPUT.value=wultpa; // Actualiza este valor en el campo oculto
	var ultpa=oINPUT.value; // Crear variable javascript de trabajo con este valor
	var oTR=document.getElementById("TRparticion_"+ultpa+"_"+idc) 
	if(oTR){
		oTR.style.visibility="visible";
	}
	return;


	// Antiguo código
	var oTABLE=document.getElementById("tb_particiones_"+idc) 
	var oTRs=oTABLE.getElementsByTagName('TR') // Numero de particiones
	if(parseInt(oTRs.length)>7){ // E número de particiones no puede ser mayor de 7
		alert(TbMsg[8]);
		return;
	}

	oTABLE=document.getElementById("tabla_contenidoparticion_"+idc) 
	var oTDs=oTABLE.getElementsByTagName('TD') // LLega hasta TD ( punto de pivote )
	textHtml=oTDs[0].innerHTML     //  Toma la tabla para añadir al final

	// Toma código html de la tabla modelo
	oTABLE=document.getElementById("patron_contenidoparticion") 
	var wpatrontablaparticion=oTABLE.innerHTML
	oINPUT=document.getElementById("ultpa_"+idc) 
	var wultpa=parseInt(oINPUT.value); // Toma el valor de la última partición existente
	wultpa++; // Incrementa en uno este valor para posteriores inserciones
	oINPUT.value=wultpa; // Actualiza este valor en el campo oculto
	var ultpa=oINPUT.value; // Crear variable javascript de trabajo con este valor

	var re = new RegExp ('_upa_', 'gi') ; // Reemplaza partición y configuración
	var rs =ultpa
	var patrontablaparticion = wpatrontablaparticion.replace(re,rs) ;
	wpatrontablaparticion=patrontablaparticion
	var re = new RegExp ('_cfg_', 'gi') ;  // Reemplaza configuración
	var rs =idc
	var patrontablaparticion = wpatrontablaparticion.replace(re,rs) ;
	posb=textHtml.length
	for (var posa=posb;posa>=0;posa--) {
		if ("</TR>" == textHtml.substr(posa,5).toUpperCase())	break; // Retrocede buscando etiqueta </TR>
	 }
	var nwrama=textHtml.substr(0,posa+5) // Primer trozo
	nwrama+=patrontablaparticion
	alert(patrontablaparticion);
	nwrama+=textHtml.substr(posa,textHtml.length-posa) // Segundo trozo
	oTDs[0].innerHTML=nwrama; // Actualiza todo el nuevo código de la tabla
	var oDESPLE=document.getElementById("numpar_"+ultpa+"_"+idc)  // Selecciona item creado
	var ise=wultpa-1
	if (ise>3 && ise<7) ise-=1
	if(ise>6) ise=6
	oDESPLE.selectedIndex=ise
}
//________________________________________________________________________________________________________
function elimina_particion(o,idc){
	oTABLE=document.getElementById("tabla_contenidoparticion_"+idc) 
	oTDs=oTABLE.getElementsByTagName('TD') // LLega hasta TD ( punto de pivote )
	textHtml=oTDs[0].innerHTML     //  Toma la rama a sustituir
	var patron=o.getAttribute("id") 
	var re = new RegExp (patron, 'gi') ;
	var pos=textHtml.search(patron)
	for (var posa=pos;posa>=0;posa--) {
		if ("<TR" == textHtml.substr(posa,3).toUpperCase())	break; // Retrocede buscando etiqueta <TR>
	 }
	for (var posb=pos;posb<textHtml.length;posb++) { // Avanza buscando etiqueta </TR>
		if ("</TR>" == textHtml.substr(posb,5).toUpperCase())	break;
	 }
	 posb+=5
	var nwrama=textHtml.substr(0,posa) // Primer trozo
	nwrama+=textHtml.substr(posb,textHtml.length-posb) // Segundo trozo
	oTDs[0].innerHTML=nwrama;

	var swenvio=document.getElementById("tb_particiones_"+idc) 
	swenvio.value=1; // marca la partición para ser tratada en el env� de trama  
}
//________________________________________________________________________________________________________
//	
//	Comprobar retorno
//________________________________________________________________________________________________________
function resultado_Configurar(resul){
	if (!resul){
		alert(CTbMsg[1]);	
		return
	}
	alert(CTbMsg[2]);
}
//________________________________________________________________________________________________________
	function resalta(o,idc){
		currentconfiguracion=idc
		if(currentimgconfiguracion!=null)
			currentimgconfiguracion.src="../images/iconos/configuraciones.gif"
		currentimgconfiguracion=o;
		o.src="../images/iconos/configuraciones_ON.gif"
		menu_contextual(o,'flo_configuraciones'); 
	}
//________________________________________________________________________________________________________
function chgtotal(op){
	idc=currentconfiguracion
	var oTABLE=document.getElementById("tb_particiones_"+idc) 
	var oTRs=oTABLE.getElementsByTagName('TR') // Numero de particiones
	for(var i=1;i<oTRs.length;i++){ // recorre TR's de las particiones
		var oTDs=oTRs[i].getElementsByTagName('TD') // Numero de particiones 
		var despleacc=oTDs[5].childNodes[0] // recupera el desplegable de accion
		var despletipopar=oTDs[2].childNodes[0] // recupera el desplegable de tipos de particiones
		var littiposo=oTDs[3].childNodes[0]
		if(despletipopar.selectedIndex==0 || despletipopar.selectedIndex==5) // partición est�vac�o es swap no puede llevarse a cabo ningn tipo de acci� sobre ella
			continue
		if (littiposo.value==1) // Est�partición debe ser necesariamente formateada porque se ha cambiado el S.O. 
			continue
		if(op==2){ // No tiene sentido ocultar esta partición al no tratarse de un sistema Windows;
			if(despletipopar.selectedIndex>3)
				continue
		}
		if(op==3){ //  No tiene sentido mostrar esta partición al no tratarse de un sistema Windows;
			if(despletipopar.selectedIndex>3)
			continue
		}
		despleacc.selectedIndex=op; // Coloca la acci� en el desplegable
		oTABLE.value=1; // marca la partición para ser tratada en el env� de trama  
	}
}