From eabb7bdb6699201db39fee3049e0bb7dcce94ab4 Mon Sep 17 00:00:00 2001 From: Irina Gómez Date: Mon, 22 Jun 2020 14:26:24 +0200 Subject: #894 Console 'Restore Image' Command: Supports 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. --- admin/WebConsole/includes/pintaParticiones.php | 93 +++++++++++++++++--------- 1 file changed, 62 insertions(+), 31 deletions(-) (limited to 'admin/WebConsole/includes/pintaParticiones.php') 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 ''; - echo '  '; echo ' '.$TbMsg["DISK"].' '; // Número de disco echo ' '.$TbMsg["PARTITION"].' '; echo ' '.$TbMsg["PARTITION_TYPE"].' '; // Tipo de partición @@ -235,27 +266,37 @@ function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$c echo ' '.$TbMsg["RESTORE_METHOD"].' '; echo ''; - // Recorremos todas las configuraciones encontradas para cada disco - foreach($diskConfigs as $disk => $diskConfig){ $disk = (int)$disk; - echo''.chr(13); - echo ' '.$TbMsg["DISK"].' '.$disk.''.chr(13); - $auxCfg=explode("@",$diskConfig); // Crea lista de particiones for($i=0;$i'.chr(13); + echo ' '; + $icp=$cc."_".$tbKeys[$k]["numdisk"]."_0"; // Identificador de la configuración-partición + echo ''.chr(13); + echo $TbMsg["DISK"].' '.$disk.chr(13); + echo '
'.$TbMsg["IMAGE_REPOSITORY"]." ".str_replace("despleimagen_","despleimagen_".$icp."_1",$select_imagenes).'
'.chr(13); + echo ''.chr(13); + echo ''.str_replace("protoclonacion_","protoclonacion_".$icp,$select_metodos).''.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 ''.chr(13); - echo '  '; $icp=$cc."_".$tbKeys[$k]["numdisk"]."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición echo ''.chr(13); echo ' '.$tbKeys[$k]["numpar"].' '.chr(13); @@ -264,28 +305,11 @@ function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$c echo' '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).' '.chr(13); echo' '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' '.chr(13); if ($tbKeys[$k]["tipopar"] == 'EFI') { - echo "\n\n\n"; + echo "".chr(13); } else { - echo ''.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idambito,$ambito).''; - echo ''.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idambito,$ambito).''; - - //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 ''.HTMLCTESELECT($metodos,"protoclonacion_".$icp,"estilodesple","",$TBmetodos[$idxc],100).''; + echo ''.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idambito,$ambito).''.chr(13); + echo ''.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idambito,$ambito).''.chr(13); + echo ''.HTMLCTESELECT($metodos,"protoclonacion_".$icp,"estilodesple","",$TBmetodos[$idxc],100).''.chr(13); } echo ''.chr(13); } @@ -293,8 +317,15 @@ function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$c } } } + echo ''; + echo ''; + echo ' '.$diskcodpar.' '; + echo ''; + echo ' '.$disksize.' '; + echo ''; + echo ''.chr(13); } - echo ' '; + echo ' '.chr(13); } /*________________________________________________________________________________________________________ -- cgit v1.2.3-18-g5258