1 | // ************************************************************************************************************************************************* |
---|
2 | // Libreria de scripts de Javascript |
---|
3 | // Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla |
---|
4 | // Fecha Creación:2003-2004 |
---|
5 | // Fecha Última modificación: Marzo-2005 |
---|
6 | // Nombre del fichero: Configurar.js |
---|
7 | // Descripción : |
---|
8 | // Este fichero implementa las funciones javascript del fichero Configurar.php (Comandos) |
---|
9 | // ************************************************************************************************************************************************* |
---|
10 | var patrontablaparticion; |
---|
11 | var ultpa; |
---|
12 | var currentconfiguracion=null; |
---|
13 | var currentimgconfiguracion=null; |
---|
14 | //________________________________________________________________________________________________________ |
---|
15 | function confirmar(){ |
---|
16 | if (comprobar_datos()){ |
---|
17 | var cadenaip=document.fdatosocultos.cadenaip.value; |
---|
18 | var identificador=document.fdatosocultos.identificador.value; |
---|
19 | var nombrefuncion=document.fdatosocultos.nombrefuncion.value; |
---|
20 | var ejecutor=document.fdatosocultos.ejecutor.value; |
---|
21 | var tipotrama=document.fdatosocultos.tipotrama.value; |
---|
22 | var ambito=document.fdatosocultos.ambito.value; |
---|
23 | var idambito=document.fdatosocultos.idambito.value; |
---|
24 | var parametros=""; |
---|
25 | var tagnuevasipes=document.fdatos.nuevasipes; |
---|
26 | if(tagnuevasipes.length>0) |
---|
27 | var nuevasipes=tagnuevasipes |
---|
28 | else{ |
---|
29 | nuevasipes=new Array(); |
---|
30 | nuevasipes[0]=tagnuevasipes |
---|
31 | } |
---|
32 | swenv=false |
---|
33 | for(var x=0;x<nuevasipes.length;x++){ |
---|
34 | cadenaip=nuevasipes[x].value; |
---|
35 | var auxsplit=nuevasipes[x].getAttribute("id").split("_"); |
---|
36 | var idconfiguracion=auxsplit[1] |
---|
37 | // Toma los datos de la tabla correspondiente a esa configuracion |
---|
38 | var oTABLE=document.getElementById("tb_particiones_"+idconfiguracion) |
---|
39 | var oTRs=oTABLE.getElementsByTagName('TR') // Numero de particiones |
---|
40 | swenvio=oTABLE.value |
---|
41 | if(parseInt(swenvio)==0) continue; // Tabla de particiones no modificada |
---|
42 | swenv=true |
---|
43 | var tbparticiones=new Array(9); |
---|
44 | for(var i=0;i<9;i++) tbparticiones[i]=null // Inicializa matriz |
---|
45 | for(var i=1;i<oTRs.length;i++){ // recorre TR's de las particiones |
---|
46 | var oTDs=oTRs[i].getElementsByTagName('TD') // Numero de particiones |
---|
47 | var desplepar=oTDs[1].childNodes[0] // recupera el desplegable de particiones |
---|
48 | var despletipopar=oTDs[2].childNodes[0] // recupera el desplegable de tipo de accion |
---|
49 | var inputtama=oTDs[4].childNodes[1] // recupera el tama� |
---|
50 | var despleacc=oTDs[5].childNodes[1] // recupera el desplegable de accion |
---|
51 | var particion=desplepar.value |
---|
52 | var tipopart=despletipopar.value |
---|
53 | var sizepart=inputtama.value |
---|
54 | var accion=despleacc.value |
---|
55 | var idp=parseInt(particion) |
---|
56 | tbparticiones[idp]=particion+";"+tipopart+";"+sizepart+";"+accion+'%0A' |
---|
57 | } |
---|
58 | var particiones="" |
---|
59 | for(var i=0;i<9;i++){ |
---|
60 | if(tbparticiones[i]!=null){ |
---|
61 | particiones+=tbparticiones[i] |
---|
62 | } |
---|
63 | } |
---|
64 | parametros+="cadenaip="+cadenaip+'%0D'+"identificador="+identificador+'%0D'+"nombrefuncion="+nombrefuncion+'%0D'+"ejecutor="+ejecutor+'%0D'+"tipotrama="+tipotrama+'%0D'+"ambito="+ambito+'%0D'+"idambito="+idambito+'%0D'+"particiones="+particiones |
---|
65 | parametros+='%09'; |
---|
66 | } |
---|
67 | if(swenv){ |
---|
68 | var wurl="./gestores/gestor_Configurar.php" |
---|
69 | wurl+="?parametros="+parametros |
---|
70 | wurl+="&" +compone_urlejecucion(); |
---|
71 | ifr=document.getElementById("iframes_comodin"); // Toma objeto Iframe |
---|
72 | ifr.src=wurl; // LLama a la p�ina gestora |
---|
73 | } |
---|
74 | else |
---|
75 | alert(TbMsg[0]); |
---|
76 | } |
---|
77 | } |
---|
78 | //________________________________________________________________________________________________________ |
---|
79 | function cancelar(){ |
---|
80 | alert(CTbMsg[0]); |
---|
81 | location.href="../nada.php" |
---|
82 | } |
---|
83 | //________________________________________________________________________________________________________ |
---|
84 | function comprobar_datos(){ |
---|
85 | var tbconfigur=document.getElementById("tbconfigur") ; |
---|
86 | var tbidc=tbconfigur.value.split(";"); |
---|
87 | for(var j=0;j<tbidc.length-1;j++){ |
---|
88 | var oTABLE=document.getElementById("tb_particiones_"+tbidc[j]) |
---|
89 | var oTRs=oTABLE.getElementsByTagName('TR') |
---|
90 | var tbp=new Array(9); |
---|
91 | var otbp=new Array(9); |
---|
92 | for(var i=0;i<9;i++){ |
---|
93 | tbp[i]=0; // Inicializar matriz |
---|
94 | otbp[i]=null |
---|
95 | } |
---|
96 | for(var i=1;i<oTRs.length;i++){ // recorre TR's de las particiones |
---|
97 | var oTDs=oTRs[i].getElementsByTagName('TD') |
---|
98 | var desplepar=oTDs[1].childNodes[0] |
---|
99 | var p=desplepar.selectedIndex |
---|
100 | var wpar=desplepar.options[p].value |
---|
101 | if(tbp[wpar]==1){ |
---|
102 | alert(TbMsg[1]) |
---|
103 | desplepar.focus(); |
---|
104 | return(false) |
---|
105 | } |
---|
106 | else{ |
---|
107 | tbp[wpar]=1; |
---|
108 | otbp[wpar]=desplepar; |
---|
109 | } |
---|
110 | var inputtama=oTDs[4].childNodes[0] |
---|
111 | var tama=inputtama.value |
---|
112 | if (tama<=0){ |
---|
113 | alert(TbMsg[2]); |
---|
114 | inputtama.focus(); |
---|
115 | return(false) |
---|
116 | } |
---|
117 | } |
---|
118 | var swsw=false; |
---|
119 | for(var i=1;i<9;i++){ |
---|
120 | if(i!=4){ |
---|
121 | if (tbp[i]==0) swsw=true |
---|
122 | if (tbp[i]==1 && swsw){ |
---|
123 | alert(TbMsg[3]); |
---|
124 | otbp[i].focus(); |
---|
125 | return(false) |
---|
126 | } |
---|
127 | } |
---|
128 | } |
---|
129 | } |
---|
130 | return(comprobar_datosejecucion()) |
---|
131 | } |
---|
132 | //________________________________________________________________________________________________________ |
---|
133 | function chgpar(o){ |
---|
134 | var auxSplit=o.getAttribute("id").split("_"); |
---|
135 | var despletipopar=document.getElementById("tipospar_"+auxSplit[1]+"_"+auxSplit[2]) |
---|
136 | var despleacc=document.getElementById("acciones_"+auxSplit[1]+"_"+auxSplit[2]) |
---|
137 | var littiposo=document.getElementById("tiposo_"+auxSplit[1]+"_"+auxSplit[2]) |
---|
138 | var swenvio=document.getElementById("tb_particiones_"+auxSplit[2]) |
---|
139 | var p=despletipopar.selectedIndex |
---|
140 | var tipopar=despletipopar.options[p].value |
---|
141 | switch(parseInt(tipopar)){ |
---|
142 | case 0: // Sin particionar |
---|
143 | littiposo.innerHTML=' <span style="COLOR:red"> Espacio sin particionar !!</span> '; |
---|
144 | littiposo.value=0 |
---|
145 | despleacc.selectedIndex=0 |
---|
146 | break; |
---|
147 | case 1: // Bigdos |
---|
148 | littiposo.innerHTML=' <span style="COLOR:red">Msdos,Windows 95</span> '; |
---|
149 | littiposo.value=1 |
---|
150 | despleacc.selectedIndex=1 |
---|
151 | break; |
---|
152 | case 2: // FAt32 |
---|
153 | littiposo.innerHTML=' <span style="COLOR:red">Windows 98,Millenium</span> '; |
---|
154 | littiposo.value=1 |
---|
155 | despleacc.selectedIndex=1 |
---|
156 | break; |
---|
157 | case 3: // NTFS |
---|
158 | littiposo.innerHTML=' <span style="COLOR:red">Windows XP, Windows 2000, Windows 2003</span> '; |
---|
159 | littiposo.value=1 |
---|
160 | despleacc.selectedIndex=1 |
---|
161 | break; |
---|
162 | case 4: //Linux Ext2 |
---|
163 | littiposo.innerHTML=' <span style="COLOR:red">Linux (Ext2)</span> '; |
---|
164 | littiposo.value=1 |
---|
165 | despleacc.selectedIndex=1 |
---|
166 | break; |
---|
167 | case 5: //Linux Ext3 |
---|
168 | littiposo.innerHTML=' <span style="COLOR:red">Linux(Ext3)</span> '; |
---|
169 | littiposo.value=1 |
---|
170 | despleacc.selectedIndex=1 |
---|
171 | break; |
---|
172 | case 6: //Linux Ext4 |
---|
173 | littiposo.innerHTML=' <span style="COLOR:red">Linux (Ext4)</span> '; |
---|
174 | littiposo.value=1 |
---|
175 | despleacc.selectedIndex=1 |
---|
176 | break; |
---|
177 | case 7: |
---|
178 | littiposo.innerHTML=' <span style="COLOR:blue">Linux swap</span> '; |
---|
179 | littiposo.value=0 |
---|
180 | despleacc.selectedIndex=0 |
---|
181 | break; |
---|
182 | case 8: |
---|
183 | littiposo.innerHTML=' <span style="COLOR:blue">Caché</span> '; |
---|
184 | littiposo.value=1 |
---|
185 | despleacc.selectedIndex=1 |
---|
186 | break; |
---|
187 | } |
---|
188 | swenvio.value=1; // marca la partici� para ser tratada en el env� de trama |
---|
189 | } |
---|
190 | //________________________________________________________________________________________________________ |
---|
191 | function chgtipopar(o){ |
---|
192 | |
---|
193 | var auxSplit=o.getAttribute("id").split("_"); |
---|
194 | var despleacc=document.getElementById("acciones_"+auxSplit[1]+"_"+auxSplit[2]) |
---|
195 | var littiposo=document.getElementById("tiposo_"+auxSplit[1]+"_"+auxSplit[2]) |
---|
196 | var swenvio=document.getElementById("tb_particiones_"+auxSplit[2]) |
---|
197 | var p=o.selectedIndex |
---|
198 | var tipopar=o.options[p].value |
---|
199 | if(tipopar!=0 && tipopar!=7) |
---|
200 | despleacc.selectedIndex=1; |
---|
201 | else |
---|
202 | despleacc.selectedIndex=0; |
---|
203 | |
---|
204 | switch(parseInt(tipopar)){ |
---|
205 | case 0: // Bigdos |
---|
206 | littiposo.innerHTML=' <span style="COLOR:red"> Espacio sin particionar !!</span> '; |
---|
207 | break; |
---|
208 | case 1: // Bigdos |
---|
209 | littiposo.innerHTML=' <span style="COLOR:red">Msdos,Windows 95</span> '; |
---|
210 | break; |
---|
211 | littiposo.value=1 |
---|
212 | case 2: // FAt32 |
---|
213 | littiposo.innerHTML=' <span style="COLOR:red">Windows 98,Millenium</span> '; |
---|
214 | littiposo.value=1 |
---|
215 | break; |
---|
216 | case 3: // NTFS |
---|
217 | littiposo.innerHTML=' <span style="COLOR:red">Windows XP, Windows 2000, Windows 2003</span> '; |
---|
218 | littiposo.value=1 |
---|
219 | break; |
---|
220 | case 4: //Linux Ext2 |
---|
221 | littiposo.innerHTML=' <span style="COLOR:red">Linux (Ext2)</span> '; |
---|
222 | littiposo.value=1 |
---|
223 | break; |
---|
224 | case 5: //Linux Ext3 |
---|
225 | littiposo.innerHTML=' <span style="COLOR:red">Linux(Ext3)</span> '; |
---|
226 | littiposo.value=1 |
---|
227 | break; |
---|
228 | case 6: //Linux Ext4 |
---|
229 | littiposo.innerHTML=' <span style="COLOR:red">Linux (Ext4)</span> '; |
---|
230 | littiposo.value=1 |
---|
231 | break; |
---|
232 | case 7: |
---|
233 | littiposo.innerHTML=' <span style="COLOR:blue">Linux swap</span> '; |
---|
234 | littiposo.value=0 |
---|
235 | break; |
---|
236 | case 8: |
---|
237 | littiposo.innerHTML=' <span style="COLOR:blue">Caché</span> '; |
---|
238 | littiposo.value=1 |
---|
239 | break; |
---|
240 | |
---|
241 | } |
---|
242 | swenvio.value=1; // marca la partici� para ser tratada en el env� de trama |
---|
243 | } |
---|
244 | //________________________________________________________________________________________________________ |
---|
245 | function chgtama(idc){ |
---|
246 | var oTABLE=document.getElementById("tb_particiones_"+idc) |
---|
247 | var oTRs=oTABLE.getElementsByTagName('TR') // Numero de particiones |
---|
248 | for(var i=1;i<oTRs.length;i++){ // recorre TR's de las particiones |
---|
249 | var oTDs=oTRs[i].getElementsByTagName('TD') // Numero de particiones |
---|
250 | var despleacc=oTDs[5].childNodes[0] // recupera el desplegable de accion |
---|
251 | var desplepar=oTDs[2].childNodes[0] // recupera el desplegable de tipos departiciones |
---|
252 | if(desplepar.selectedIndex!=0 && desplepar.selectedIndex!=7){ // Si la particion no esta vacia |
---|
253 | despleacc.selectedIndex=1; |
---|
254 | var littiposo=oTDs[3].childNodes[0] |
---|
255 | littiposo.value=1 // Marca como forzamente formaeable esta paticion |
---|
256 | oTABLE.value=1; // marca la partici� para ser tratada en el env� de trama |
---|
257 | } |
---|
258 | } |
---|
259 | } |
---|
260 | //________________________________________________________________________________________________________ |
---|
261 | function chgaccion(o){ |
---|
262 | var auxSplit=o.getAttribute("id").split("_"); // Toma numero de particion |
---|
263 | var littiposo=document.getElementById("tiposo_"+auxSplit[1]+"_"+auxSplit[2]) |
---|
264 | var despleacc=document.getElementById("acciones_"+auxSplit[1]+"_"+auxSplit[2]) |
---|
265 | var despletipopar=document.getElementById("tipospar_"+auxSplit[1]+"_"+auxSplit[2]) |
---|
266 | var swenvio=document.getElementById("tb_particiones_"+auxSplit[2]) |
---|
267 | if(despletipopar.selectedIndex==0){ |
---|
268 | alert(TbMsg[4]); |
---|
269 | o.selectedIndex=0 |
---|
270 | return |
---|
271 | } |
---|
272 | if (littiposo.value==1){ |
---|
273 | alert(TbMsg[5]); |
---|
274 | o.selectedIndex=1 |
---|
275 | } |
---|
276 | if(despleacc.selectedIndex==2){ |
---|
277 | if(despletipopar.selectedIndex>3) |
---|
278 | alert(TbMsg[6]); |
---|
279 | } |
---|
280 | if(despleacc.selectedIndex==3){ |
---|
281 | if(despletipopar.selectedIndex>3) |
---|
282 | alert(TbMsg[7]); |
---|
283 | } |
---|
284 | swenvio.value=1; // marca la partici� para ser tratada en el env� de trama |
---|
285 | } |
---|
286 | //________________________________________________________________________________________________________ |
---|
287 | function annadir_particion(idc){ |
---|
288 | var oTABLE=document.getElementById("tb_particiones_"+idc) |
---|
289 | var oTRs=oTABLE.getElementsByTagName('TR') // Numero de particiones |
---|
290 | if(parseInt(oTRs.length)>7){ |
---|
291 | alert(TbMsg[8]); |
---|
292 | return; |
---|
293 | } |
---|
294 | oTABLE=document.getElementById("tabla_contenidoparticion_"+idc) |
---|
295 | var oTDs=oTABLE.getElementsByTagName('TD') // LLega hasta TD ( punto de pivote ) |
---|
296 | textHtml=oTDs[0].innerHTML // Toma la rama a sustituir |
---|
297 | |
---|
298 | oTABLE=document.getElementById("patron_contenidoparticion") |
---|
299 | var wpatrontablaparticion=oTABLE.innerHTML // Toma la rama a sustituir |
---|
300 | oINPUT=document.getElementById("ultpa_"+idc) |
---|
301 | var wultpa=parseInt(oINPUT.value); |
---|
302 | wultpa++; |
---|
303 | oINPUT.value=wultpa; |
---|
304 | ultpa=oINPUT.value; |
---|
305 | |
---|
306 | var re = new RegExp ('_upa_', 'gi') ; // Reemplaza partici� y configuraci� |
---|
307 | var rs =ultpa |
---|
308 | var patrontablaparticion = wpatrontablaparticion.replace(re,rs) ; |
---|
309 | wpatrontablaparticion=patrontablaparticion |
---|
310 | var re = new RegExp ('_cfg_', 'gi') ; // Reemplaza configuraci� |
---|
311 | var rs =idc |
---|
312 | var patrontablaparticion = wpatrontablaparticion.replace(re,rs) ; |
---|
313 | posb=textHtml.length |
---|
314 | for (var posa=posb;posa>=0;posa--) { |
---|
315 | if ("</TR>" == textHtml.substr(posa,5)) break; // Retrocede buscando etiqueta </TR> |
---|
316 | } |
---|
317 | var nwrama=textHtml.substr(0,posa+5) // Primer trozo |
---|
318 | nwrama+=patrontablaparticion |
---|
319 | nwrama+=textHtml.substr(posa,textHtml.length-posa) // Segundo trozo |
---|
320 | oTDs[0].innerHTML=nwrama; |
---|
321 | var oDESPLE=document.getElementById("numpar_"+ultpa+"_"+idc) // Selecciona item creado |
---|
322 | var ise=wultpa-1 |
---|
323 | if (ise>3 && ise<7) ise-=1 |
---|
324 | if(ise>6) ise=6 |
---|
325 | oDESPLE.selectedIndex=ise |
---|
326 | } |
---|
327 | //________________________________________________________________________________________________________ |
---|
328 | function elimina_particion(o,idc){ |
---|
329 | oTABLE=document.getElementById("tabla_contenidoparticion_"+idc) |
---|
330 | oTDs=oTABLE.getElementsByTagName('TD') // LLega hasta TD ( punto de pivote ) |
---|
331 | textHtml=oTDs[0].innerHTML // Toma la rama a sustituir |
---|
332 | var patron=o.getAttribute("id") |
---|
333 | var re = new RegExp (patron, 'gi') ; |
---|
334 | var pos=textHtml.search(patron) |
---|
335 | for (var posa=pos;posa>=0;posa--) { |
---|
336 | if ("<TR" == textHtml.substr(posa,3)) break; // Retrocede buscando etiqueta <TR> |
---|
337 | } |
---|
338 | for (var posb=pos;posb<textHtml.length;posb++) { // Avanza buscando etiqueta </TR> |
---|
339 | if ("</TR>" == textHtml.substr(posb,5)) break; |
---|
340 | } |
---|
341 | posb+=5 |
---|
342 | var nwrama=textHtml.substr(0,posa) // Primer trozo |
---|
343 | nwrama+=textHtml.substr(posb,textHtml.length-posb) // Segundo trozo |
---|
344 | oTDs[0].innerHTML=nwrama; |
---|
345 | |
---|
346 | var swenvio=document.getElementById("tb_particiones_"+idc) |
---|
347 | swenvio.value=1; // marca la partici� para ser tratada en el env� de trama |
---|
348 | } |
---|
349 | //________________________________________________________________________________________________________ |
---|
350 | // |
---|
351 | // Comprobar retorno |
---|
352 | //________________________________________________________________________________________________________ |
---|
353 | function resultado_Configurar(resul){ |
---|
354 | if (!resul){ |
---|
355 | alert(CTbMsg[1]); |
---|
356 | return |
---|
357 | } |
---|
358 | alert(CTbMsg[2]); |
---|
359 | } |
---|
360 | //________________________________________________________________________________________________________ |
---|
361 | function resalta(o,idc){ |
---|
362 | currentconfiguracion=idc |
---|
363 | if(currentimgconfiguracion!=null) |
---|
364 | currentimgconfiguracion.src="../images/iconos/configuraciones.gif" |
---|
365 | currentimgconfiguracion=o; |
---|
366 | o.src="../images/iconos/configuraciones_ON.gif" |
---|
367 | menu_contextual(o,'flo_configuraciones'); |
---|
368 | } |
---|
369 | //________________________________________________________________________________________________________ |
---|
370 | function chgtotal(op){ |
---|
371 | idc=currentconfiguracion |
---|
372 | var oTABLE=document.getElementById("tb_particiones_"+idc) |
---|
373 | var oTRs=oTABLE.getElementsByTagName('TR') // Numero de particiones |
---|
374 | for(var i=1;i<oTRs.length;i++){ // recorre TR's de las particiones |
---|
375 | var oTDs=oTRs[i].getElementsByTagName('TD') // Numero de particiones |
---|
376 | var despleacc=oTDs[5].childNodes[0] // recupera el desplegable de accion |
---|
377 | var despletipopar=oTDs[2].childNodes[0] // recupera el desplegable de tipos de particiones |
---|
378 | var littiposo=oTDs[3].childNodes[0] |
---|
379 | if(despletipopar.selectedIndex==0 || despletipopar.selectedIndex==5) // partici� est�vac�o es swap no puede llevarse a cabo ningn tipo de acci� sobre ella |
---|
380 | continue |
---|
381 | if (littiposo.value==1) // Est�partici� debe ser necesariamente formateada porque se ha cambiado el S.O. |
---|
382 | continue |
---|
383 | if(op==2){ // No tiene sentido ocultar esta partici� al no tratarse de un sistema Windows; |
---|
384 | if(despletipopar.selectedIndex>3) |
---|
385 | continue |
---|
386 | } |
---|
387 | if(op==3){ // No tiene sentido mostrar esta partici� al no tratarse de un sistema Windows; |
---|
388 | if(despletipopar.selectedIndex>3) |
---|
389 | continue |
---|
390 | } |
---|
391 | despleacc.selectedIndex=op; // Coloca la acci� en el desplegable |
---|
392 | oTABLE.value=1; // marca la partici� para ser tratada en el env� de trama |
---|
393 | } |
---|
394 | } |
---|