source: admin/WebConsole/includes/pintaParticiones.php @ 137ceb4

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacion
Last change on this file since 137ceb4 was aa7c8e4, checked in by Irina Gómez <irinagomez@…>, 6 years ago

#802 For EFI partition: in console in 'RestoreImage?' command can't select it and deploy wizard show a message.

  • Property mode set to 100644
File size: 24.2 KB
Line 
1<?php
2
3include_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 */
11function 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//________________________________________________________________________________________________________
42function 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">&nbsp;'.$TbMsg["DISK"].'&nbsp;</th>'; // Número de  disco
55        echo '<th align="center">&nbsp;'.$TbMsg["PARTITION"].'&nbsp;</th>'; // Número de partición
56        echo '<th align="center">&nbsp;'.$TbMsg["PARTITION_TYPE"].'&nbsp;</th>'; // Tipo de partición
57        echo '<th align="center">&nbsp;'.$TbMsg["FILESYSTEM_SHORT"].'&nbsp;</th>'; // Sistema de ficheros
58        echo '<th align="center">&nbsp;'.$TbMsg["INST_SO"].'&nbsp;</th>'; // Sistema Operativo Instalado
59        echo '<th align="center">&nbsp;'.$TbMsg["SIZE_KB"].'&nbsp;</th>'; // Tamaño
60        echo '<th align="center">&nbsp;'.$TbMsg["IMAGE"].'&nbsp;</th>'; // Imagen instalada
61        echo '<th align="center">&nbsp;'.$TbMsg["SOFT_PROFILE"].'&nbsp;</th>'; // Perfil software
62        echo '<th align="center">&nbsp;'.$TbMsg["CACHE_CONTENT"].'&nbsp;</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;">&nbsp;'.$TbMsg["DISK"].'&nbsp;'.$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">&nbsp;</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">&nbsp;'.$filesys.'&nbsp;</td>'.chr(13);
113       
114                                                echo '<td align="center">&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</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.'%">&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</a></td>'.chr(13);
119                                                } else {
120                                                        echo '<td style="text-align:right">&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</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">&nbsp;'.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
129
130                                                echo'<td align="center">&nbsp;'.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
131
132                                                if ($filesys == "CACHE") {
133                                                        echo '<td align="leght">&nbsp;';
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.') &nbsp;'.$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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$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 '&nbsp;</td>'.chr(13);
158
159                                                } else {
160                                                        if ($tbKeys[$k]["difimagen"] > 0 ) {
161                                                                echo'<td align="center">&nbsp;'.$tbKeys[$k]["fechadespliegue"].' (* '.$tbKeys[$k]["difimagen"].')&nbsp;</td>'.chr(13);
162                                                                $aviso=$TbMsg["WARN_DIFFIMAGE"];
163                                                        } else {
164                                                                echo'<td align="center">&nbsp;'.$tbKeys[$k]["fechadespliegue"].'&nbsp;</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">&nbsp;</td>'.chr(13);
178                        echo'<td align="center">&nbsp;'.$disktable[$disk].'&nbsp;</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">&nbsp;<strong>'.(isset($disksize[$disk])?$disksize[$disk]:('<em>'.$TbMsg["VARIABLE"].'</em>')).'</span></strong>&nbsp;</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.'">&nbsp;* '.$aviso.'&nbsp;</th></tr>'."\n";
193        }
194        echo '<tr><td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF; height: 5px;">&nbsp;</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//________________________________________________________________________________________________________
214function 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>&nbsp;&nbsp;</TH>';
227        echo '<th align="center">&nbsp;'.$TbMsg["DISK"].'&nbsp;</th>'; // Número de  disco
228        echo '<TH align=center>&nbsp;'.$TbMsg["PARTITION"].'&nbsp;</TH>';
229        echo '<th align="center">&nbsp;'.$TbMsg["PARTITION_TYPE"].'&nbsp;</th>'; // Tipo de partición
230        echo '<th align="center">&nbsp;'.$TbMsg["INST_SO"].'&nbsp;</th>'; // Sistema Operativo Instalado
231        echo '<th align="center">&nbsp;'.$TbMsg["FILESYSTEM_SHORT"].'&nbsp;</th>'; // Sistema de ficheros
232        echo '<th align="center">&nbsp;'.$TbMsg["SIZE_KB"].'&nbsp;</th>'; // Tamaño
233        echo '<TH align=center>&nbsp;'.$TbMsg["SAMESYSTEM_IMAGE"].'&nbsp;</TH>';
234        echo '<TH align=center>&nbsp;'.$TbMsg["DIFFERENTSYSTEM_IMAGE"].'&nbsp;</TH>';
235        echo '<TH align=center>&nbsp;'.$TbMsg["RESTORE_METHOD"].'&nbsp;</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;">&nbsp;'.$TbMsg["DISK"].'&nbsp;'.$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>&nbsp;&nbsp;</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>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
262                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
263                                                echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);       
264                                                echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);
265                                                echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</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;">&nbsp;</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________________________________________________________________________________________________________*/
315function 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>&nbsp;'.$TbMsg['REMOVE'].'&nbsp;</TH>';
325        echo '<TH align=center>&nbsp;'.$TbMsg['PARTITION'].'&nbsp;</TH>';
326        echo '<TH align=center>&nbsp;'.$TbMsg['PARTITION_TYPE'].'&nbsp;</TH>';
327        echo '<TH align=center>&nbsp;'.$TbMsg['FILESYSTEM'].'&nbsp;</TH>';
328        echo '<TH align=center>&nbsp;'.$TbMsg['SIZE_KB'].'&nbsp;</TH>';
329        echo '<TH align=center>&nbsp;'.$TbMsg['INSTALLED_OS'].'&nbsp;</TH>';
330        echo '<TH align=center>&nbsp;'.$TbMsg['REFORMAT'].'&nbsp;</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.'">&nbsp;'.$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                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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*/
408function 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>&nbsp;&nbsp;</TH>';
421        echo '<th align="center">&nbsp;'.$TbMsg["DISK"].'&nbsp;</th>'; // Número de  disco
422        echo '<TH align=center>&nbsp;'.$TbMsg["PARTITION"].'&nbsp;</TH>';
423        echo '<th align="center">&nbsp;'.$TbMsg["PARTITION_TYPE"].'&nbsp;</th>'; // Tipo de partición
424        echo '<th align="center">&nbsp;'.$TbMsg["INST_SO"].'&nbsp;</th>'; // Sistema Operativo Instalado
425        echo '<th align="center">&nbsp;'.$TbMsg["FILESYSTEM_SHORT"].'&nbsp;</th>'; // Sistema de ficheros
426        echo '<th align="center">&nbsp;'.$TbMsg["SIZE_KB"].'&nbsp;</th>'; // Tamaño
427        echo '<TH align=center>&nbsp;'.$TbMsg[10].'&nbsp;</TH>';
428        echo '<TH align=center>&nbsp;'.$TbMsg[16].'&nbsp;</TH>';       
429        echo '<TH align=center>&nbsp;'.$TbMsg["SYNC_METHOD"].'&nbsp;</TH>';
430        echo '<TH align=center>&nbsp;'.$TbMsg["SEND"].'&nbsp;</TH>';
431        echo '  <TH align=center>&nbsp;<dfn  title="'.$TbMsg["TITLE_W"].'">W</dfn> &nbsp;</TH>';
432        echo '  <TH align=center>&nbsp;<dfn  title="'.$TbMsg["TITLE_E"].'">E</dfn> &nbsp;</TH>';
433        echo '  <TH align=center>&nbsp;<dfn  title="'.$TbMsg["TITLE_C"].'">C</dfn> &nbsp;</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;">&nbsp;'.$TbMsg["DISK"].'&nbsp;'.$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>&nbsp;&nbsp;</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>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
456                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
457                                                echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);       
458                                                echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);
459                                                echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</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;">&nbsp;</TD></TR>';
488        echo '<tr><th colspan="14">'.$TbMsg["WARN_PROTOCOL"].'</th></tr>';
489}
Note: See TracBrowser for help on using the repository browser.