source: admin/WebConsole/includes/pintaParticiones.php @ 72d19da

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 72d19da was a7406f2, checked in by Ramón M. Gómez <ramongomez@…>, 6 years ago

#834: Fixing more code cleanup: some file encoding, CSS units, Javascript comparisons, HTML tags, PHP variables.

  • Property mode set to 100644
File size: 24.0 KB
RevLine 
[b2651a6]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();
[9f1274e]14        $configs = explode("@",$configuraciones);
[b2651a6]15        foreach($configs as $config){
[9f1274e]16                $parts = explode(";",$config);
[b2651a6]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
[a7406f2]37//      Parámetros:
[b2651a6]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;
[0563f44]47        $disktable = array();
[b2651a6]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
[476d1a0f]66        $aviso="";
[b2651a6]67        foreach($diskConfigs as $disk => $diskConfig){
[2ff31f9]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);
[b2651a6]71
72
73               
[9f1274e]74                $auxCfg=explode("@",$diskConfig); // Crea lista de particiones
[b2651a6]75                for($i=0;$i<sizeof($auxCfg);$i++){
[9f1274e]76                        $auxKey=explode(";",$auxCfg[$i]); // Toma clave de configuracion
[b2651a6]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;
[fd1846f]89                                                        case 3:  $disktable[$tbKeys[$k]["numdisk"]] = "LVM";
90                                                                 break;
[9ca55ab]91                                                        case 4:  $disktable[$tbKeys[$k]["numdisk"]] = "ZPOOL";
92                                                                 break;
[b2651a6]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);
[9ca55ab]100                                                if ($disktable[$tbKeys[$k]["numdisk"]] == "LVM" or $disktable[$tbKeys[$k]["numdisk"]] == "ZPOOL") {
[fd1846f]101                                                        echo '<td></td>'.chr(13);
[b2651a6]102                                                }
103                                                else {
[fd1846f]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                                                        }
[b2651a6]110                                                }
[98e7f6e]111                                                $filesys=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]);
112                                                echo'<td align="center">&nbsp;'.$filesys.'&nbsp;</td>'.chr(13);
[b2651a6]113       
[b0c9683]114                                                echo '<td align="center">&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
[965ac11]115                                                // Mostrar uso solo en clientes individuales.
[27810be]116                                                $uso=tomaUso($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]);
117                                                if ($uso > 0 and strpos($idordenadores, ',') === false) {
[0563f44]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);
[6b53071]119                                                } else {
[0563f44]120                                                        echo '<td style="text-align:right">&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
[6b53071]121                                                }
[fae755f]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
[b2651a6]128                                                echo'<td align="center">&nbsp;'.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
[b0c9683]129
[b2651a6]130                                                echo'<td align="center">&nbsp;'.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
[973f1df]131
[98e7f6e]132                                                if ($filesys == "CACHE") {
[b2651a6]133                                                        echo '<td align="leght">&nbsp;';
[9f1274e]134                                                        $campocache = preg_replace("/[\n|\r|\n\r]/i", '', tomaCache($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]));
135                                                        $ima=explode(",",$campocache);
[b2651a6]136                                                        $numero=1;
137                                                        for ($x=0;$x<count($ima); $x++) {
138                                                                if(substr($ima[$x],-3)==".MB") {
[1a2fa9d8]139                                                                        if ( $ima[$x] == "0.MB" ){
[a7406f2]140                                                                                echo '<span style="color: red"><strong>'.$TbMsg["CACHE_COMPLETE"].': '.$ima[$x].'</strong></span>';
[1a2fa9d8]141                                                                        }else{
142                                                                                echo '<strong>'.$TbMsg["CACHE_FREESPACE"].':  '.$ima[$x].'</strong>';
143                                                                        }
[48b5016]144                                                                }elseif (! empty($ima[1])){
[5d4a2a9]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];
[9f1274e]150                                                                        } elseif(preg_match("/.sum/",$ima[$x]) or preg_match("/.torrent/",$ima[$x]) or preg_match("/.full.sum/",$ima[$x])) {
[5d4a2a9]151                                                                                echo '<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$ima[$x];
152                                                                                }else{
[a7406f2]153                                                                                        echo '<br /><span style="color: blue">('.$info.') </span>'.$numero++.'.-<span style="color: blue">'.$ima[$x]."</span>";
[5d4a2a9]154                                                                                        }
[b2651a6]155                                                                }
156                                                        }
157                                                        echo '&nbsp;</td>'.chr(13);
[1d599bb]158
[b2651a6]159                                                } else {
[476d1a0f]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                                                        }
[b2651a6]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);
[92cf666]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);
[0c15976]182                        echo'<td align="right">&nbsp;<strong>'.(isset($disksize[$disk])?$disksize[$disk]:('<em>'.$TbMsg["VARIABLE"].'</em>')).'</span></strong>&nbsp;</td>'.chr(13);
[92cf666]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);
[b2651a6]187                        echo'<td></td>'.chr(13);
188                        echo'</tr>'.chr(13);
189                }
190        }
[f2eade3]191        if (!empty($aviso)) {
[476d1a0f]192                echo '<tr><th colspan="'.$columns.'">&nbsp;* '.$aviso.'&nbsp;</th></tr>'."\n";
193        }
[a7406f2]194        echo '<tr><td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF; height: 5px;">&nbsp;</td></tr>';
[b2651a6]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
[a7406f2]204//      Parámetros:
[b2651a6]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
[0285a39]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
[b2651a6]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){
[2ff31f9]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);
[b2651a6]245                 
[9f1274e]246                $auxCfg=explode("@",$diskConfig); // Crea lista de particiones
[b2651a6]247                for($i=0;$i<sizeof($auxCfg);$i++){
[9f1274e]248                        $auxKey=explode(";",$auxCfg[$i]); // Toma clave de configuracion
[b2651a6]249                        for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición
250                                if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas
251                                    if($tbKeys[$k]["numpar"]!=0){    // No es info. del disco (part. 0)
252                                        $swcc=$tbKeys[$k]["clonable"];
253                                        if($swcc){
254                                                echo '<TR>'.chr(13);
255                                                echo '<TD align=center>&nbsp;&nbsp;</TD>';
256                                                $icp=$cc."_".$tbKeys[$k]["numdisk"]."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición
257                                                echo '<TD ><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numdisk"].";".$tbKeys[$k]["numpar"].'></TD>'.chr(13);
258                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
259                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
260                                                echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);       
261                                                echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);
262                                                echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);   
[0285a39]263                                                echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idambito,$ambito).'</TD>';
264                                                echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idambito,$ambito).'</TD>';
[b2651a6]265       
266                                                //Clonación
267                                                $metodos="UNICAST=UNICAST-CACHE".chr(13);
268                                                $metodos.="UNICAST-DIRECT=UNICAST-DIRECT".chr(13);
269                                                $metodos.="MULTICAST " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-CACHE".chr(13);
270                                                $metodos.="MULTICAST-DIRECT " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-DIRECT".chr(13);
271                                                $metodos.="TORRENT " . torrent_syntax($cmd,$ambito,$idambito) . "=TORRENT-CACHE";
272       
273                                                $TBmetodos["UNICAST-CACHE"]=1;
274                                                $TBmetodos["UNICAST-DIRECT"]=2;
275                                                $TBmetodos["MULTICAST-CACHE"]=3;
276                                                $TBmetodos["MULTICAST-DIRECT"]=4;
277                                                $TBmetodos["TORRENT-CACHE"]=5;
278                                                $idxc=$_SESSION["protclonacion"];
279                                                if ($idxc == "UNICAST") {
280                                                        $idxc = "UNICAST-DIRECT";
281                                                }
282                                                echo '<TD>'.HTMLCTESELECT($metodos,"protoclonacion_".$icp,"estilodesple","",$TBmetodos[$idxc],100).'</TD>';
283                                                echo '</TR>'.chr(13);
284                                        }
285                                    }
286                                }
287                        }
288                }
289        }
[a7406f2]290        echo '<TR><TD colspan='.$columns.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF; height:5px;">&nbsp;</TD></TR>';
[b2651a6]291}
292
293/*________________________________________________________________________________________________________
294
295        Descripción:
296                (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php)
297                Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
298                grupo de ordenadores o aula
[a7406f2]299        Parámetros:
[b2651a6]300                $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato
301                                                sería una secuencia de cadenas del tipo "clave de configuración" separados por "@"
302                                                Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
303                $idordenadores: cadena con los identificadores de los ordenadores que forman parte del bloque
304                $cc: Identificador de la configuración
305        Devuelve:
306                El código html de la tabla
307________________________________________________________________________________________________________*/
308function pintaParticionesConfigurar($cmd,$configuraciones,$idordenadores,$cc)
309{
310
311        global $tbKeys; // Tabla contenedora de claves de configuración
312        global $conKeys; // Contador de claves de configuración
313        global $TbMsg;
314
315        $colums=7;
316        echo '<TR id="TR_'.$cc.'">';
[0c15976]317        echo '<TH align=center>&nbsp;'.$TbMsg['REMOVE'].'&nbsp;</TH>';
318        echo '<TH align=center>&nbsp;'.$TbMsg['PARTITION'].'&nbsp;</TH>';
319        echo '<TH align=center>&nbsp;'.$TbMsg['PARTITION_TYPE'].'&nbsp;</TH>';
320        echo '<TH align=center>&nbsp;'.$TbMsg['FILESYSTEM'].'&nbsp;</TH>';
321        echo '<TH align=center>&nbsp;'.$TbMsg['SIZE_KB'].'&nbsp;</TH>';
322        echo '<TH align=center>&nbsp;'.$TbMsg['INSTALLED_OS'].'&nbsp;</TH>';
323        echo '<TH align=center>&nbsp;'.$TbMsg['REFORMAT'].'&nbsp;</TH>';       
[b2651a6]324        echo '</TR>';
325
[c822b41]326
[055be91]327        $aviso=false;
[9f1274e]328        $auxCfg=explode("@",$configuraciones); // Crea lista de particiones
[b2651a6]329        for($i=0;$i<sizeof($auxCfg);$i++){
[9f1274e]330                $auxKey=explode(";",$auxCfg[$i]); // Toma clave de configuracion
[c5f993b]331                for($k=1;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición
[b2651a6]332                        if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas
[055be91]333                                if($tbKeys[$k]["numdisk"]==1){ // Solo tratar disco 1
334                                        if($tbKeys[$k]["numpar"]>0){ // Solo particiones (número>0)
335                                                $icp=$cc."_".$k; // Identificador de la configuración-partición
336                                                echo '<tr id="TR_'.$icp.'" align="center">';
337                                                echo '<td><input type="checkbox" onclick="eliminaParticion(this,\''.$icp.'\')"></td>';
338                                                echo '<td>'.HTMLSELECT_particiones($tbKeys[$k]["numpar"]).'</td>';
339                                                echo '<td>'.HTMLSELECT_tipospar($cmd,$tbKeys[$k]["tipopar"]).'</td>';
340                                                $sf=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,true);
341                                                echo '<td>'.HTMLSELECT_sistemasficheros($cmd,$sf).'</td>';
342                                                $tm=tomaTamano($tbKeys[$k]["numpar"],$idordenadores);
[a7406f2]343                                                echo '<td><input type="text" style="width:100px" value="'.$tm.'"></td>';
[055be91]344                                                echo '<td>'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'</td>';                                       
345                                                echo '<td>'.opeFormatear().'</td>';
346                                                echo '</tr>';
347                                        } else {
348                                                if ($tbKeys[$k]["codpar"]!=1) { // Aviso tabla no MSDOS.
349                                                        $aviso=true;
350                                                }
351                                        }
352                                } else {                        // Aviso: más de un disco.
353                                        $aviso=true;
354                                }
[b2651a6]355                        }
356                }
357        }
[12603f8]358        // Marcar fin de zona de datos de la tabla.
[760b597]359        // Datos del disco
360        $tm=tomaTamano(0,$idordenadores);
361        echo '<tr id="TRIMG_'.$cc.'" align="center">'.
[a7406f2]362             "\n<td></td>\n<td></td>\n<td".' style="font-size: 1em; padding: 1px 0;  "'.">".$TbMsg["DISK"]."</td>".
363     "\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>".
[760b597]364             "\n<td></td>\n<td></td>\n</tr>";
[0c15976]365        echo '<tr><th colspan="'.$colums.'">&nbsp;'.$TbMsg["WARN_DISKSIZE"].'</th></tr>';
[12603f8]366        // Mostrar aviso: solo disco 1 con tabla MSDOS.
367        if ($aviso) {
[0c15976]368                echo '<tr><th colspan="'.$colums.'">'.$TbMsg["CONFIG_NODISK1MSDOS"].'</th></tr>';
[055be91]369        }
[12603f8]370        // Botones de añadir y confirmar.
[0c15976]371        if (isset($tm)) {
[a7406f2]372                echo '<tr><td style="background-color: #FFFFFF; height: 30px;" colspan="'.$colums.'" align="center">';
373                echo '  <a href="#add" style="text-decoration:none">
374                                <img id="IMG_'.$icp.'" border=0 src="../images/boton_insertar.gif"
375                                        value="'.$k.'" onclick="addParticion(this,'.$cc.')"></a>
376                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
377                        <a href="#add" style="text-decoration:none">
378                                <img border=0 src="../images/boton_aceptar.gif" onclick="Confirmar('.$cc.')"></a></td>
379                        </tr>';
[0c15976]380        } else {
381                echo '<tr><th colspan="'.$colums.'">'.$TbMsg["WARN_DIFFDISKSIZE"].'</th></tr>'."\n";
382        }
[b2651a6]383}
384
385/*
386//
[a7406f2]387//      Descripcián:
388//              (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php)
[b2651a6]389//              Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
390//              grupo de ordenadores o aula
[a7406f2]391//      Parámetros:
392//              $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato
393//              sería una secuencia de cadenas del tipo "clave de configuración" separados por "@"
[b2651a6]394//                      Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
395//      Devuelve:
[a7406f2]396//              El código html de la tabla
[b2651a6]397//________________________________________________________________________________________________________
398//
399//
400*/
401function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito)
402{
[a7406f2]403        global $tbKeys; // Tabla contenedora de claves de configuración
404        global $conKeys; // Contador de claves de configuración
[b2651a6]405        global $TbMsg;
406        global $_SESSION;
407       
408        // Separamos las configuraciones segun el disco al que pertenezcan
409        $diskConfigs = splitConfigurationsByDisk($configuraciones);
410       
[730285e8]411        $columns=14;
[b2651a6]412        echo '<TR>';
413        echo '<TH align=center>&nbsp;&nbsp;</TH>';
414        echo '<th align="center">&nbsp;'.$TbMsg["DISK"].'&nbsp;</th>'; // Número de  disco
415        echo '<TH align=center>&nbsp;'.$TbMsg["PARTITION"].'&nbsp;</TH>';
416        echo '<th align="center">&nbsp;'.$TbMsg["PARTITION_TYPE"].'&nbsp;</th>'; // Tipo de partición
417        echo '<th align="center">&nbsp;'.$TbMsg["INST_SO"].'&nbsp;</th>'; // Sistema Operativo Instalado
418        echo '<th align="center">&nbsp;'.$TbMsg["FILESYSTEM_SHORT"].'&nbsp;</th>'; // Sistema de ficheros
419        echo '<th align="center">&nbsp;'.$TbMsg["SIZE_KB"].'&nbsp;</th>'; // Tamaño
420        echo '<TH align=center>&nbsp;'.$TbMsg[10].'&nbsp;</TH>';
421        echo '<TH align=center>&nbsp;'.$TbMsg[16].'&nbsp;</TH>';       
[a8c0a4a7]422        echo '<TH align=center>&nbsp;'.$TbMsg["SYNC_METHOD"].'&nbsp;</TH>';
423        echo '<TH align=center>&nbsp;'.$TbMsg["SEND"].'&nbsp;</TH>';
424        echo '  <TH align=center>&nbsp;<dfn  title="'.$TbMsg["TITLE_W"].'">W</dfn> &nbsp;</TH>';
425        echo '  <TH align=center>&nbsp;<dfn  title="'.$TbMsg["TITLE_E"].'">E</dfn> &nbsp;</TH>';
426        echo '  <TH align=center>&nbsp;<dfn  title="'.$TbMsg["TITLE_C"].'">C</dfn> &nbsp;</TH>';
[b2651a6]427        echo '</TR>';
428
429       
430        // Recorremos todas las configuraciones encontradas para cada disco
431       
432        foreach($diskConfigs as $disk => $diskConfig){
[2ff31f9]433                $disk = (int)$disk;
434                echo'<tr height="16">'.chr(13);
435                echo '<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;'.$TbMsg["DISK"].'&nbsp;'.$disk.'</td>'.chr(13);
[b2651a6]436             
[9f1274e]437                $auxCfg=explode("@",$diskConfig); // Crea lista de particiones
[b2651a6]438                for($i=0;$i<sizeof($auxCfg);$i++){
[9f1274e]439                        $auxKey=explode(";",$auxCfg[$i]); // Toma clave de configuracion
[b2651a6]440                        for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partici�n
441                                if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas
442                                        $swcc=$tbKeys[$k]["clonable"];
443                                        echo '<TR>'.chr(13);
444                                        echo '<TD align=center>&nbsp;&nbsp;</TD>';
445                                        if($swcc){
[a7406f2]446                                                $icp=$cc."_".$tbKeys[$k]["numdisk"]."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición
[b2651a6]447                                                echo '<TD align=center><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numdisk"].";".$tbKeys[$k]["numpar"].'></TD>'.chr(13);
448                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
449                                                echo '<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
450                                                echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);       
451                                                echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);
452                                                echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);   
453                                                echo '<TD align=center>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).'</TD>';
454                                                $metodos="CACHE=".$TbMsg[13].chr(13);
455                                                $metodos.="REPO=".$TbMsg[9];           
456                                                echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplemet_".$icp,"estilodesple","",1,100).'</TD>';
[1467f4e]457                                               
[730285e8]458                                                $metodos="SYNC0="."  ".chr(13);
[ded5221]459                                                $metodos.="SYNC1=".$TbMsg["SYNC1_DIR"].chr(13);                                         
460                                                $metodos.="SYNC2=".$TbMsg["SYNC2_FILE"];               
[1467f4e]461                                                echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplesync_".$icp,"estilodesple","",1,100).'</TD>';                                                           
[2e69949]462                                                       
[ef938d2]463                                                $metodos="UNICAST="."Unicast".chr(13);                                         
464                                                $metodos.="MULTICAST_". mcast_syntax($cmd,$ambito,$idambito) ."="."Multicast".chr(13);         
465                                                $metodos.="TORRENT_". torrent_syntax($cmd,$ambito,$idambito) ."="."Torrent".chr(13);
466                                                $metodos.="RSYNC=Rsync";
[730285e8]467                                                echo '<TD align=center>'.HTMLCTESELECT($metodos,"despletpt_".$icp,"estilodesple","",1,100).'</TD>';                                                             
468                                               
[1d599bb]469                                                echo '<td align=center><input type=checkbox name="whole" id="whl-'.$icp.'"></td>';     
470                                                echo '<td align=center><input type=checkbox name="paramb" checked id="eli-'.$icp.'"></td>';     
[730285e8]471                                                echo '<td align=center><input type=checkbox name="compres" id="cmp-'.$icp.'"></td>';   
472                                                                               
[b2651a6]473                                        }
474                                        echo '</TR>'.chr(13);
475                                }
476                        }
477                }
478        }       
[12603f8]479
[a7406f2]480        echo '<TR><TD colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF; height: 5px;">&nbsp;</TD></TR>';
[12603f8]481        echo '<tr><th colspan="14">'.$TbMsg["WARN_PROTOCOL"].'</th></tr>';
[b2651a6]482}
Note: See TracBrowser for help on using the repository browser.