summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole
diff options
context:
space:
mode:
authorJavier Sánchez Parra <jsanchez@soleta.eu>2020-11-25 12:56:30 +0100
committerOpenGnSys Support Team <soporte-og@soleta.eu>2020-11-25 15:37:28 +0100
commit4c4ea59598d9a432068dd8034005759fbfa54386 (patch)
tree5301820f1a527f80c1bfe66fc93a42507339efc6 /admin/WebConsole
parenta89da3dcfcee46b13d8d85f8889434a952c38d2a (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.
Diffstat (limited to 'admin/WebConsole')
-rw-r--r--admin/WebConsole/comandos/Configurar.php48
-rw-r--r--admin/WebConsole/comandos/jscripts/Configurar.js2
-rw-r--r--admin/WebConsole/idiomas/php/cat/pintaParticiones_cat.php2
-rw-r--r--admin/WebConsole/idiomas/php/eng/pintaParticiones_eng.php2
-rw-r--r--admin/WebConsole/idiomas/php/esp/pintaParticiones_esp.php2
-rw-r--r--admin/WebConsole/includes/ConfiguracionesParticiones.php7
-rw-r--r--admin/WebConsole/includes/pintaParticiones.php13
7 files changed, 63 insertions, 13 deletions
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&oacute;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>".