diff options
author | Irina Gómez <irinagomez@us.es> | 2020-06-22 14:26:24 +0200 |
---|---|---|
committer | Irina Gómez <irinagomez@us.es> | 2020-06-22 14:26:24 +0200 |
commit | eabb7bdb6699201db39fee3049e0bb7dcce94ab4 (patch) | |
tree | 21418b1b929f66c45a730c93170d01471791a017 /admin/WebConsole/includes/pintaParticiones.php | |
parent | 31d6bf3bc536bf7a66f9824c020e189797f83177 (diff) |
#894 Console 'Restore Image' Command: Supports disk image.disk-image
The form allows you to select the disk image to restore.
The interface script checks image type, disk or partition, and uses the appropriate script.
Diffstat (limited to 'admin/WebConsole/includes/pintaParticiones.php')
-rw-r--r-- | admin/WebConsole/includes/pintaParticiones.php | 93 |
1 files changed, 62 insertions, 31 deletions
diff --git a/admin/WebConsole/includes/pintaParticiones.php b/admin/WebConsole/includes/pintaParticiones.php index 3db46818..f49d3679 100644 --- a/admin/WebConsole/includes/pintaParticiones.php +++ b/admin/WebConsole/includes/pintaParticiones.php @@ -210,6 +210,9 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) // version 1.1: cliente con varios repositorios - HTMLSELECT_imagenes: cambia parametros idordenadores por idambito // autor: Irina Gomez, Universidad de Sevilla // fecha 2015-06-17 +// version 1.2 - Permite crear imágenes de disco. +// autor: Irina Gomez, Universidad de Sevilla +// fecha 2020/06/22 //________________________________________________________________________________________________________ function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito) { @@ -221,9 +224,37 @@ function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$c // Separamos las configuraciones segun el disco al que pertenezcan $diskConfigs = splitConfigurationsByDisk($configuraciones); - $columns=10; + // Clonación + $metodos="UNICAST=UNICAST-CACHE".chr(13); + $metodos.="UNICAST-DIRECT=UNICAST-DIRECT".chr(13); + $metodos.="MULTICAST " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-CACHE".chr(13); + $metodos.="MULTICAST-DIRECT " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-DIRECT".chr(13); + $metodos.="TORRENT " . torrent_syntax($cmd,$ambito,$idambito) . "=TORRENT-CACHE"; + + $TBmetodos["UNICAST-CACHE"]=1; + $TBmetodos["UNICAST-DIRECT"]=2; + $TBmetodos["MULTICAST-CACHE"]=3; + $TBmetodos["MULTICAST-DIRECT"]=4; + $TBmetodos["TORRENT-CACHE"]=5; + $idxc=$_SESSION["protclonacion"]; + if ($idxc == "UNICAST") { + $idxc = "UNICAST-DIRECT"; + } + + // Lista de selección de métodos + $select_metodos= HTMLCTESELECT($metodos,"protoclonacion_","estilodesple","",$TBmetodos[$idxc],100); + + // Lista de selección de imágenes (igual para todos los discos) + $select_imagenes=HTMLSELECT_imagenes_disco($cmd,$idambito,$ambito); + + // Tipos de tabla de particiones (índice codpar) + $disktable[1]="MSDOS"; + $disktable[2]="GPT"; + $disktable[3]="LVM"; + $disktable[4]="ZPOOL"; + + $columns=8; echo '<TR>'; - echo '<TH align=center> </TH>'; echo '<th align="center"> '.$TbMsg["DISK"].' </th>'; // Número de disco echo '<TH align=center> '.$TbMsg["PARTITION"].' </TH>'; echo '<th align="center"> '.$TbMsg["PARTITION_TYPE"].' </th>'; // Tipo de partición @@ -235,27 +266,37 @@ function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$c echo '<TH align=center> '.$TbMsg["RESTORE_METHOD"].' </TH>'; echo '</TR>'; - // Recorremos todas las configuraciones encontradas para cada disco - foreach($diskConfigs as $disk => $diskConfig){ $disk = (int)$disk; - echo'<tr height="16">'.chr(13); - echo '<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;"> '.$TbMsg["DISK"].' '.$disk.'</td>'.chr(13); - $auxCfg=explode("@",$diskConfig); // Crea lista de particiones for($i=0;$i<sizeof($auxCfg);$i++){ $auxKey=explode(";",$auxCfg[$i]); // Toma clave de configuracion // Para particiones EFI desabilitamos el selector $disabled=''; + for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas - if($tbKeys[$k]["numpar"]!=0){ // No es info. del disco (part. 0) + if($tbKeys[$k]["numpar"]==0){ // Info. del disco (part. 0) + + echo'<tr height="16">'.chr(13); + echo '<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;"> '; + $icp=$cc."_".$tbKeys[$k]["numdisk"]."_0"; // Identificador de la configuración-partición + echo '<input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numdisk"].";".$tbKeys[$k]["numpar"].' '.$disabled.'>'.chr(13); + echo $TbMsg["DISK"].' '.$disk.chr(13); + echo '<DIV style="float:right;">'.$TbMsg["IMAGE_REPOSITORY"]." ".str_replace("despleimagen_","despleimagen_".$icp."_1",$select_imagenes).' </DIV> '.chr(13); + echo '</td>'.chr(13); + echo '<TD style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">'.str_replace("protoclonacion_","protoclonacion_".$icp,$select_metodos).'</TD>'.chr(13); + + // Tipo de tabla de particiones y tamaño. + $diskcodpar=isset($disktable[$tbKeys[$k]["codpar"]])? $disktable[$tbKeys[$k]["codpar"]] : ""; + $disksize=tomaTamano('0',$idordenadores,$tbKeys[$k]["numdisk"]); + + } else { $swcc=$tbKeys[$k]["clonable"]; if($swcc){ if ($tbKeys[$k]["tipopar"] == 'EFI') $disabled='disabled'; echo '<TR>'.chr(13); - echo '<TD align=center> </TD>'; $icp=$cc."_".$tbKeys[$k]["numdisk"]."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición echo '<TD ><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numdisk"].";".$tbKeys[$k]["numpar"].' '.$disabled.'></TD>'.chr(13); echo '<TD align=center> '.$tbKeys[$k]["numpar"].' </TD>'.chr(13); @@ -264,28 +305,11 @@ function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$c echo'<TD align=center> '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).' </TD>'.chr(13); echo'<TD align=center> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </TD>'.chr(13); if ($tbKeys[$k]["tipopar"] == 'EFI') { - echo "<TD></TD>\n<TD></TD>\n<TD></TD>\n"; + echo "<TD></TD><TD></TD><TD></TD>".chr(13); } else { - echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idambito,$ambito).'</TD>'; - echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idambito,$ambito).'</TD>'; - - //Clonación - $metodos="UNICAST=UNICAST-CACHE".chr(13); - $metodos.="UNICAST-DIRECT=UNICAST-DIRECT".chr(13); - $metodos.="MULTICAST " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-CACHE".chr(13); - $metodos.="MULTICAST-DIRECT " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-DIRECT".chr(13); - $metodos.="TORRENT " . torrent_syntax($cmd,$ambito,$idambito) . "=TORRENT-CACHE"; - - $TBmetodos["UNICAST-CACHE"]=1; - $TBmetodos["UNICAST-DIRECT"]=2; - $TBmetodos["MULTICAST-CACHE"]=3; - $TBmetodos["MULTICAST-DIRECT"]=4; - $TBmetodos["TORRENT-CACHE"]=5; - $idxc=$_SESSION["protclonacion"]; - if ($idxc == "UNICAST") { - $idxc = "UNICAST-DIRECT"; - } - echo '<TD>'.HTMLCTESELECT($metodos,"protoclonacion_".$icp,"estilodesple","",$TBmetodos[$idxc],100).'</TD>'; + echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idambito,$ambito).'</TD>'.chr(13); + echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idambito,$ambito).'</TD>'.chr(13); + echo '<TD>'.HTMLCTESELECT($metodos,"protoclonacion_".$icp,"estilodesple","",$TBmetodos[$idxc],100).'</TD>'.chr(13); } echo '</TR>'.chr(13); } @@ -293,8 +317,15 @@ function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$c } } } + echo '<TR>'; + echo '<TD></TD>'; + echo '<TD align=center> '.$diskcodpar.' </TD>'; + echo '<TD></TD><TD></TD><TD></TD>'; + echo '<TD align=center><strong> '.$disksize.' </strong></TD>'; + echo '<TD></TD><TD></TD><TD></TD>'; + echo '</TR>'.chr(13); } - echo '<TR><TD colspan='.$columns.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF; height:5px;"> </TD></TR>'; + echo '<TR><TD colspan='.$columns.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF; height:5px;"> </TD></TR>'.chr(13); } /*________________________________________________________________________________________________________ |