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 = split("@",$configuraciones); foreach($configs as $config){ $parts = split(";",$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 // Parametros: // $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; // 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 foreach($diskConfigs as $disk => $diskConfig){ echo''.chr(13); echo ' '.$TbMsg["DISK"].' '.$disk.''.chr(13); $auxCfg=split("@",$diskConfig); // Crea lista de particiones for($i=0;$i'; } 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; 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") { echo ''.chr(13); } else { if (is_numeric ($tbKeys[$k]["tipopar"])) { echo ''.sprintf("%02X",$tbKeys[$k]["tipopar"]).''.chr(13); } else { echo ''.$tbKeys[$k]["tipopar"].''.chr(13); } } $filesys=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]); echo' '.$filesys.' '.chr(13); echo ' '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' '.chr(13); echo' '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' '.chr(13); echo' '.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' '.chr(13); echo' '.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' '.chr(13); if ($filesys == "CACHE") { echo ' '; $campocache = eregi_replace("[\n|\r|\n\r]", '', tomaCache($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"])); $ima=split(",",$campocache); $numero=1; for ($x=0;$x'.$TbMsg["CACHE_COMPLETE"].': '.$ima[$x].''; }else{ echo ''.$TbMsg["CACHE_FREESPACE"].': '.$ima[$x].''; } }elseif (! empty($ima[1])){ // $dir=is_dir('$ima');echo $dir; // if ($ima == "directorio"){$dir="si";} // Esto para la informacion de la imagen if (substr($ima[$x],-5)==".diff"){$info="F";}elseif(substr($ima[$x],-4)==".img"){$info="F";}else{$info="D";} // Esto para numerarla if(substr($ima[$x],-4)==".img" || substr($ima[$x],-5)==".diff" || substr($ima[$x],-4)=="") { echo '
('.$info.')  '.$numero++.'.-'.$ima[$x]; } elseif(ereg(".sum",$ima[$x]) || ereg(".torrent",$ima[$x]) || ereg(".full.sum",$ima[$x])) { echo '
           '.$ima[$x]; }else{ echo '
('.$info.') '.$numero++.'.-'.$ima[$x].""; } } } echo ' '.chr(13); } else { echo' '.$tbKeys[$k]["fechadespliegue"].' '.chr(13); } echo''.chr(13); } break; } } } // Mostrar información del disco, si se ha obtenido. if (!empty ($disksize)) { echo''.chr(13); echo' '.chr(13); echo' '.$disktable[$disk].' '.chr(13); echo''.chr(13); echo''.chr(13); echo''.chr(13); echo' '.$disksize[$disk].' '.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); } } 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 // Parametros: // $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 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){ echo''.chr(13); echo ' '.$TbMsg["DISK"].' '.$disk.''.chr(13); $auxCfg=split("@",$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 ''.chr(13); echo ' '.$tbKeys[$k]["numpar"].' '.chr(13); echo ' '.$tbKeys[$k]["tipopar"].' '.chr(13); echo ' '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' '.chr(13); echo' '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).' '.chr(13); echo' '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' '.chr(13); echo ''.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).''; echo ''.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idordenadores,$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 ''.chr(13); } } } } } } 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 Parametros: $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) { global $tbKeys; // Tabla contenedora de claves de configuración global $conKeys; // Contador de claves de configuración global $TbMsg; $colums=7; echo ''; echo ''; echo ' '.$TbMsg[8].' '; echo ' '.$TbMsg[24].' '; echo ' '.$TbMsg[27].' '; echo ' '.$TbMsg[22].' '; echo ' '.$TbMsg[21].' '; echo ' '.$TbMsg[14].' '; echo ''; $aviso=false; $auxCfg=split("@",$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 ''; echo ''; echo ''.HTMLSELECT_particiones($tbKeys[$k]["numpar"]).''; echo ''.HTMLSELECT_tipospar($cmd,$tbKeys[$k]["tipopar"]).''; $sf=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,true); echo ''.HTMLSELECT_sistemasficheros($cmd,$sf).''; $tm=tomaTamano($tbKeys[$k]["numpar"],$idordenadores); echo ''; echo ''.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).''; echo ''.opeFormatear().''; echo ''; } else { if ($tbKeys[$k]["codpar"]!=1) { // Aviso tabla no MSDOS. $aviso=true; } } } else { // Aviso: más de un disco. $aviso=true; } } } } if ($aviso) { // Mostrar aviso: solo disco 1 con tabla MSDOS. echo ''.$TbMsg["CONFIG_NODISK1MSDOS"].''; } /* Botones de añadir y confirmar */ echo ' '; echo ''; echo '          '; } /* // // Descripcion: // (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 // Parametros: // $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){ echo''.chr(13); echo ' '.$TbMsg["DISK"].' '.$disk.''.chr(13); $auxCfg=split("@",$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 ''.chr(13); echo ' '.$tbKeys[$k]["numpar"].' '.chr(13); echo ' '.$tbKeys[$k]["tipopar"].' '.chr(13); echo ' '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' '.chr(13); echo' '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).' '.chr(13); echo' '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' '.chr(13); echo ''.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).''; $metodos="CACHE=".$TbMsg[13].chr(13); $metodos.="REPO=".$TbMsg[9]; echo ''.HTMLCTESELECT($metodos,"desplemet_".$icp,"estilodesple","",1,100).''; $metodos="SYNC0="." ".chr(13); $metodos.="SYNC1=".$TbMsg["SYNC1_DIR"].chr(13); $metodos.="SYNC2=".$TbMsg["SYNC2_FILE"]; echo ''.HTMLCTESELECT($metodos,"desplesync_".$icp,"estilodesple","",1,100).''; $metodos="UNICAST="."Unicast".chr(13); $metodos.="MULTICAST_". mcast_syntax($cmd,$ambito,$idambito) ."="."Multicast".chr(13); $metodos.="TORRENT_". torrent_syntax($cmd,$ambito,$idambito) ."="."Torrent".chr(13); $metodos.="RSYNC=Rsync"; echo ''.HTMLCTESELECT($metodos,"despletpt_".$icp,"estilodesple","",1,100).''; echo ''; echo ''; echo ''; } echo ''.chr(13); } } } } echo ' '; } /** * Las funcion pintaParticionesRestaurarImagenSincronizacion1 sustituye a las funciones * pintaParticionesRestaurarSoftIncremental y pintaParticionesRestaurarImagenBasica * para volver a usarlas tan sólo hay que ir al fichero comandos/RestaurarImagenBasica o comandos/RestaurarSoftIncremental y cambiar la * llamada a la función que queramos en el parametro de pintaConfiguraciones. * Actualmente en ambos ficheros llaman a la función pintaParticionesRestaurarImagenSincronizacion1 ya que pintan * exactamente lo mismo. * //********************************************************************************************* // FUNCIONES //********************************************************************************************* // // 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 // Parametros: // $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 pintaParticionesRestaurarSoftIncremental($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=9; 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 ''; // Recorremos todas las configuraciones encontradas para cada disco foreach($diskConfigs as $disk => $diskConfig){ echo''.chr(13); echo ' '.$TbMsg["DISK"].' '.$disk.''.chr(13); $auxCfg=split("@",$diskConfig); // Crea lista de particiones for($i=0;$i'.chr(13); echo '  '; if($swcc){ $icp=$cc."_".$tbKeys[$k]["numpar"]; // Identificador de la configuraci�n-partici�n echo ''.chr(13); echo ' '.$tbKeys[$k]["numpar"].' '.chr(13); echo ' '.$tbKeys[$k]["tipopar"].' '.chr(13); echo ' '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).' '.chr(13); echo' '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).' '.chr(13); echo' '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).' '.chr(13); echo ''.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).''; $metodos="CACHE=".$TbMsg[13].chr(13); $metodos.="REPO=".$TbMsg[9]; echo ''.HTMLCTESELECT($metodos,"desplemet_".$icp,"estilodesple","",1,100).''; } echo ''.chr(13); } } } } echo ' '; } //********************************************************************************************* // FUNCIONES //********************************************************************************************* // // 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 // Parametros: // $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 pintaParticionesRestaurarImagenBasica($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=9; 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 ''; // Recorremos todas las configuraciones encontradas para cada disco foreach($diskConfigs as $disk => $diskConfig){ echo''.chr(13); echo ' '.$TbMsg["DISK"].' '.$disk.''.chr(13); $auxCfg=split("@",$diskConfig); // Crea lista de particiones for($i=0;$i'.chr(13); echo '  '; $icp=$cc."_".$tbKeys[$k]["numpar"]; // Identificador de la configuraci�n-partici�n echo ''.chr(13); echo ' '.$tbKeys[$k]["numpar"].' '.chr(13); echo ' '.$tbKeys[$k]["tipopar"].' '.chr(13); echo ' '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).' '.chr(13); echo' '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).' '.chr(13); echo' '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).' '.chr(13); echo ''.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).''; $metodos="CACHE=".$TbMsg[13].chr(13); $metodos.="REPO=".$TbMsg[9]; echo ''.HTMLCTESELECT($metodos,"desplemet_".$icp,"estilodesple","",1,100).''; } } } } } echo ' '; } **/