1 | <?php |
---|
2 | |
---|
3 | include_once("../idiomas/php/".$idioma."/pintaParticiones_".$idioma.".php"); |
---|
4 | |
---|
5 | /** |
---|
6 | * Separa las distintas configuraciones de una cadena por disco. |
---|
7 | * Ej. 1;0;1@1;1;7@1;2;131@2;0;1@2;1;7 |
---|
8 | * Serian dos configuraciones, para el disco 1 -> 1;0;1@1;1;7@1;2;131 y |
---|
9 | * para el disco 2 -> 2;0;1@2;1;7 |
---|
10 | */ |
---|
11 | function splitConfigurationsByDisk($configuraciones){ |
---|
12 | // Recorremos las configuraciones para separalas segun el disco al que pertenezcan |
---|
13 | $diskConfigs = array(); |
---|
14 | $configs = explode("@",$configuraciones); |
---|
15 | foreach($configs as $config){ |
---|
16 | $parts = explode(";",$config); |
---|
17 | if(!isset($diskConfigs[$parts[0]])){ |
---|
18 | $diskConfigs[$parts[0]] = "@"; |
---|
19 | } |
---|
20 | else if($diskConfigs[$parts[0]] != ""){ |
---|
21 | $diskConfigs[$parts[0]] .= "@"; |
---|
22 | } |
---|
23 | |
---|
24 | // Concatenamos la configuracion en el disco que corresponda |
---|
25 | $diskConfigs[$parts[0]] .= $config; |
---|
26 | } |
---|
27 | return $diskConfigs; |
---|
28 | } |
---|
29 | |
---|
30 | |
---|
31 | |
---|
32 | // ************************************************************************************************************************************************* |
---|
33 | // UHU - 2013/15/14 - Se pintan los discos ademas de las particiones |
---|
34 | // Descripción: |
---|
35 | // Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador, |
---|
36 | // grupo de ordenadores o aula |
---|
37 | // Parámetros: |
---|
38 | // $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato |
---|
39 | // sería una secuencia de cadenas del tipo "clave de configuración" separados por "@" |
---|
40 | // Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0 |
---|
41 | //________________________________________________________________________________________________________ |
---|
42 | function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) |
---|
43 | { |
---|
44 | global $tbKeys; // Tabla contenedora de claves de configuración |
---|
45 | global $conKeys; // Contador de claves de configuración |
---|
46 | global $TbMsg; |
---|
47 | $disktable = array(); |
---|
48 | |
---|
49 | // Separamos las configuraciones segun el disco al que pertenezcan |
---|
50 | $diskConfigs = splitConfigurationsByDisk($configuraciones); |
---|
51 | |
---|
52 | $columns=9; |
---|
53 | echo '<tr height="16">'; |
---|
54 | echo '<th align="center"> '.$TbMsg["DISK"].' </th>'; // Número de disco |
---|
55 | echo '<th align="center"> '.$TbMsg["PARTITION"].' </th>'; // Número de partición |
---|
56 | echo '<th align="center"> '.$TbMsg["PARTITION_TYPE"].' </th>'; // Tipo de partición |
---|
57 | echo '<th align="center"> '.$TbMsg["FILESYSTEM_SHORT"].' </th>'; // Sistema de ficheros |
---|
58 | echo '<th align="center"> '.$TbMsg["INST_SO"].' </th>'; // Sistema Operativo Instalado |
---|
59 | echo '<th align="center"> '.$TbMsg["SIZE_KB"].' </th>'; // Tamaño |
---|
60 | echo '<th align="center"> '.$TbMsg["IMAGE"].' </th>'; // Imagen instalada |
---|
61 | echo '<th align="center"> '.$TbMsg["SOFT_PROFILE"].' </th>'; // Perfil software |
---|
62 | echo '<th align="center"> '.$TbMsg["CACHE_CONTENT"].' </th>'; |
---|
63 | echo '</tr>'; |
---|
64 | |
---|
65 | // Recorremos todas las configuraciones encontradas para cada disco |
---|
66 | $aviso=""; |
---|
67 | foreach($diskConfigs as $disk => $diskConfig){ |
---|
68 | $disk = (int)$disk; |
---|
69 | echo'<tr height="16">'.chr(13); |
---|
70 | echo '<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;"> '.$TbMsg["DISK"].' '.$disk.'</td>'.chr(13); |
---|
71 | |
---|
72 | |
---|
73 | |
---|
74 | $auxCfg=explode("@",$diskConfig); // Crea lista de particiones |
---|
75 | for($i=0;$i<sizeof($auxCfg);$i++){ |
---|
76 | $auxKey=explode(";",$auxCfg[$i]); // Toma clave de configuracion |
---|
77 | for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición |
---|
78 | if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas |
---|
79 | if ($tbKeys[$k]["numpar"] == 0) { // Info del disco (umpart=0) |
---|
80 | $disksize[$tbKeys[$k]["numdisk"]] = tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]); |
---|
81 | if (empty ($disksize)) { |
---|
82 | $disksize = '<em>'.$TbMsg["VARIABLE"].'</em>'; |
---|
83 | } |
---|
84 | switch ($tbKeys[$k]["codpar"]) { |
---|
85 | case 1: $disktable[$tbKeys[$k]["numdisk"]] = "MSDOS"; |
---|
86 | break; |
---|
87 | case 2: $disktable[$tbKeys[$k]["numdisk"]] = "GPT"; |
---|
88 | break; |
---|
89 | case 3: $disktable[$tbKeys[$k]["numdisk"]] = "LVM"; |
---|
90 | break; |
---|
91 | case 4: $disktable[$tbKeys[$k]["numdisk"]] = "ZPOOL"; |
---|
92 | break; |
---|
93 | default: $disktable[$tbKeys[$k]["numdisk"]] = ""; |
---|
94 | } |
---|
95 | } |
---|
96 | else { // Información de partición (numpart>0) |
---|
97 | echo'<tr height="16">'.chr(13); |
---|
98 | echo'<td align="center"> </td>'.chr(13); |
---|
99 | echo'<td align="center">'.$tbKeys[$k]["numpar"].'</td>'.chr(13); |
---|
100 | if ($disktable[$tbKeys[$k]["numdisk"]] == "LVM" or $disktable[$tbKeys[$k]["numdisk"]] == "ZPOOL") { |
---|
101 | echo '<td></td>'.chr(13); |
---|
102 | } |
---|
103 | else { |
---|
104 | if (is_numeric ($tbKeys[$k]["tipopar"])) { |
---|
105 | echo '<td align="center"><em>'.sprintf("%02X",$tbKeys[$k]["tipopar"]).'</em></td>'.chr(13); |
---|
106 | } |
---|
107 | else { |
---|
108 | echo '<td align="center">'.$tbKeys[$k]["tipopar"].'</td>'.chr(13); |
---|
109 | } |
---|
110 | } |
---|
111 | $filesys=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]); |
---|
112 | echo'<td align="center"> '.$filesys.' </td>'.chr(13); |
---|
113 | |
---|
114 | echo '<td align="center"> '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </td>'.chr(13); |
---|
115 | // Mostrar uso solo en clientes individuales. |
---|
116 | $uso=tomaUso($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]); |
---|
117 | if ($uso > 0 and strpos($idordenadores, ',') === false) { |
---|
118 | echo '<td style="text-align:right; background-image:url(../images/flotantes/lsu.gif); background-size:'.$uso.'% 100%; background-repeat:no-repeat"><a title="'.$TbMsg["USAGE"].': '.$uso.'%"> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </a></td>'.chr(13); |
---|
119 | } else { |
---|
120 | echo '<td style="text-align:right"> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </td>'.chr(13); |
---|
121 | } |
---|
122 | |
---|
123 | // Si es CACHE incluyo campo oculto con el tamaño |
---|
124 | if ($tbKeys[$k]["tipopar"]== "CACHE"){ |
---|
125 | echo "<input type='hidden' name='cachesize' value='".tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"])."'/>".chr(13); |
---|
126 | } |
---|
127 | |
---|
128 | echo'<td align="center"> '.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </td>'.chr(13); |
---|
129 | |
---|
130 | echo'<td align="center"> '.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </td>'.chr(13); |
---|
131 | |
---|
132 | if ($filesys == "CACHE") { |
---|
133 | echo '<td align="leght"> '; |
---|
134 | $campocache = preg_replace("/[\n|\r|\n\r]/i", '', tomaCache($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"])); |
---|
135 | $ima=explode(",",$campocache); |
---|
136 | $numero=1; |
---|
137 | for ($x=0;$x<count($ima); $x++) { |
---|
138 | if(substr($ima[$x],-3)==".MB") { |
---|
139 | if ( $ima[$x] == "0.MB" ){ |
---|
140 | echo '<span style="color: red"><strong>'.$TbMsg["CACHE_COMPLETE"].': '.$ima[$x].'</strong></span>'; |
---|
141 | }else{ |
---|
142 | echo '<strong>'.$TbMsg["CACHE_FREESPACE"].': '.$ima[$x].'</strong>'; |
---|
143 | } |
---|
144 | }elseif (! empty($ima[1])){ |
---|
145 | // Esto para la informacion de la imagen |
---|
146 | if (substr($ima[$x],-5)==".diff"){$info="F";}elseif(substr($ima[$x],-4)==".img"){$info="F";}else{$info="D";} |
---|
147 | // Esto para numerarla |
---|
148 | if(substr($ima[$x],-4)==".img" || substr($ima[$x],-5)==".diff" || substr($ima[$x],-4)=="") { |
---|
149 | echo '<br />('.$info.') '.$numero++.'.-'.$ima[$x]; |
---|
150 | } elseif(preg_match("/.sum/",$ima[$x]) or preg_match("/.torrent/",$ima[$x]) or preg_match("/.full.sum/",$ima[$x])) { |
---|
151 | echo '<br /> '.$ima[$x]; |
---|
152 | }else{ |
---|
153 | echo '<br /><span style="color: blue">('.$info.') </span>'.$numero++.'.-<span style="color: blue">'.$ima[$x]."</span>"; |
---|
154 | } |
---|
155 | } |
---|
156 | } |
---|
157 | echo ' </td>'.chr(13); |
---|
158 | |
---|
159 | } else { |
---|
160 | if ($tbKeys[$k]["difimagen"] > 0 ) { |
---|
161 | echo'<td align="center"> '.$tbKeys[$k]["fechadespliegue"].' (* '.$tbKeys[$k]["difimagen"].') </td>'.chr(13); |
---|
162 | $aviso=$TbMsg["WARN_DIFFIMAGE"]; |
---|
163 | } else { |
---|
164 | echo'<td align="center"> '.$tbKeys[$k]["fechadespliegue"].' </td>'.chr(13); |
---|
165 | } |
---|
166 | } |
---|
167 | |
---|
168 | echo'</tr>'.chr(13); |
---|
169 | } |
---|
170 | break; |
---|
171 | } |
---|
172 | } |
---|
173 | } |
---|
174 | // Mostrar información del disco, si se ha obtenido. |
---|
175 | if (!empty ($disksize)) { |
---|
176 | echo'<tr height="16">'.chr(13); |
---|
177 | echo'<td align="center"> </td>'.chr(13); |
---|
178 | echo'<td align="center"> '.$disktable[$disk].' </td>'.chr(13); |
---|
179 | echo'<td></td>'.chr(13); |
---|
180 | echo'<td></td>'.chr(13); |
---|
181 | echo'<td></td>'.chr(13); |
---|
182 | echo'<td align="right"> <strong>'.(isset($disksize[$disk])?$disksize[$disk]:('<em>'.$TbMsg["VARIABLE"].'</em>')).'</span></strong> </td>'.chr(13); |
---|
183 | // Creamos un campo oculto para guardar información sobre el disco y su tamaño separados por ; |
---|
184 | echo "<input type='hidden' name='disksize_".$disk."' value='".$disksize[$disk]."'/>\n"; |
---|
185 | echo'<td></td>'.chr(13); |
---|
186 | echo'<td></td>'.chr(13); |
---|
187 | echo'<td></td>'.chr(13); |
---|
188 | echo'</tr>'.chr(13); |
---|
189 | } |
---|
190 | } |
---|
191 | if (!empty($aviso)) { |
---|
192 | echo '<tr><th colspan="'.$columns.'"> * '.$aviso.' </th></tr>'."\n"; |
---|
193 | } |
---|
194 | echo '<tr><td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF; height: 5px;"> </td></tr>'; |
---|
195 | } |
---|
196 | |
---|
197 | |
---|
198 | //________________________________________________________________________________________________________ |
---|
199 | // |
---|
200 | // Descripción: |
---|
201 | // (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php) |
---|
202 | // Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador, |
---|
203 | // grupo de ordenadores o aula |
---|
204 | // Parámetros: |
---|
205 | // $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato |
---|
206 | // sería una secuencia de cadenas del tipo "clave de configuración" separados por "@" |
---|
207 | // Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0 |
---|
208 | // Devuelve: |
---|
209 | // El código html de la tabla |
---|
210 | // version 1.1: cliente con varios repositorios - HTMLSELECT_imagenes: cambia parametros idordenadores por idambito |
---|
211 | // autor: Irina Gomez, Universidad de Sevilla |
---|
212 | // fecha 2015-06-17 |
---|
213 | //________________________________________________________________________________________________________ |
---|
214 | function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito) |
---|
215 | { |
---|
216 | global $tbKeys; // Tabla contenedora de claves de configuración |
---|
217 | global $conKeys; // Contador de claves de configuración |
---|
218 | global $TbMsg; |
---|
219 | global $_SESSION; |
---|
220 | |
---|
221 | // Separamos las configuraciones segun el disco al que pertenezcan |
---|
222 | $diskConfigs = splitConfigurationsByDisk($configuraciones); |
---|
223 | |
---|
224 | $columns=10; |
---|
225 | echo '<TR>'; |
---|
226 | echo '<TH align=center> </TH>'; |
---|
227 | echo '<th align="center"> '.$TbMsg["DISK"].' </th>'; // Número de disco |
---|
228 | echo '<TH align=center> '.$TbMsg["PARTITION"].' </TH>'; |
---|
229 | echo '<th align="center"> '.$TbMsg["PARTITION_TYPE"].' </th>'; // Tipo de partición |
---|
230 | echo '<th align="center"> '.$TbMsg["INST_SO"].' </th>'; // Sistema Operativo Instalado |
---|
231 | echo '<th align="center"> '.$TbMsg["FILESYSTEM_SHORT"].' </th>'; // Sistema de ficheros |
---|
232 | echo '<th align="center"> '.$TbMsg["SIZE_KB"].' </th>'; // Tamaño |
---|
233 | echo '<TH align=center> '.$TbMsg["SAMESYSTEM_IMAGE"].' </TH>'; |
---|
234 | echo '<TH align=center> '.$TbMsg["DIFFERENTSYSTEM_IMAGE"].' </TH>'; |
---|
235 | echo '<TH align=center> '.$TbMsg["RESTORE_METHOD"].' </TH>'; |
---|
236 | echo '</TR>'; |
---|
237 | |
---|
238 | |
---|
239 | // Recorremos todas las configuraciones encontradas para cada disco |
---|
240 | |
---|
241 | foreach($diskConfigs as $disk => $diskConfig){ |
---|
242 | $disk = (int)$disk; |
---|
243 | echo'<tr height="16">'.chr(13); |
---|
244 | echo '<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;"> '.$TbMsg["DISK"].' '.$disk.'</td>'.chr(13); |
---|
245 | |
---|
246 | $auxCfg=explode("@",$diskConfig); // Crea lista de particiones |
---|
247 | for($i=0;$i<sizeof($auxCfg);$i++){ |
---|
248 | $auxKey=explode(";",$auxCfg[$i]); // Toma clave de configuracion |
---|
249 | // Para particiones EFI desabilitamos el selector |
---|
250 | $disabled=''; |
---|
251 | for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición |
---|
252 | if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas |
---|
253 | if($tbKeys[$k]["numpar"]!=0){ // No es info. del disco (part. 0) |
---|
254 | $swcc=$tbKeys[$k]["clonable"]; |
---|
255 | if($swcc){ |
---|
256 | if ($tbKeys[$k]["tipopar"] == 'EFI') $disabled='disabled'; |
---|
257 | echo '<TR>'.chr(13); |
---|
258 | echo '<TD align=center> </TD>'; |
---|
259 | $icp=$cc."_".$tbKeys[$k]["numdisk"]."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición |
---|
260 | echo '<TD ><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numdisk"].";".$tbKeys[$k]["numpar"].' '.$disabled.'></TD>'.chr(13); |
---|
261 | echo '<TD align=center> '.$tbKeys[$k]["numpar"].' </TD>'.chr(13); |
---|
262 | echo '<TD align=center> '.$tbKeys[$k]["tipopar"].' </TD>'.chr(13); |
---|
263 | echo '<TD align=center> '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </TD>'.chr(13); |
---|
264 | echo'<TD align=center> '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).' </TD>'.chr(13); |
---|
265 | echo'<TD align=center> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </TD>'.chr(13); |
---|
266 | if ($tbKeys[$k]["tipopar"] == 'EFI') { |
---|
267 | echo "<TD></TD>\n<TD></TD>\n<TD></TD>\n"; |
---|
268 | } else { |
---|
269 | echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idambito,$ambito).'</TD>'; |
---|
270 | echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idambito,$ambito).'</TD>'; |
---|
271 | |
---|
272 | //Clonación |
---|
273 | $metodos="UNICAST=UNICAST-CACHE".chr(13); |
---|
274 | $metodos.="UNICAST-DIRECT=UNICAST-DIRECT".chr(13); |
---|
275 | $metodos.="MULTICAST " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-CACHE".chr(13); |
---|
276 | $metodos.="MULTICAST-DIRECT " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-DIRECT".chr(13); |
---|
277 | $metodos.="TORRENT " . torrent_syntax($cmd,$ambito,$idambito) . "=TORRENT-CACHE"; |
---|
278 | |
---|
279 | $TBmetodos["UNICAST-CACHE"]=1; |
---|
280 | $TBmetodos["UNICAST-DIRECT"]=2; |
---|
281 | $TBmetodos["MULTICAST-CACHE"]=3; |
---|
282 | $TBmetodos["MULTICAST-DIRECT"]=4; |
---|
283 | $TBmetodos["TORRENT-CACHE"]=5; |
---|
284 | $idxc=$_SESSION["protclonacion"]; |
---|
285 | if ($idxc == "UNICAST") { |
---|
286 | $idxc = "UNICAST-DIRECT"; |
---|
287 | } |
---|
288 | echo '<TD>'.HTMLCTESELECT($metodos,"protoclonacion_".$icp,"estilodesple","",$TBmetodos[$idxc],100).'</TD>'; |
---|
289 | } |
---|
290 | echo '</TR>'.chr(13); |
---|
291 | } |
---|
292 | } |
---|
293 | } |
---|
294 | } |
---|
295 | } |
---|
296 | } |
---|
297 | echo '<TR><TD colspan='.$columns.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF; height:5px;"> </TD></TR>'; |
---|
298 | } |
---|
299 | |
---|
300 | /*________________________________________________________________________________________________________ |
---|
301 | |
---|
302 | Descripción: |
---|
303 | (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php) |
---|
304 | Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador, |
---|
305 | grupo de ordenadores o aula |
---|
306 | Parámetros: |
---|
307 | $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato |
---|
308 | sería una secuencia de cadenas del tipo "clave de configuración" separados por "@" |
---|
309 | Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0 |
---|
310 | $idordenadores: cadena con los identificadores de los ordenadores que forman parte del bloque |
---|
311 | $cc: Identificador de la configuración |
---|
312 | Devuelve: |
---|
313 | El código html de la tabla |
---|
314 | ________________________________________________________________________________________________________*/ |
---|
315 | function pintaParticionesConfigurar($cmd,$configuraciones,$idordenadores,$cc) |
---|
316 | { |
---|
317 | |
---|
318 | global $tbKeys; // Tabla contenedora de claves de configuración |
---|
319 | global $conKeys; // Contador de claves de configuración |
---|
320 | global $TbMsg; |
---|
321 | |
---|
322 | $colums=7; |
---|
323 | echo '<TR id="TR_'.$cc.'">'; |
---|
324 | echo '<TH align=center> '.$TbMsg['REMOVE'].' </TH>'; |
---|
325 | echo '<TH align=center> '.$TbMsg['PARTITION'].' </TH>'; |
---|
326 | echo '<TH align=center> '.$TbMsg['PARTITION_TYPE'].' </TH>'; |
---|
327 | echo '<TH align=center> '.$TbMsg['FILESYSTEM'].' </TH>'; |
---|
328 | echo '<TH align=center> '.$TbMsg['SIZE_KB'].' </TH>'; |
---|
329 | echo '<TH align=center> '.$TbMsg['INSTALLED_OS'].' </TH>'; |
---|
330 | echo '<TH align=center> '.$TbMsg['REFORMAT'].' </TH>'; |
---|
331 | echo '</TR>'; |
---|
332 | |
---|
333 | |
---|
334 | $aviso=false; |
---|
335 | $auxCfg=explode("@",$configuraciones); // Crea lista de particiones |
---|
336 | for($i=0;$i<sizeof($auxCfg);$i++){ |
---|
337 | $auxKey=explode(";",$auxCfg[$i]); // Toma clave de configuracion |
---|
338 | for($k=1;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición |
---|
339 | if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas |
---|
340 | if($tbKeys[$k]["numdisk"]==1){ // Solo tratar disco 1 |
---|
341 | if($tbKeys[$k]["numpar"]>0){ // Solo particiones (número>0) |
---|
342 | $icp=$cc."_".$k; // Identificador de la configuración-partición |
---|
343 | echo '<tr id="TR_'.$icp.'" align="center">'; |
---|
344 | echo '<td><input type="checkbox" onclick="eliminaParticion(this,\''.$icp.'\')"></td>'; |
---|
345 | echo '<td>'.HTMLSELECT_particiones($tbKeys[$k]["numpar"]).'</td>'; |
---|
346 | echo '<td>'.HTMLSELECT_tipospar($cmd,$tbKeys[$k]["tipopar"]).'</td>'; |
---|
347 | $sf=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,true); |
---|
348 | echo '<td>'.HTMLSELECT_sistemasficheros($cmd,$sf).'</td>'; |
---|
349 | $tm=tomaTamano($tbKeys[$k]["numpar"],$idordenadores); |
---|
350 | echo '<td><input type="text" style="width:100px" value="'.$tm.'"></td>'; |
---|
351 | echo '<td>'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'</td>'; |
---|
352 | echo '<td>'.opeFormatear().'</td>'; |
---|
353 | echo '</tr>'; |
---|
354 | } else { |
---|
355 | if ($tbKeys[$k]["codpar"]!=1) { // Aviso tabla no MSDOS. |
---|
356 | $aviso=true; |
---|
357 | } |
---|
358 | } |
---|
359 | } else { // Aviso: más de un disco. |
---|
360 | $aviso=true; |
---|
361 | } |
---|
362 | } |
---|
363 | } |
---|
364 | } |
---|
365 | // Marcar fin de zona de datos de la tabla. |
---|
366 | // Datos del disco |
---|
367 | $tm=tomaTamano(0,$idordenadores); |
---|
368 | echo '<tr id="TRIMG_'.$cc.'" align="center">'. |
---|
369 | "\n<td></td>\n<td></td>\n<td".' style="font-size: 1em; padding: 1px 0; "'.">".$TbMsg["DISK"]."</td>". |
---|
370 | "\n<td></td>\n<td".' style="font-size: 1em; padding: 1px 0; "> '.(isset($tm)?$tm:("<em>".$TbMsg["VARIABLE"]."</em>"))." <input type='hidden' id='hdsize$cc' name='hdsize$cc' style='width:100px' value='".$tm."'></td>". |
---|
371 | "\n<td></td>\n<td></td>\n</tr>"; |
---|
372 | echo '<tr><th colspan="'.$colums.'"> '.$TbMsg["WARN_DISKSIZE"].'</th></tr>'; |
---|
373 | // Mostrar aviso: solo disco 1 con tabla MSDOS. |
---|
374 | if ($aviso) { |
---|
375 | echo '<tr><th colspan="'.$colums.'">'.$TbMsg["CONFIG_NODISK1MSDOS"].'</th></tr>'; |
---|
376 | } |
---|
377 | // Botones de añadir y confirmar. |
---|
378 | if (isset($tm)) { |
---|
379 | echo '<tr><td style="background-color: #FFFFFF; height: 30px;" colspan="'.$colums.'" align="center">'; |
---|
380 | echo ' <a href="#add" style="text-decoration:none"> |
---|
381 | <img id="IMG_'.$icp.'" border=0 src="../images/boton_insertar.gif" |
---|
382 | value="'.$k.'" onclick="addParticion(this,'.$cc.')"></a> |
---|
383 | |
---|
384 | <a href="#add" style="text-decoration:none"> |
---|
385 | <img border=0 src="../images/boton_aceptar.gif" onclick="Confirmar('.$cc.')"></a></td> |
---|
386 | </tr>'; |
---|
387 | } else { |
---|
388 | echo '<tr><th colspan="'.$colums.'">'.$TbMsg["WARN_DIFFDISKSIZE"].'</th></tr>'."\n"; |
---|
389 | } |
---|
390 | } |
---|
391 | |
---|
392 | /* |
---|
393 | // |
---|
394 | // Descripcián: |
---|
395 | // (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php) |
---|
396 | // Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador, |
---|
397 | // grupo de ordenadores o aula |
---|
398 | // Parámetros: |
---|
399 | // $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato |
---|
400 | // sería una secuencia de cadenas del tipo "clave de configuración" separados por "@" |
---|
401 | // Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0 |
---|
402 | // Devuelve: |
---|
403 | // El código html de la tabla |
---|
404 | //________________________________________________________________________________________________________ |
---|
405 | // |
---|
406 | // |
---|
407 | */ |
---|
408 | function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito) |
---|
409 | { |
---|
410 | global $tbKeys; // Tabla contenedora de claves de configuración |
---|
411 | global $conKeys; // Contador de claves de configuración |
---|
412 | global $TbMsg; |
---|
413 | global $_SESSION; |
---|
414 | |
---|
415 | // Separamos las configuraciones segun el disco al que pertenezcan |
---|
416 | $diskConfigs = splitConfigurationsByDisk($configuraciones); |
---|
417 | |
---|
418 | $columns=14; |
---|
419 | echo '<TR>'; |
---|
420 | echo '<TH align=center> </TH>'; |
---|
421 | echo '<th align="center"> '.$TbMsg["DISK"].' </th>'; // Número de disco |
---|
422 | echo '<TH align=center> '.$TbMsg["PARTITION"].' </TH>'; |
---|
423 | echo '<th align="center"> '.$TbMsg["PARTITION_TYPE"].' </th>'; // Tipo de partición |
---|
424 | echo '<th align="center"> '.$TbMsg["INST_SO"].' </th>'; // Sistema Operativo Instalado |
---|
425 | echo '<th align="center"> '.$TbMsg["FILESYSTEM_SHORT"].' </th>'; // Sistema de ficheros |
---|
426 | echo '<th align="center"> '.$TbMsg["SIZE_KB"].' </th>'; // Tamaño |
---|
427 | echo '<TH align=center> '.$TbMsg[10].' </TH>'; |
---|
428 | echo '<TH align=center> '.$TbMsg[16].' </TH>'; |
---|
429 | echo '<TH align=center> '.$TbMsg["SYNC_METHOD"].' </TH>'; |
---|
430 | echo '<TH align=center> '.$TbMsg["SEND"].' </TH>'; |
---|
431 | echo ' <TH align=center> <dfn title="'.$TbMsg["TITLE_W"].'">W</dfn> </TH>'; |
---|
432 | echo ' <TH align=center> <dfn title="'.$TbMsg["TITLE_E"].'">E</dfn> </TH>'; |
---|
433 | echo ' <TH align=center> <dfn title="'.$TbMsg["TITLE_C"].'">C</dfn> </TH>'; |
---|
434 | echo '</TR>'; |
---|
435 | |
---|
436 | |
---|
437 | // Recorremos todas las configuraciones encontradas para cada disco |
---|
438 | |
---|
439 | foreach($diskConfigs as $disk => $diskConfig){ |
---|
440 | $disk = (int)$disk; |
---|
441 | echo'<tr height="16">'.chr(13); |
---|
442 | echo '<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;"> '.$TbMsg["DISK"].' '.$disk.'</td>'.chr(13); |
---|
443 | |
---|
444 | $auxCfg=explode("@",$diskConfig); // Crea lista de particiones |
---|
445 | for($i=0;$i<sizeof($auxCfg);$i++){ |
---|
446 | $auxKey=explode(";",$auxCfg[$i]); // Toma clave de configuracion |
---|
447 | for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partici�n |
---|
448 | if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas |
---|
449 | $swcc=$tbKeys[$k]["clonable"]; |
---|
450 | echo '<TR>'.chr(13); |
---|
451 | echo '<TD align=center> </TD>'; |
---|
452 | if($swcc){ |
---|
453 | $icp=$cc."_".$tbKeys[$k]["numdisk"]."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición |
---|
454 | echo '<TD align=center><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numdisk"].";".$tbKeys[$k]["numpar"].'></TD>'.chr(13); |
---|
455 | echo '<TD align=center> '.$tbKeys[$k]["numpar"].' </TD>'.chr(13); |
---|
456 | echo '<TD align=center> '.$tbKeys[$k]["tipopar"].' </TD>'.chr(13); |
---|
457 | echo '<TD align=center> '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </TD>'.chr(13); |
---|
458 | echo'<TD align=center> '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).' </TD>'.chr(13); |
---|
459 | echo'<TD align=center> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </TD>'.chr(13); |
---|
460 | echo '<TD align=center>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).'</TD>'; |
---|
461 | $metodos="CACHE=".$TbMsg[13].chr(13); |
---|
462 | $metodos.="REPO=".$TbMsg[9]; |
---|
463 | echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplemet_".$icp,"estilodesple","",1,100).'</TD>'; |
---|
464 | |
---|
465 | $metodos="SYNC0="." ".chr(13); |
---|
466 | $metodos.="SYNC1=".$TbMsg["SYNC1_DIR"].chr(13); |
---|
467 | $metodos.="SYNC2=".$TbMsg["SYNC2_FILE"]; |
---|
468 | echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplesync_".$icp,"estilodesple","",1,100).'</TD>'; |
---|
469 | |
---|
470 | $metodos="UNICAST="."Unicast".chr(13); |
---|
471 | $metodos.="MULTICAST_". mcast_syntax($cmd,$ambito,$idambito) ."="."Multicast".chr(13); |
---|
472 | $metodos.="TORRENT_". torrent_syntax($cmd,$ambito,$idambito) ."="."Torrent".chr(13); |
---|
473 | $metodos.="RSYNC=Rsync"; |
---|
474 | echo '<TD align=center>'.HTMLCTESELECT($metodos,"despletpt_".$icp,"estilodesple","",1,100).'</TD>'; |
---|
475 | |
---|
476 | echo '<td align=center><input type=checkbox name="whole" id="whl-'.$icp.'"></td>'; |
---|
477 | echo '<td align=center><input type=checkbox name="paramb" checked id="eli-'.$icp.'"></td>'; |
---|
478 | echo '<td align=center><input type=checkbox name="compres" id="cmp-'.$icp.'"></td>'; |
---|
479 | |
---|
480 | } |
---|
481 | echo '</TR>'.chr(13); |
---|
482 | } |
---|
483 | } |
---|
484 | } |
---|
485 | } |
---|
486 | |
---|
487 | echo '<TR><TD colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF; height: 5px;"> </TD></TR>'; |
---|
488 | echo '<tr><th colspan="14">'.$TbMsg["WARN_PROTOCOL"].'</th></tr>'; |
---|
489 | } |
---|