source: admin/WebConsole/includes/pintaParticiones.php @ b17e87e

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-instalacionwebconsole3
Last change on this file since b17e87e was 0c15976, checked in by ramon <ramongomez@…>, 7 years ago

#821: Cambios en el comando Particionar y Formatear:

  • Soportar varios grupos de configuraciones en ámbito de aulas.
  • Nuevas cabeceras más descriptivas y con traducción al inglés.
  • Avisar si un grupo de ordenadores tiene discos con distinto tamaño e indicar que debe desagruparse para poder aplicar los cambios.

En el formulario de configuración de aula, indicar que hay grupos de ordenadores con distinto tamaño de disco.

git-svn-id: https://opengnsys.es/svn/branches/version1.1@5559 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 32.4 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 = split("@",$configuraciones);
15        foreach($configs as $config){
16                $parts = split(";",$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//      Parametros:
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
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=split("@",$diskConfig); // Crea lista de particiones
75                for($i=0;$i<sizeof($auxCfg);$i++){
76                        $auxKey=split(";",$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                                                echo'<td align="center">&nbsp;'.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
124
125                                                echo'<td align="center">&nbsp;'.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
126
127                                                if ($filesys == "CACHE") {
128                                                        echo '<td align="leght">&nbsp;';
129                                                        $campocache = eregi_replace("[\n|\r|\n\r]", '', tomaCache($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]));
130                                                        $ima=split(",",$campocache);
131                                                        $numero=1;
132                                                        for ($x=0;$x<count($ima); $x++) {
133                                                                if(substr($ima[$x],-3)==".MB") {
134                                                                        if ( $ima[$x] == "0.MB" ){
135                                                                                echo '<font color=red><strong>'.$TbMsg["CACHE_COMPLETE"].': '.$ima[$x].'</strong></font>';
136                                                                        }else{
137                                                                                echo '<strong>'.$TbMsg["CACHE_FREESPACE"].':  '.$ima[$x].'</strong>';
138                                                                        }
139                                                                }elseif (! empty($ima[1])){
140                                                                        // $dir=is_dir('$ima');echo $dir;
141                                                                        // if ($ima == "directorio"){$dir="si";}
142                                                                        // Esto para la informacion de la imagen
143                                                                        if (substr($ima[$x],-5)==".diff"){$info="F";}elseif(substr($ima[$x],-4)==".img"){$info="F";}else{$info="D";}
144                                                                        // Esto para numerarla
145                                                                        if(substr($ima[$x],-4)==".img" || substr($ima[$x],-5)==".diff" || substr($ima[$x],-4)=="") {
146                                                                                echo '<br />('.$info.') &nbsp;'.$numero++.'.-'.$ima[$x];
147                                                                        } elseif(ereg(".sum",$ima[$x]) || ereg(".torrent",$ima[$x]) || ereg(".full.sum",$ima[$x])) {
148                                                                                echo '<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$ima[$x];
149                                                                                }else{
150                                                                                        echo '<br /><font color=blue>('.$info.') </font>'.$numero++.'.-<font color=blue>'.$ima[$x]."</font>";
151                                                                                        }
152                                                                }
153                                                        }
154                                                        // Si es CACHE incluyo cambo oculto con el tamaño
155                                                        echo "\n    <input type='hidden' name='cachesize' value='".tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"])."'/>\n";
156                                                        echo '&nbsp;</td>'.chr(13);
157
158                                                } else {
159                                                        if ($tbKeys[$k]["difimagen"] > 0 ) {
160                                                                echo'<td align="center">&nbsp;'.$tbKeys[$k]["fechadespliegue"].' (* '.$tbKeys[$k]["difimagen"].')&nbsp;</td>'.chr(13);
161                                                                $aviso=$TbMsg["WARN_DIFFIMAGE"];
162                                                        } else {
163                                                                echo'<td align="center">&nbsp;'.$tbKeys[$k]["fechadespliegue"].'&nbsp;</td>'.chr(13);
164                                                        }
165                                                }
166                                       
167                                                echo'</tr>'.chr(13);
168                                        }
169                                        break;
170                                }
171                        }
172                }       
173                // Mostrar información del disco, si se ha obtenido.
174                if (!empty ($disksize)) {
175                        echo'<tr height="16">'.chr(13);
176                        echo'<td align="center">&nbsp;</td>'.chr(13);
177                        echo'<td align="center">&nbsp;'.$disktable[$disk].'&nbsp;</td>'.chr(13);
178                        echo'<td></td>'.chr(13);
179                        echo'<td></td>'.chr(13);
180                        echo'<td></td>'.chr(13);
181                        echo'<td align="right">&nbsp;<strong>'.(isset($disksize[$disk])?$disksize[$disk]:('<em>'.$TbMsg["VARIABLE"].'</em>')).'</span></strong>&nbsp;</td>'.chr(13);
182                        // Creamos un campo oculto para guardar información sobre el disco y su tamaño separados por ;
183                        echo "<input type='hidden' name='disksize_".$disk."' value='".$disksize[$disk]."'/>\n";
184                        echo'<td></td>'.chr(13);
185                        echo'<td></td>'.chr(13);
186                        echo'<td></td>'.chr(13);
187                        echo'</tr>'.chr(13);
188                }
189        }
190        if (!empty($aviso)) {
191                echo '<tr><th colspan="'.$columns.'">&nbsp;* '.$aviso.'&nbsp;</th></tr>'."\n";
192        }
193        echo '<tr height="5"><td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;">&nbsp;</td></tr>';
194}
195
196
197//________________________________________________________________________________________________________
198//
199//      Descripción:
200//              (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php)
201//              Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
202//              grupo de ordenadores o aula
203//      Parametros:
204//              $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato
205//              sería una secuencia de cadenas del tipo "clave de configuración" separados por "@"
206//                      Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
207//      Devuelve:
208//              El código html de la tabla
209// version 1.1: cliente con varios repositorios -  HTMLSELECT_imagenes: cambia parametros idordenadores por idambito
210// autor: Irina Gomez, Universidad de Sevilla
211// fecha 2015-06-17
212//________________________________________________________________________________________________________
213function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito)
214{
215        global $tbKeys; // Tabla contenedora de claves de configuración
216        global $conKeys; // Contador de claves de configuración
217        global $TbMsg;
218        global $_SESSION;
219       
220        // Separamos las configuraciones segun el disco al que pertenezcan
221        $diskConfigs = splitConfigurationsByDisk($configuraciones);
222       
223        $columns=10;
224        echo '<TR>';
225        echo '<TH align=center>&nbsp;&nbsp;</TH>';
226        echo '<th align="center">&nbsp;'.$TbMsg["DISK"].'&nbsp;</th>'; // Número de  disco
227        echo '<TH align=center>&nbsp;'.$TbMsg["PARTITION"].'&nbsp;</TH>';
228        echo '<th align="center">&nbsp;'.$TbMsg["PARTITION_TYPE"].'&nbsp;</th>'; // Tipo de partición
229        echo '<th align="center">&nbsp;'.$TbMsg["INST_SO"].'&nbsp;</th>'; // Sistema Operativo Instalado
230        echo '<th align="center">&nbsp;'.$TbMsg["FILESYSTEM_SHORT"].'&nbsp;</th>'; // Sistema de ficheros
231        echo '<th align="center">&nbsp;'.$TbMsg["SIZE_KB"].'&nbsp;</th>'; // Tamaño
232        echo '<TH align=center>&nbsp;'.$TbMsg["SAMESYSTEM_IMAGE"].'&nbsp;</TH>';
233        echo '<TH align=center>&nbsp;'.$TbMsg["DIFFERENTSYSTEM_IMAGE"].'&nbsp;</TH>';
234        echo '<TH align=center>&nbsp;'.$TbMsg["RESTORE_METHOD"].'&nbsp;</TH>';
235        echo '</TR>';
236       
237       
238        // Recorremos todas las configuraciones encontradas para cada disco
239       
240        foreach($diskConfigs as $disk => $diskConfig){
241                $disk = (int)$disk;
242                echo'<tr height="16">'.chr(13);
243                echo '<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;'.$TbMsg["DISK"].'&nbsp;'.$disk.'</td>'.chr(13);
244                 
245                $auxCfg=split("@",$diskConfig); // Crea lista de particiones
246                for($i=0;$i<sizeof($auxCfg);$i++){
247                        $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion
248                        for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición
249                                if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas
250                                    if($tbKeys[$k]["numpar"]!=0){    // No es info. del disco (part. 0)
251                                        $swcc=$tbKeys[$k]["clonable"];
252                                        if($swcc){
253                                                echo '<TR>'.chr(13);
254                                                echo '<TD align=center>&nbsp;&nbsp;</TD>';
255                                                $icp=$cc."_".$tbKeys[$k]["numdisk"]."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición
256                                                echo '<TD ><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numdisk"].";".$tbKeys[$k]["numpar"].'></TD>'.chr(13);
257                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
258                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
259                                                echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);       
260                                                echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);
261                                                echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);   
262                                                echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idambito,$ambito).'</TD>';
263                                                echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idambito,$ambito).'</TD>';
264       
265                                                //Clonación
266                                                $metodos="UNICAST=UNICAST-CACHE".chr(13);
267                                                $metodos.="UNICAST-DIRECT=UNICAST-DIRECT".chr(13);
268                                                $metodos.="MULTICAST " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-CACHE".chr(13);
269                                                $metodos.="MULTICAST-DIRECT " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-DIRECT".chr(13);
270                                                $metodos.="TORRENT " . torrent_syntax($cmd,$ambito,$idambito) . "=TORRENT-CACHE";
271       
272                                                $TBmetodos["UNICAST-CACHE"]=1;
273                                                $TBmetodos["UNICAST-DIRECT"]=2;
274                                                $TBmetodos["MULTICAST-CACHE"]=3;
275                                                $TBmetodos["MULTICAST-DIRECT"]=4;
276                                                $TBmetodos["TORRENT-CACHE"]=5;
277                                                $idxc=$_SESSION["protclonacion"];
278                                                if ($idxc == "UNICAST") {
279                                                        $idxc = "UNICAST-DIRECT";
280                                                }
281                                                echo '<TD>'.HTMLCTESELECT($metodos,"protoclonacion_".$icp,"estilodesple","",$TBmetodos[$idxc],100).'</TD>';
282                                                echo '</TR>'.chr(13);
283                                        }
284                                    }
285                                }
286                        }
287                }
288        }
289        echo '<TR height=5><TD colspan='.$columns.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;">&nbsp;</TD></TR>';
290}
291
292/*________________________________________________________________________________________________________
293
294        Descripción:
295                (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php)
296                Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
297                grupo de ordenadores o aula
298        Parametros:
299                $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato
300                                                sería una secuencia de cadenas del tipo "clave de configuración" separados por "@"
301                                                Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
302                $idordenadores: cadena con los identificadores de los ordenadores que forman parte del bloque
303                $cc: Identificador de la configuración
304        Devuelve:
305                El código html de la tabla
306________________________________________________________________________________________________________*/
307function pintaParticionesConfigurar($cmd,$configuraciones,$idordenadores,$cc)
308{
309
310        global $tbKeys; // Tabla contenedora de claves de configuración
311        global $conKeys; // Contador de claves de configuración
312        global $TbMsg;
313
314        $colums=7;
315        echo '<TR id="TR_'.$cc.'">';
316        echo '<TH align=center>&nbsp;'.$TbMsg['REMOVE'].'&nbsp;</TH>';
317        echo '<TH align=center>&nbsp;'.$TbMsg['PARTITION'].'&nbsp;</TH>';
318        echo '<TH align=center>&nbsp;'.$TbMsg['PARTITION_TYPE'].'&nbsp;</TH>';
319        echo '<TH align=center>&nbsp;'.$TbMsg['FILESYSTEM'].'&nbsp;</TH>';
320        echo '<TH align=center>&nbsp;'.$TbMsg['SIZE_KB'].'&nbsp;</TH>';
321        echo '<TH align=center>&nbsp;'.$TbMsg['INSTALLED_OS'].'&nbsp;</TH>';
322        echo '<TH align=center>&nbsp;'.$TbMsg['REFORMAT'].'&nbsp;</TH>';       
323        echo '</TR>';
324
325
326        $aviso=false;
327        $auxCfg=split("@",$configuraciones); // Crea lista de particiones
328        for($i=0;$i<sizeof($auxCfg);$i++){
329                $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion
330                for($k=1;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición
331                        if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas
332                                if($tbKeys[$k]["numdisk"]==1){ // Solo tratar disco 1
333                                        if($tbKeys[$k]["numpar"]>0){ // Solo particiones (número>0)
334                                                $icp=$cc."_".$k; // Identificador de la configuración-partición
335                                                echo '<tr id="TR_'.$icp.'" align="center">';
336                                                echo '<td><input type="checkbox" onclick="eliminaParticion(this,\''.$icp.'\')"></td>';
337                                                echo '<td>'.HTMLSELECT_particiones($tbKeys[$k]["numpar"]).'</td>';
338                                                echo '<td>'.HTMLSELECT_tipospar($cmd,$tbKeys[$k]["tipopar"]).'</td>';
339                                                $sf=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,true);
340                                                echo '<td>'.HTMLSELECT_sistemasficheros($cmd,$sf).'</td>';
341                                                $tm=tomaTamano($tbKeys[$k]["numpar"],$idordenadores);
342                                                echo '<td><input type="text" style="width:100" value="'.$tm.'"></td>';         
343                                                echo '<td>'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'</td>';                                       
344                                                echo '<td>'.opeFormatear().'</td>';
345                                                echo '</tr>';
346                                        } else {
347                                                if ($tbKeys[$k]["codpar"]!=1) { // Aviso tabla no MSDOS.
348                                                        $aviso=true;
349                                                }
350                                        }
351                                } else {                        // Aviso: más de un disco.
352                                        $aviso=true;
353                                }
354                        }
355                }
356        }
357        // Marcar fin de zona de datos de la tabla.
358        // Datos del disco
359        $tm=tomaTamano(0,$idordenadores);
360        echo '<tr id="TRIMG_'.$cc.'" align="center">'.
361             "\n<td></td>\n<td></td>\n<td".' style="font-size: 1em; padding: 1px 0px;  "'.">".$TbMsg["DISK"]."</td>".
362     "\n<td></td>\n<td".' style="font-size: 1em; padding: 1px 0px; "> '.(isset($tm)?$tm:("<em>".$TbMsg["VARIABLE"]."</em>"))." <input type='hidden' id='hdsize$cc' name='hdsize$cc' style='width:100' value='".$tm."'></td>".
363             "\n<td></td>\n<td></td>\n</tr>";
364        echo '<tr><th colspan="'.$colums.'">&nbsp;'.$TbMsg["WARN_DISKSIZE"].'</th></tr>';
365        // Mostrar aviso: solo disco 1 con tabla MSDOS.
366        if ($aviso) {
367                echo '<tr><th colspan="'.$colums.'">'.$TbMsg["CONFIG_NODISK1MSDOS"].'</th></tr>';
368        }
369        // Botones de añadir y confirmar.
370        if (isset($tm)) {
371                echo '<TR height=30><TD style="BACKGROUND-COLOR: #FFFFFF;" colspan='.$colums.' align=center>';
372                echo '  <A href="#add" style="text-decoration:none">
373                                                <IMG id="IMG_'.$icp.'" border=0 src="../images/boton_insertar.gif"
374                                                value="'.$k.'" onclick="addParticion(this,'.$cc.')"></A>
375                                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
376                                        <A href="#add" style="text-decoration:none">
377                                                <IMG border=0 src="../images/boton_aceptar.gif" onclick="Confirmar('.$cc.')"></A></TD>
378                                        </TR>';
379        } else {
380                echo '<tr><th colspan="'.$colums.'">'.$TbMsg["WARN_DIFFDISKSIZE"].'</th></tr>'."\n";
381        }
382}
383
384/*
385//
386//      Descripcion:
387//              (Esta funci�n es llamada por pintaConfiguraciones que est� incluida en ConfiguracionesParticiones.php)
388//              Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
389//              grupo de ordenadores o aula
390//      Parametros:
391//              $configuraciones: Cadena con las configuraciones de particioners del �mbito. El formato
392//              ser�a una secuencia de cadenas del tipo "clave de configuraci�n" separados por "@"
393//                      Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
394//      Devuelve:
395//              El c�digo html de la tabla
396//________________________________________________________________________________________________________
397//
398//
399*/
400function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito)
401{
402        global $tbKeys; // Tabla contenedora de claves de configuraci�n
403        global $conKeys; // Contador de claves de configuraci�n
404        global $TbMsg;
405        global $_SESSION;
406       
407        // Separamos las configuraciones segun el disco al que pertenezcan
408        $diskConfigs = splitConfigurationsByDisk($configuraciones);
409       
410        $columns=14;
411        echo '<TR>';
412        echo '<TH align=center>&nbsp;&nbsp;</TH>';
413        echo '<th align="center">&nbsp;'.$TbMsg["DISK"].'&nbsp;</th>'; // Número de  disco
414        echo '<TH align=center>&nbsp;'.$TbMsg["PARTITION"].'&nbsp;</TH>';
415        echo '<th align="center">&nbsp;'.$TbMsg["PARTITION_TYPE"].'&nbsp;</th>'; // Tipo de partición
416        echo '<th align="center">&nbsp;'.$TbMsg["INST_SO"].'&nbsp;</th>'; // Sistema Operativo Instalado
417        echo '<th align="center">&nbsp;'.$TbMsg["FILESYSTEM_SHORT"].'&nbsp;</th>'; // Sistema de ficheros
418        echo '<th align="center">&nbsp;'.$TbMsg["SIZE_KB"].'&nbsp;</th>'; // Tamaño
419        echo '<TH align=center>&nbsp;'.$TbMsg[10].'&nbsp;</TH>';
420        echo '<TH align=center>&nbsp;'.$TbMsg[16].'&nbsp;</TH>';       
421        echo '<TH align=center>&nbsp;'.$TbMsg["SYNC_METHOD"].'&nbsp;</TH>';
422        echo '<TH align=center>&nbsp;'.$TbMsg["SEND"].'&nbsp;</TH>';
423        echo '  <TH align=center>&nbsp;<dfn  title="'.$TbMsg["TITLE_W"].'">W</dfn> &nbsp;</TH>';
424        echo '  <TH align=center>&nbsp;<dfn  title="'.$TbMsg["TITLE_E"].'">E</dfn> &nbsp;</TH>';
425        echo '  <TH align=center>&nbsp;<dfn  title="'.$TbMsg["TITLE_C"].'">C</dfn> &nbsp;</TH>';
426        echo '</TR>';
427
428       
429        // Recorremos todas las configuraciones encontradas para cada disco
430       
431        foreach($diskConfigs as $disk => $diskConfig){
432                $disk = (int)$disk;
433                echo'<tr height="16">'.chr(13);
434                echo '<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;'.$TbMsg["DISK"].'&nbsp;'.$disk.'</td>'.chr(13);
435             
436                $auxCfg=split("@",$diskConfig); // Crea lista de particiones
437                for($i=0;$i<sizeof($auxCfg);$i++){
438                        $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion
439                        for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partici�n
440                                if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas
441                                        $swcc=$tbKeys[$k]["clonable"];
442                                        echo '<TR>'.chr(13);
443                                        echo '<TD align=center>&nbsp;&nbsp;</TD>';
444                                        if($swcc){
445                                                $icp=$cc."_".$tbKeys[$k]["numdisk"]."_".$tbKeys[$k]["numpar"]; // Identificador de la configuraci�n-partici�n
446                                                echo '<TD align=center><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numdisk"].";".$tbKeys[$k]["numpar"].'></TD>'.chr(13);
447                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
448                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
449                                                echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);       
450                                                echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);
451                                                echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);   
452                                                echo '<TD align=center>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).'</TD>';
453                                                $metodos="CACHE=".$TbMsg[13].chr(13);
454                                                $metodos.="REPO=".$TbMsg[9];           
455                                                echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplemet_".$icp,"estilodesple","",1,100).'</TD>';
456                                               
457                                                $metodos="SYNC0="."  ".chr(13);
458                                                $metodos.="SYNC1=".$TbMsg["SYNC1_DIR"].chr(13);                                         
459                                                $metodos.="SYNC2=".$TbMsg["SYNC2_FILE"];               
460                                                echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplesync_".$icp,"estilodesple","",1,100).'</TD>';                                                           
461                                                       
462                                                $metodos="UNICAST="."Unicast".chr(13);                                         
463                                                $metodos.="MULTICAST_". mcast_syntax($cmd,$ambito,$idambito) ."="."Multicast".chr(13);         
464                                                $metodos.="TORRENT_". torrent_syntax($cmd,$ambito,$idambito) ."="."Torrent".chr(13);
465                                                $metodos.="RSYNC=Rsync";
466                                                echo '<TD align=center>'.HTMLCTESELECT($metodos,"despletpt_".$icp,"estilodesple","",1,100).'</TD>';                                                             
467                                               
468                                                echo '<td align=center><input type=checkbox name="whole" id="whl-'.$icp.'"></td>';     
469                                                echo '<td align=center><input type=checkbox name="paramb" checked id="eli-'.$icp.'"></td>';     
470                                                echo '<td align=center><input type=checkbox name="compres" id="cmp-'.$icp.'"></td>';   
471                                                                               
472                                        }
473                                        echo '</TR>'.chr(13);
474                                }
475                        }
476                }
477        }       
478
479        echo '<TR height=5><TD colspan='.$columns.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;">&nbsp;</TD></TR>';
480        echo '<tr><th colspan="14">'.$TbMsg["WARN_PROTOCOL"].'</th></tr>';
481}
482/**
483 * Las funcion pintaParticionesRestaurarImagenSincronizacion1 sustituye a las funciones
484 * pintaParticionesRestaurarSoftIncremental y pintaParticionesRestaurarImagenBasica
485 * para volver a usarlas tan sólo hay que ir al fichero comandos/RestaurarImagenBasica o comandos/RestaurarSoftIncremental y cambiar la
486 * llamada a la función que queramos en el parametro de pintaConfiguraciones.
487 * Actualmente en ambos ficheros llaman a la función pintaParticionesRestaurarImagenSincronizacion1 ya que pintan
488 * exactamente lo mismo.
489 *
490
491//*********************************************************************************************
492//      FUNCIONES
493//*********************************************************************************************
494//
495//      Descripci�n:
496//              (Esta funci�n es llamada por pintaConfiguraciones que est� incluida en ConfiguracionesParticiones.php)
497//              Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
498//              grupo de ordenadores o aula
499//      Parametros:
500//              $configuraciones: Cadena con las configuraciones de particioners del �mbito. El formato
501//              ser�a una secuencia de cadenas del tipo "clave de configuraci�n" separados por "@"
502//                      Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
503//      Devuelve:
504//              El c�digo html de la tabla
505//________________________________________________________________________________________________________
506//
507//
508function pintaParticionesRestaurarSoftIncremental($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito)
509{
510        global $tbKeys; // Tabla contenedora de claves de configuraci�n
511        global $conKeys; // Contador de claves de configuraci�n
512        global $TbMsg;
513        global $_SESSION;
514       
515        // Separamos las configuraciones segun el disco al que pertenezcan
516        $diskConfigs = splitConfigurationsByDisk($configuraciones);
517       
518        $columns=9;
519        echo '<TR>';
520        echo '<TH align=center>&nbsp;&nbsp;</TH>';
521        echo '<th align="center">&nbsp;'.$TbMsg["DISK"].'&nbsp;</th>'; // Número de  disco
522        echo '<TH align=center>&nbsp;'.$TbMsg["PARTITION"].'&nbsp;</TH>';
523        echo '<th align="center">&nbsp;'.$TbMsg["PARTITION_TYPE"].'&nbsp;</th>'; // Tipo de partición
524        echo '<th align="center">&nbsp;'.$TbMsg["INST_SO"].'&nbsp;</th>'; // Sistema Operativo Instalado
525        echo '<th align="center">&nbsp;'.$TbMsg["FILESYSTEM_SHORT"].'&nbsp;</th>'; // Sistema de ficheros
526        echo '<th align="center">&nbsp;'.$TbMsg["SIZE_KB"].'&nbsp;</th>'; // Tamaño
527        echo '<TH align=center>&nbsp;'.$TbMsg[10].'&nbsp;</TH>';
528        echo '<TH align=center>&nbsp;'.$TbMsg[16].'&nbsp;</TH>';       
529        echo '</TR>';
530
531       
532        // Recorremos todas las configuraciones encontradas para cada disco
533       
534        foreach($diskConfigs as $disk => $diskConfig){
535                $disk = (int)$disk;
536                echo'<tr height="16">'.chr(13);
537                echo '<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;'.$TbMsg["DISK"].'&nbsp;'.$disk.'</td>'.chr(13);
538             
539                $auxCfg=split("@",$diskConfig); // Crea lista de particiones
540                for($i=0;$i<sizeof($auxCfg);$i++){
541                        $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion
542                        for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partici�n
543                                if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas
544                                        $swcc=$tbKeys[$k]["clonable"];
545                                        echo '<TR>'.chr(13);
546                                        echo '<TD align=center>&nbsp;&nbsp;</TD>';
547                                        if($swcc){
548                                                $icp=$cc."_".$tbKeys[$k]["numpar"]; // Identificador de la configuraci�n-partici�n
549                                                echo '<TD align=center><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numpar"].'></TD>'.chr(13);
550                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
551                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
552                                                echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);       
553                                                echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
554                                                echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);   
555                                                echo '<TD align=center>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).'</TD>';
556                                                $metodos="CACHE=".$TbMsg[13].chr(13);
557                                                $metodos.="REPO=".$TbMsg[9];           
558                                                echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplemet_".$icp,"estilodesple","",1,100).'</TD>';
559                                                       
560                                        }
561                                        echo '</TR>'.chr(13);
562                                }
563                        }
564                }
565        }       
566        echo '<TR height=5><TD colspan='.$columns.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;">&nbsp;</TD></TR>';
567}
568
569//*********************************************************************************************
570//      FUNCIONES
571//*********************************************************************************************
572//
573//      Descripci�n:
574//              (Esta funci�n es llamada por pintaConfiguraciones que est� incluida en ConfiguracionesParticiones.php)
575//              Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
576//              grupo de ordenadores o aula
577//      Parametros:
578//              $configuraciones: Cadena con las configuraciones de particioners del �mbito. El formato
579//              ser�a una secuencia de cadenas del tipo "clave de configuraci�n" separados por "@"
580//                      Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
581//      Devuelve:
582//              El c�digo html de la tabla
583//________________________________________________________________________________________________________
584//
585//
586function pintaParticionesRestaurarImagenBasica($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito)
587{
588        global $tbKeys; // Tabla contenedora de claves de configuraci�n
589        global $conKeys; // Contador de claves de configuraci�n
590        global $TbMsg;
591        global $_SESSION;
592       
593        // Separamos las configuraciones segun el disco al que pertenezcan
594        $diskConfigs = splitConfigurationsByDisk($configuraciones);
595       
596        $columns=9;
597        echo '<TR>';
598        echo '<TH align=center>&nbsp;&nbsp;</TH>';
599        echo '<th align="center">&nbsp;'.$TbMsg["DISK"].'&nbsp;</th>'; // Número de  disco
600        echo '<TH align=center>&nbsp;'.$TbMsg["PARTITION"].'&nbsp;</TH>';
601        echo '<th align="center">&nbsp;'.$TbMsg["PARTITION_TYPE"].'&nbsp;</th>'; // Tipo de partición
602        echo '<th align="center">&nbsp;'.$TbMsg["INST_SO"].'&nbsp;</th>'; // Sistema Operativo Instalado
603        echo '<th align="center">&nbsp;'.$TbMsg["FILESYSTEM_SHORT"].'&nbsp;</th>'; // Sistema de ficheros
604        echo '<th align="center">&nbsp;'.$TbMsg["SIZE_KB"].'&nbsp;</th>'; // Tamaño
605        echo '<TH align=center>&nbsp;'.$TbMsg[10].'&nbsp;</TH>';
606        echo '<TH align=center>&nbsp;'.$TbMsg[16].'&nbsp;</TH>';
607        echo '</TR>';
608
609        // Recorremos todas las configuraciones encontradas para cada disco
610       
611        foreach($diskConfigs as $disk => $diskConfig){
612                $disk = (int)$disk;
613                echo'<tr height="16">'.chr(13);
614                echo '<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;'.$TbMsg["DISK"].'&nbsp;'.$disk.'</td>'.chr(13);
615             
616                $auxCfg=split("@",$diskConfig); // Crea lista de particiones
617                for($i=0;$i<sizeof($auxCfg);$i++){
618                        $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion
619                        for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partici�n
620                                if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas
621                                        $swcc=$tbKeys[$k]["clonable"];
622                                        if($swcc){
623                                                echo '<TR>'.chr(13);
624                                                echo '<TD align=center>&nbsp;&nbsp;</TD>';
625                                                $icp=$cc."_".$tbKeys[$k]["numpar"]; // Identificador de la configuraci�n-partici�n
626                                                echo '<TD align=center><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numpar"].'></TD>'.chr(13);
627                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
628                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
629                                                echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);       
630                                                echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
631                                                echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);   
632                                                echo '<TD align=center>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).'</TD>';
633                                                $metodos="CACHE=".$TbMsg[13].chr(13);
634                                                $metodos.="REPO=".$TbMsg[9];           
635                                                echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplemet_".$icp,"estilodesple","",1,100).'</TD>';
636                                        }
637                                }
638                        }
639                }
640        }       
641        echo '<TR height=5><TD colspan='.$columns.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;">&nbsp;</TD></TR>';
642}
643**/
644
Note: See TracBrowser for help on using the repository browser.