1;0;1@1;1;7@1;2;131 y
* para el disco 2 -> 2;0;1@2;1;7
*/
function splitConfigurationsByDisk($configuraciones){
// Recorremos las configuraciones para separalas segun el disco al que pertenezcan
$diskConfigs = array();
$configs = explode("@",$configuraciones);
foreach($configs as $config){
$parts = explode(";",$config);
if(!isset($diskConfigs[$parts[0]])){
$diskConfigs[$parts[0]] = "@";
}
else if($diskConfigs[$parts[0]] != ""){
$diskConfigs[$parts[0]] .= "@";
}
// Concatenamos la configuracion en el disco que corresponda
$diskConfigs[$parts[0]] .= $config;
}
return $diskConfigs;
}
// *************************************************************************************************************************************************
// UHU - 2013/15/14 - Se pintan los discos ademas de las particiones
// Descripción:
// Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
// grupo de ordenadores o aula
// Parámetros:
// $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato
// sería una secuencia de cadenas del tipo "clave de configuración" separados por "@"
// Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
//________________________________________________________________________________________________________
function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc)
{
global $tbKeys; // Tabla contenedora de claves de configuración
global $conKeys; // Contador de claves de configuración
global $TbMsg;
$disktable = array();
// Separamos las configuraciones segun el disco al que pertenezcan
$diskConfigs = splitConfigurationsByDisk($configuraciones);
$columns=9;
echo '
';
echo '
'.$TbMsg["DISK"].'
'; // Número de disco
echo '
'.$TbMsg["PARTITION"].'
'; // Número de partición
echo '
'.$TbMsg["PARTITION_TYPE"].'
'; // Tipo de partición
echo '
'.$TbMsg["FILESYSTEM_SHORT"].'
'; // Sistema de ficheros
echo '
'.$TbMsg["INST_SO"].'
'; // Sistema Operativo Instalado
echo '
'.$TbMsg["SIZE_KB"].'
'; // Tamaño
echo '
'.$TbMsg["IMAGE"].'
'; // Imagen instalada
echo '
'.$TbMsg["SOFT_PROFILE"].'
'; // Perfil software
echo '
'.$TbMsg["CACHE_CONTENT"].'
';
echo '
';
// Recorremos todas las configuraciones encontradas para cada disco
$aviso="";
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'.$TbMsg["VARIABLE"].'';
}
switch ($tbKeys[$k]["codpar"]) {
case 1: $disktable[$tbKeys[$k]["numdisk"]] = "MSDOS";
break;
case 2: $disktable[$tbKeys[$k]["numdisk"]] = "GPT";
break;
case 3: $disktable[$tbKeys[$k]["numdisk"]] = "LVM";
break;
case 4: $disktable[$tbKeys[$k]["numdisk"]] = "ZPOOL";
break;
default: $disktable[$tbKeys[$k]["numdisk"]] = "";
}
}
else { // Información de partición (numpart>0)
echo'
'.chr(13);
echo'
'.chr(13);
echo'
'.$tbKeys[$k]["numpar"].'
'.chr(13);
if ($disktable[$tbKeys[$k]["numdisk"]] == "LVM" or $disktable[$tbKeys[$k]["numdisk"]] == "ZPOOL") {
echo '
'.chr(13);
}
else {
if (is_numeric ($tbKeys[$k]["tipopar"])) {
echo '
'.chr(13);
// Mostrar uso solo en clientes individuales.
$uso=tomaUso($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]);
if ($uso > 0 and strpos($idordenadores, ',') === false) {
echo '
'.chr(13);
// Creamos un campo oculto para guardar información sobre el disco y su tamaño separados por ;
echo "\n";
echo'
'.chr(13);
echo'
'.chr(13);
echo'
'.chr(13);
echo'
'.chr(13);
}
}
if (!empty($aviso)) {
echo '
* '.$aviso.'
'."\n";
}
echo '
';
}
//________________________________________________________________________________________________________
//
// Descripción:
// (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php)
// Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
// grupo de ordenadores o aula
// Parámetros:
// $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato
// sería una secuencia de cadenas del tipo "clave de configuración" separados por "@"
// Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
// Devuelve:
// El código html de la tabla
// version 1.1: cliente con varios repositorios - HTMLSELECT_imagenes: cambia parametros idordenadores por idambito
// autor: Irina Gomez, Universidad de Sevilla
// fecha 2015-06-17
//________________________________________________________________________________________________________
function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito)
{
global $tbKeys; // Tabla contenedora de claves de configuración
global $conKeys; // Contador de claves de configuración
global $TbMsg;
global $_SESSION;
// Separamos las configuraciones segun el disco al que pertenezcan
$diskConfigs = splitConfigurationsByDisk($configuraciones);
$columns=10;
echo '
';
echo '
';
echo '
'.$TbMsg["DISK"].'
'; // Número de disco
echo '
'.$TbMsg["PARTITION"].'
';
echo '
'.$TbMsg["PARTITION_TYPE"].'
'; // Tipo de partición
echo '
'.$TbMsg["INST_SO"].'
'; // Sistema Operativo Instalado
echo '
'.$TbMsg["FILESYSTEM_SHORT"].'
'; // Sistema de ficheros
echo '
'.$TbMsg["SIZE_KB"].'
'; // Tamaño
echo '
'.$TbMsg["SAMESYSTEM_IMAGE"].'
';
echo '
'.$TbMsg["DIFFERENTSYSTEM_IMAGE"].'
';
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"]."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición
echo '
';
}
/*________________________________________________________________________________________________________
Descripción:
(Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php)
Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
grupo de ordenadores o aula
Parámetros:
$configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato
sería una secuencia de cadenas del tipo "clave de configuración" separados por "@"
Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
$idordenadores: cadena con los identificadores de los ordenadores que forman parte del bloque
$cc: Identificador de la configuración
Devuelve:
El código html de la tabla
________________________________________________________________________________________________________*/
function pintaParticionesConfigurar($cmd,$configuraciones,$idordenadores,$cc,
$numdisk)
{
global $tbKeys; // Tabla contenedora de claves de configuración
global $conKeys; // Contador de claves de configuración
global $TbMsg;
$colums=7;
echo '
';
echo '
'.$TbMsg['REMOVE'].'
';
echo '
'.$TbMsg['PARTITION'].'
';
echo '
'.$TbMsg['PARTITION_TYPE'].'
';
echo '
'.$TbMsg['FILESYSTEM'].'
';
echo '
'.$TbMsg['SIZE_KB'].'
';
echo '
'.$TbMsg['INSTALLED_OS'].'
';
echo '
'.$TbMsg['REFORMAT'].'
';
echo '
';
$aviso=false;
$auxCfg=explode("@",$configuraciones); // Crea lista de particiones
for($i=0;$i0){ // Solo particiones (número>0)
$icp=$cc."_".$k; // Identificador de la configuración-partición
echo '
';
} else {
if ($tbKeys[$k]["codpar"]!=1) { // Aviso tabla no MSDOS.
$aviso=true;
}
}
} else { // Aviso: más de un disco.
$aviso=true;
}
}
}
}
// Marcar fin de zona de datos de la tabla.
// Datos del disco
$tm=tomaTamano(0,$idordenadores, $numdisk);
echo '
'.
"\n
\n
\n
".$TbMsg["DISK"]."
".
"\n
\n
'.(isset($tm)?$tm:("".$TbMsg["VARIABLE"].""))."
".
"\n
\n
\n
";
echo '
'.$TbMsg["WARN_DISKSIZE"].'
';
// Mostrar aviso: solo disco 1 con tabla MSDOS.
if ($aviso) {
echo '
'.$TbMsg["CONFIG_NODISK1MSDOS"].'
';
}
// Botones de añadir y confirmar.
if (isset($tm)) {
echo '
';
echo '
';
} else {
echo '
'.$TbMsg["WARN_DIFFDISKSIZE"].'
'."\n";
}
}
/*
//
// Descripcián:
// (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php)
// Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
// grupo de ordenadores o aula
// Parámetros:
// $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato
// sería una secuencia de cadenas del tipo "clave de configuración" separados por "@"
// Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
// Devuelve:
// El código html de la tabla
//________________________________________________________________________________________________________
//
//
*/
function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito)
{
global $tbKeys; // Tabla contenedora de claves de configuración
global $conKeys; // Contador de claves de configuración
global $TbMsg;
global $_SESSION;
// Separamos las configuraciones segun el disco al que pertenezcan
$diskConfigs = splitConfigurationsByDisk($configuraciones);
$columns=14;
echo '
';
echo '
';
echo '
'.$TbMsg["DISK"].'
'; // Número de disco
echo '
'.$TbMsg["PARTITION"].'
';
echo '
'.$TbMsg["PARTITION_TYPE"].'
'; // Tipo de partición
echo '
'.$TbMsg["INST_SO"].'
'; // Sistema Operativo Instalado
echo '
'.$TbMsg["FILESYSTEM_SHORT"].'
'; // Sistema de ficheros
echo '
'.$TbMsg["SIZE_KB"].'
'; // Tamaño
echo '
'.$TbMsg[10].'
';
echo '
'.$TbMsg[16].'
';
echo '
'.$TbMsg["SYNC_METHOD"].'
';
echo '
'.$TbMsg["SEND"].'
';
echo '
W
';
echo '
E
';
echo '
C
';
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 '
';
if($swcc){
$icp=$cc."_".$tbKeys[$k]["numdisk"]."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición
echo '