diff options
author | Javier Sánchez Parra <jsanchez@soleta.eu> | 2020-11-25 12:56:30 +0100 |
---|---|---|
committer | OpenGnSys Support Team <soporte-og@soleta.eu> | 2020-11-25 15:37:28 +0100 |
commit | 4c4ea59598d9a432068dd8034005759fbfa54386 (patch) | |
tree | 5301820f1a527f80c1bfe66fc93a42507339efc6 | |
parent | a89da3dcfcee46b13d8d85f8889434a952c38d2a (diff) |
#1008 Add support for partitioning several disks
WebConsole only supports for partitioning and formatting the first disk
of the client. POST /setup calls in ogserver and ogclient support
for multiple disks. Update WebConsole to allow to choose which disk do
you want to partition and format.
-rwxr-xr-x | admin/Interface/Configurar | 4 | ||||
-rw-r--r-- | admin/WebConsole/comandos/Configurar.php | 48 | ||||
-rw-r--r-- | admin/WebConsole/comandos/jscripts/Configurar.js | 2 | ||||
-rw-r--r-- | admin/WebConsole/idiomas/php/cat/pintaParticiones_cat.php | 2 | ||||
-rw-r--r-- | admin/WebConsole/idiomas/php/eng/pintaParticiones_eng.php | 2 | ||||
-rw-r--r-- | admin/WebConsole/idiomas/php/esp/pintaParticiones_esp.php | 2 | ||||
-rw-r--r-- | admin/WebConsole/includes/ConfiguracionesParticiones.php | 7 | ||||
-rw-r--r-- | admin/WebConsole/includes/pintaParticiones.php | 13 |
8 files changed, 65 insertions, 15 deletions
diff --git a/admin/Interface/Configurar b/admin/Interface/Configurar index 554e52c9..3247d568 100755 --- a/admin/Interface/Configurar +++ b/admin/Interface/Configurar @@ -108,8 +108,8 @@ ogCreatePartitionTable $dis MSDOS # Inicia la cache. if echo "$sparam" |grep "CACHE" >/dev/null; then ogEcho session log "[30] $MSG_HELP_ogCreateCache" - ogEcho session log " initCache $tch" - ogExecAndLog COMMAND initCache $tch + ogEcho session log " initCache $dis $tch" + ogExecAndLog COMMAND initCache $dis $tch fi # Definir particionado. diff --git a/admin/WebConsole/comandos/Configurar.php b/admin/WebConsole/comandos/Configurar.php index 5474294c..2ab5380c 100644 --- a/admin/WebConsole/comandos/Configurar.php +++ b/admin/WebConsole/comandos/Configurar.php @@ -41,6 +41,8 @@ $fk_sysFi=0; $fk_tamano=0; $fk_nombreSO=0; +$numdisk=1; + if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; if (isset($_GET["ambito"])) $ambito=$_GET["ambito"]; @@ -50,6 +52,8 @@ if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; if (isset($_POST["fk_sysFi"])) $fk_sysFi=$_POST["fk_sysFi"]; if (isset($_POST["fk_tamano"])) $fk_tamano=$_POST["fk_tamano"]; if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"]; + +if (isset($_POST["numdisk"])) $numdisk=$_POST["numdisk"]; //________________________________________________________________________________________________________ ?> <HTML> @@ -122,7 +126,30 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"]; } $sws=$fk_sysFi | $fk_tamano | $fk_nombreSO; - pintaConfiguraciones($cmd,$idambito,$ambito,7,$sws,false,"pintaParticionesConfigurar"); + $configs = pintaConfiguraciones($cmd, $idambito, $ambito, 7, $sws, false, "pintaParticionesConfigurar", "idordenador", $numdisk); + +?> + + <div align=center> + <span class=subcabeceras><?php echo $TbMsg["HD"] ?></span> + <form action="Configurar.php" name="disk" method="POST"> + <input type="hidden" name="idambito" value="<?php echo $idambito?>"> + <input type="hidden" name="ambito" value="<?php echo $ambito?>"> + <input type="hidden" name="cadenaid" value="<?php echo $cadenaid?>"> + <input type="hidden" name="nombreambito" value="<?php echo $nombreambito?>"> + <input type="hidden" name="idcomando" value="<?php echo $idcomando?>"> + <input type="hidden" name="descricomando" value="<?php echo $descricomando?>"> + <input type="hidden" name="gestor" value="<?php echo $gestor?>"> + <input type="hidden" name="funcion" value="<?php echo $funcion?>"> + <input type="hidden" name="current_numdisk" value="<?php echo $numdisk?>"> + <?php echo HTMLSELECT_disks($configs, $numdisk); ?> + <a href=#> + <img border=0 src="../images/boton_confirmar_<?php echo $idioma ?>.gif" onclick="document.disk.submit()"> + </a> + </form> + </div> + +<?php /* Dibuja tabla patron !OJO! no insertar caracteres entre las etiquetas*/ @@ -146,6 +173,25 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"]; </HTML> <?php +function HTMLSELECT_disks($configs, $default_numdisk) +{ + foreach($configs as $config){ + $diskConfigs = splitConfigurationsByDisk($config); + $numdisks = count($diskConfigs); + if ( $mindisks > $numdisks ) + $mindisks = $numdisks; + } + + $options=""; + for ($i = 1; $i <= $numdisks; $i++) + $options.="$i=$i".chr(13); + + $SelectHtml=""; + $SelectHtml.=HTMLCTESELECT($options, "numdisk", "estilodesple", "", + $default_numdisk, 40, ""); + return($SelectHtml); +} + /*________________________________________________________________________________________________________ Crea la etiqueta html <SELECT> de los número de particiones ________________________________________________________________________________________________________*/ diff --git a/admin/WebConsole/comandos/jscripts/Configurar.js b/admin/WebConsole/comandos/jscripts/Configurar.js index 8e11615b..85e94264 100644 --- a/admin/WebConsole/comandos/jscripts/Configurar.js +++ b/admin/WebConsole/comandos/jscripts/Configurar.js @@ -239,7 +239,7 @@ function comprobarDatos(cc) */ var RC="!"; - var disco=1; // Siempre disco 1 + var disco = document.disk.current_numdisk.value; atributos="dsk="+disco+"@"+"cfg="; // Inicializa variable global de parámetros del comando diff --git a/admin/WebConsole/idiomas/php/cat/pintaParticiones_cat.php b/admin/WebConsole/idiomas/php/cat/pintaParticiones_cat.php index 143d0b18..51245d03 100644 --- a/admin/WebConsole/idiomas/php/cat/pintaParticiones_cat.php +++ b/admin/WebConsole/idiomas/php/cat/pintaParticiones_cat.php @@ -44,7 +44,7 @@ $TbMsg["IMAGE_REPOSITORY"]='Imagen / Repositorio'; $TbMsg["INCREMENTAL_IMAGE_REPOSITORY"]='Imagen Incremental / Repositorio'; $TbMsg["CONFIG_NOCONFIG"]='Sense configuració: client no connectat al servidor.'; -$TbMsg["CONFIG_NODISK1MSDOS"]='Avís: aquest comandament sol tracta el disc 1 amb taula de particions MSDOS.'; +$TbMsg["CONFIG_NODISK1MSDOS"]='Avís: aquest comandament sol tracta amb taula de particions MSDOS.'; $TbMsg["CONFIG_NOOS"]='No se ha detectado ningún sistema operativo en el equipo.'; $TbMsg["SYNC_METHOD"]='Método'; diff --git a/admin/WebConsole/idiomas/php/eng/pintaParticiones_eng.php b/admin/WebConsole/idiomas/php/eng/pintaParticiones_eng.php index a4e4399f..1f263233 100644 --- a/admin/WebConsole/idiomas/php/eng/pintaParticiones_eng.php +++ b/admin/WebConsole/idiomas/php/eng/pintaParticiones_eng.php @@ -44,7 +44,7 @@ $TbMsg["IMAGE_REPOSITORY"]='Image / Repository'; $TbMsg["INCREMENTAL_IMAGE_REPOSITORY"]='Incremental Image / Repository'; $TbMsg["CONFIG_NOCONFIG"]='No configuration: client not connected to server.'; -$TbMsg["CONFIG_NODISK1MSDOS"]='Warning: this command only uses disk 1 with MSDOS partition table.'; +$TbMsg["CONFIG_NODISK1MSDOS"]='Warning: this command only works with MSDOS partition table.'; $TbMsg["CONFIG_NOOS"]='No operating system detected on the computer.'; $TbMsg["SYNC_METHOD"]='Method'; diff --git a/admin/WebConsole/idiomas/php/esp/pintaParticiones_esp.php b/admin/WebConsole/idiomas/php/esp/pintaParticiones_esp.php index e7316dbb..1f2ef540 100644 --- a/admin/WebConsole/idiomas/php/esp/pintaParticiones_esp.php +++ b/admin/WebConsole/idiomas/php/esp/pintaParticiones_esp.php @@ -44,7 +44,7 @@ $TbMsg["IMAGE_REPOSITORY"]='Imagen / Repositorio'; $TbMsg["INCREMENTAL_IMAGE_REPOSITORY"]='Imagen Incremental / Repositorio'; $TbMsg["CONFIG_NOCONFIG"]='Sin configuración: cliente no conectado al servidor.'; -$TbMsg["CONFIG_NODISK1MSDOS"]='Aviso: este comando solo trata el disco 1 con tabla de particiones MSDOS.'; +$TbMsg["CONFIG_NODISK1MSDOS"]='Aviso: este comando solo trata con tabla de particiones MSDOS.'; $TbMsg["CONFIG_NOOS"]='No se ha detectado ningún sistema operativo en el equipo.'; $TbMsg["SYNC_METHOD"]='Método'; diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php index 9cbd6fcf..cbce05b6 100644 --- a/admin/WebConsole/includes/ConfiguracionesParticiones.php +++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php @@ -189,7 +189,7 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) configuración de los ordenadores o la pantalla de los comandos "Configurar" o "RestaurarImagen" para permitir introducir los datos necesarios. ________________________________________________________________________________________________________*/ -function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaParticionesFunction="pintaParticiones",$tipoid="idordenador") +function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaParticionesFunction="pintaParticiones",$tipoid="idordenador", $numdisk=1) { global $AMBITO_AULAS; global $AMBITO_GRUPOSORDENADORES; @@ -283,7 +283,10 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaPar echo '</td></tr>'; //Muestra particiones y configuración $configuraciones[$cc-1] = $rs->campos["configuraciones"]; - echo $pintaParticionesFunction($cmd,$rs->campos["configuraciones"],$rs->campos["idordenadores"],$cc,$ambito,$idambito); + if (strcmp($pintaParticionesFunction, "pintaParticionesConfigurar") == 0) + echo $pintaParticionesFunction($cmd, $rs->campos["configuraciones"], $rs->campos["idordenadores"], $cc, $numdisk); + else + echo $pintaParticionesFunction($cmd,$rs->campos["configuraciones"],$rs->campos["idordenadores"],$cc,$ambito,$idambito); $rs->Siguiente(); } if ($cc == 0) { diff --git a/admin/WebConsole/includes/pintaParticiones.php b/admin/WebConsole/includes/pintaParticiones.php index 3db46818..02c0f570 100644 --- a/admin/WebConsole/includes/pintaParticiones.php +++ b/admin/WebConsole/includes/pintaParticiones.php @@ -312,7 +312,8 @@ function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$c Devuelve: El código html de la tabla ________________________________________________________________________________________________________*/ -function pintaParticionesConfigurar($cmd,$configuraciones,$idordenadores,$cc) +function pintaParticionesConfigurar($cmd,$configuraciones,$idordenadores,$cc, + $numdisk) { global $tbKeys; // Tabla contenedora de claves de configuración @@ -337,18 +338,18 @@ function pintaParticionesConfigurar($cmd,$configuraciones,$idordenadores,$cc) $auxKey=explode(";",$auxCfg[$i]); // Toma clave de configuracion for($k=1;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas - if($tbKeys[$k]["numdisk"]==1){ // Solo tratar disco 1 + if($tbKeys[$k]["numdisk"]==$numdisk){ if($tbKeys[$k]["numpar"]>0){ // Solo particiones (número>0) $icp=$cc."_".$k; // Identificador de la configuración-partición echo '<tr id="TR_'.$icp.'" align="center">'; echo '<td><input type="checkbox" onclick="eliminaParticion(this,\''.$icp.'\')"></td>'; echo '<td>'.HTMLSELECT_particiones($tbKeys[$k]["numpar"]).'</td>'; echo '<td>'.HTMLSELECT_tipospar($cmd,$tbKeys[$k]["tipopar"]).'</td>'; - $sf=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,true); + $sf=tomaSistemasFicheros($tbKeys[$k]["numpar"], $idordenadores, true, $numdisk); echo '<td>'.HTMLSELECT_sistemasficheros($cmd,$sf).'</td>'; - $tm=tomaTamano($tbKeys[$k]["numpar"],$idordenadores); + $tm=tomaTamano($tbKeys[$k]["numpar"], $idordenadores, $numdisk); echo '<td><input type="text" style="width:100px" value="'.$tm.'"></td>'; - echo '<td>'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'</td>'; + echo '<td>'.tomaNombresSO($tbKeys[$k]["numpar"], $idordenadores, $numdisk).'</td>'; echo '<td>'.opeFormatear().'</td>'; echo '</tr>'; } else { @@ -364,7 +365,7 @@ function pintaParticionesConfigurar($cmd,$configuraciones,$idordenadores,$cc) } // Marcar fin de zona de datos de la tabla. // Datos del disco - $tm=tomaTamano(0,$idordenadores); + $tm=tomaTamano(0,$idordenadores, $numdisk); echo '<tr id="TRIMG_'.$cc.'" align="center">'. "\n<td></td>\n<td></td>\n<td".' style="font-size: 1em; padding: 1px 0; "'.">".$TbMsg["DISK"]."</td>". "\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>". |