#665 IniciarSesion: toma los datos correctos de la base de datos y los muestra por grupos de ordenadores con iguales sistemas operativos.

git-svn-id: https://opengnsys.es/svn/branches/version1.0@4406 a21b9725-9963-47de-94b9-378ad31fedc9
remotes/github/debian-pkg
Irina Gomez 2014-10-21 09:39:27 +00:00
parent 9a1df17f3d
commit 7a8ab05f68
3 changed files with 463 additions and 333 deletions

View File

@ -15,6 +15,7 @@ include_once("../includes/comunes.php");
include_once("../includes/CreaComando.php");
include_once("../includes/HTMLSELECT.php");
include_once("../includes/TomaDato.php");
include_once("../includes/ConfiguracionesParticiones.php");
include_once("../includes/pintaTablaConfiguraciones.php");
include_once("../idiomas/php/".$idioma."/comandos/iniciarsesion_".$idioma.".php");
include_once("../idiomas/php/".$idioma."/comandos/opcionesacciones_".$idioma.".php");
@ -49,7 +50,7 @@ if (!$cmd)
<SPAN align=center class=subcabeceras><? echo $TbMsg[7] ?></SPAN>
</BR>
<form align=center name="fdatos">
<?php echo tablaConfiguracionesIniciarSesion($cmd,$idambito); ?>
<?php tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito); ?>
</form>
<?php
//________________________________________________________________________________________________________

View File

@ -67,7 +67,7 @@ switch($ambito){
<P align=center>
<SPAN align=center class=subcabeceras><? echo $TbMsg[7] ?></SPAN>
</p>
<?php echo tablaConfiguracionesIniciarSesion($cmd,$idambito); ?>
<?php echo tablaConfiguracionesInventarioSoftware($cmd,$idambito); ?>
</BR>
<?

View File

@ -1,338 +1,467 @@
<?php
include_once("../idiomas/php/".$idioma."/pintaParticiones_".$idioma.".php");
/*________________________________________________________________________________________________________
Crea la tabla de configuraciones y perfiles a crear
________________________________________________________________________________________________________*/
function tablaConfiguracionesIniciarSesion($cmd,$idordenador){
global $TbMsg;
global $idcentro;
$tablaHtml="";
$cmd->texto="SELECT ordenadores_particiones.numdisk,ordenadores_particiones.numpar,
ordenadores_particiones.tamano,
ordenadores_particiones.idnombreso, nombresos.nombreso,
tipospar.tipopar, imagenes.descripcion AS imagen,
perfilessoft.descripcion AS perfilsoft,
sistemasficheros.descripcion AS sistemafichero
FROM ordenadores
INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
LEFT OUTER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen
LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft
LEFT OUTER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero
WHERE ordenadores.idordenador=".$idordenador."
AND tipospar.clonable=1
AND nombresos.nombreso!='DATA'
ORDER BY ordenadores_particiones.numdisk,ordenadores_particiones.numpar";
$rs->Comando=&$cmd;
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir())
return($tablaHtml); // Error al abrir recordset
$rs->Primero();
$actualDisk = 0;
$columns = 3;
while (!$rs->EOF){
if($actualDisk != $rs->campos["numdisk"]){
$actualDisk = $rs->campos["numdisk"];
$tablaHtml.='<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;<strong>'.$TbMsg["DISK"].'&nbsp;'.$actualDisk.'</strong></td>'.chr(13);
}
if(!empty($rs->campos["idnombreso"])){
$tablaHtml.='<TR>'.chr(13);
$tablaHtml.='<TD ><input type="radio" name="particion" value='.$rs->campos["numdisk"].";".$rs->campos["numpar"].'></TD>'.chr(13);
$tablaHtml.='<TD align=center>&nbsp;'.$rs->campos["numpar"].'&nbsp;</TD>'.chr(13);
$tablaHtml.='<TD>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</TD>'.chr(13);
$tablaHtml.='</TR>'.chr(13);
}
$rs->Siguiente();
}
$rs->Cerrar();
if ( $tablaHtml == "" ) {
// Equipo sin configuracion en base de datos.
$tablaHtml='<table id="tabla_conf" width="95%" class="tabla_listados_sin" align="center" border="0" cellpadding="0" cellspacing="1">'.chr(13);
$tablaHtml.='<tr><th align="center" >'.$TbMsg["CONFIG_NOCONFIG"].'</th><tr>'.chr(13);
}
else
{
// Equipo con configuracion en BD
// Incluimos primera linea de la tabla.
$inicioTabla='<TABLE id="tabla_conf" align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos>'.chr(13);
$inicioTabla.=' <TR>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["PARTITION"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["SO_NAME"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' </TR>'.chr(13);
$tablaHtml=$inicioTabla.$tablaHtml;
}
$tablaHtml.="</table>".chr(13);
return($tablaHtml);
}
/*________________________________________________________________________________________________________
Crea la tabla de configuraciones y perfiles a crear
________________________________________________________________________________________________________*/
function tablaConfiguracionesCrearImagen($cmd,$idordenador,$idrepositorio)
{
global $idcentro;
global $TbMsg;
$tablaHtml="";
$rs=new Recordset;
$cmd->texto="SELECT ordenadores.ip AS masterip,ordenadores_particiones.numdisk, ordenadores_particiones.numpar,ordenadores_particiones.codpar,ordenadores_particiones.tamano,
ordenadores_particiones.idnombreso,nombresos.nombreso,tipospar.tipopar,tipospar.clonable,
imagenes.nombreca,imagenes.descripcion as imagen,perfilessoft.idperfilsoft,
perfilessoft.descripcion as perfilsoft,sistemasficheros.descripcion as sistemafichero
FROM ordenadores
INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
LEFT OUTER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen
LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft
LEFT OUTER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero
WHERE ordenadores.idordenador=".$idordenador." ORDER BY ordenadores_particiones.numdisk,ordenadores_particiones.numpar";
//echo $cmd->texto;
$rs->Comando=&$cmd;
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir())
return($tablaHtml."</table>"); // Error al abrir recordset
$rs->Primero();
$actualDisk = 0;
$columns = 6;
while (!$rs->EOF){
if($actualDisk != $rs->campos["numdisk"]){
$actualDisk = $rs->campos["numdisk"];
$tablaHtml.='<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;<strong>'.$TbMsg["DISK"].'&nbsp;'.$actualDisk.'</strong></td>'.chr(13);
}
$swcc=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]);
$swc=$rs->campos["idperfilsoft"]>0; // Una partición es clonable si posee un identificador de perfil software
$swccc=$swcc && $swcc;
$tablaHtml.='<TR>'.chr(13);
if($swccc){
$tablaHtml.='<TD><input type=radio name="particion" value="'.$rs->campos["numdisk"]."_".$rs->campos["numpar"]."_".$rs->campos["codpar"].'"></TD>'.chr(13);
$tablaHtml.='<TD align=center>&nbsp;'.$rs->campos["numpar"].'&nbsp;</TD>'.chr(13);
$tablaHtml.='<TD align=center>&nbsp;'.$rs->campos["tipopar"].'&nbsp;</TD>'.chr(13);
if(empty($rs->campos["nombreso"]) && !empty($rs->campos["idnombreso"])) // Si el identificador del S.O. no es nulo pero no hay descripción
$tablaHtml.='<TD align=center>&nbsp;'.'<span style="FONT-SIZE:10px; COLOR: red;" >'.$TbMsg[12].'</span></TD>'.chr(13);
else
$tablaHtml.='<TD>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</TD>'.chr(13);
$tablaHtml.='<TD>'.HTMLSELECT_imagenes($cmd,$idrepositorio,$rs->campos["idperfilsoft"],$rs->campos["numdisk"],$rs->campos["numpar"],$rs->campos["masterip"]).'</TD>';
$tablaHtml.='<TD>'.HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$rs->campos["numdisk"],$rs->campos["numpar"],$rs->campos["masterip"]).'</TD>';
//$tablaHtml.='<TD>&nbsp;</TD>';
}
$tablaHtml.='</TR>'.chr(13);
$rs->Siguiente();
}
$rs->Cerrar();
if ( $tablaHtml == "" ) {
// Equipo sin configuracion en base de datos.
$tablaHtml='<table id="tabla_conf" width="95%" class="tabla_listados_sin" align="center" border="0" cellpadding="0" cellspacing="1">'.chr(13);
$tablaHtml.='<tr><th align="center" >'.$TbMsg["CONFIG_NOCONFIG"].'</th><tr>'.chr(13);
}
else
{
// Equipo con configuracion en BD
// Incluimos primera linea de la tabla.
$inicioTabla='<TABLE id="tabla_conf" align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos>'.chr(13);
$inicioTabla.=' <TR>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["PARTITION"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["PARTITION_TYPE"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["SO_NAME"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["IMAGE_TO_CREATE"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["DESTINATION_REPOSITORY"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' </TR>'.chr(13);
$tablaHtml=$inicioTabla.$tablaHtml;
}
$tablaHtml.="</table>";
return($tablaHtml);
}
/*----------------------------------------------------------------------------------------------
Dibuja una tabla con los datos de particiones y parametros a elegir
Parametros:
- idordenador: El identificador del ordenador
----------------------------------------------------------------------------------------------*/
function tablaConfiguracionesSincronizacion1($idordenador)
{
global $idcentro;
global $TbMsg;
global $cmd;
$tablaHtml="";
$cmd->texto="SELECT DISTINCT ordenadores_particiones.numdisk,ordenadores_particiones.numpar, ordenadores_particiones.idnombreso, nombresos.nombreso,
ordenadores_particiones.idimagen, ordenadores_particiones.codpar,
tipospar.clonable, perfilessoft.idperfilsoft,
nombresos.idnombreso, nombresos.nombreso
FROM ordenadores_particiones
INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft
WHERE ordenadores_particiones.idordenador=".$idordenador."
ORDER BY ordenadores_particiones.numdisk, ordenadores_particiones.numpar";
//echo $cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir())
return($tablaHtml); // Error al abrir recordset
$rs->Primero();
$tbPAR="";
$actualDisk = 0;
$columns = 9;
while (!$rs->EOF){
if($actualDisk != $rs->campos["numdisk"]){
$actualDisk = $rs->campos["numdisk"];
$tablaHtml.='<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;<strong>'.$TbMsg["DISK"].'&nbsp;'.$actualDisk.'</strong></td>'.chr(13);
}
//$swcc=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]) && !empty($rs->campos["idperfilsoft"]);
$sw=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]);
if($sw){// Una partici<63>n es clonable si es cierta esta variable
$tbPAR.=$rs->campos["numpar"].";"; // Cadena con las particiones a procesar
$tablaHtml.='<tr id="trPar-'.$rs->campos["numpar"].'">';
$tablaHtml.='<td align=center><input type=radio name="particion" value="'.$rs->campos["codpar"].'"></td>';
$tablaHtml.='<td align="center">&nbsp;'.$rs->campos["numpar"].'&nbsp;</td>'; // N<>mero de partici<63>n
$tablaHtml.='<td align=center>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</td>'; // Nombre sistema operativo
<?php
include_once("../idiomas/php/".$idioma."/pintaParticiones_".$idioma.".php");
/*________________________________________________________________________________________________________
Crea la tabla de configuraciones y perfiles a crear
________________________________________________________________________________________________________*/
function tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito){
// TODO despues de las pruebas: idnombreso <> 5
global $TbMsg;
global $idcentro;
global $AMBITO_AULAS;
global $AMBITO_GRUPOSORDENADORES;
global $AMBITO_ORDENADORES;
global $msk_nombreSO;
// array: identificadores y nombres sistemas operativos en BD;
$sistOperativo= SistemaOperativoBD($cmd);
// Identificador del "sistema operativo" DATA.
$sistData= array_search ('DATA', $sistOperativo);
$tablaHtml='';
// Incluimos primera linea de la tabla para todos los equipos.
$inicioTabla='<table id="tabla_conf" class="tabla_datos" border="0" cellpadding="1" cellspacing="1" align="center">'.chr(13);
// Cabecera información sistemas operativos.
$cabeceraTabla='<tr>'.chr(13);
$cabeceraTabla.='<th align="center">&nbsp;&nbsp;</th>'.chr(13);
$cabeceraTabla.='<th align="center">&nbsp;Partición&nbsp;</th>'.chr(13);
$cabeceraTabla.='<th align="center">&nbsp;Nombre del S.O.&nbsp;</th>'.chr(13);
$cabeceraTabla.='</tr>'.chr(13);
// Mensaje si no existen datos en la base de datos.
$tablaSinConfiguracion='<table id="tabla_conf" width="95%" class="tabla_listados_sin" align="center" border="0" cellpadding="0" cellspacing="1">'.chr(13);
$tablaSinConfiguracion.='<tr><th align="center" >'.$TbMsg["CONFIG_NOCONFIG"].'</th><tr>'.chr(13).'</table>'.chr(13);
// CONSULTA BD: grupo de equipos con iguales sistemas operativos: idordenadores,configuracion
$cmd->texto="";
// agrupamos equipos con igual conf de disco.
$cmd->texto="select GROUP_CONCAT(pcconf.idordenador SEPARATOR ',') AS idordenadores, pcconf.configuraciones FROM (";
// partconf agrupa la configuracion de todas las part: idordenador | configuracionTodasPart
$cmd->texto.=" select partconf.idordenador , GROUP_CONCAT(partconf.configuracion ORDER BY partconf.configuracion ASC SEPARATOR '@' ) AS configuraciones FROM (";
// particion conf: idordenador, numdisk, configuracion (numdisk;numpar;idnombreso)
$cmd->texto.="SELECT ordenadores_particiones.idordenador,ordenadores_particiones.numdisk, CONCAT_WS(';',ordenadores_particiones.numdisk, ordenadores_particiones.numpar, ordenadores_particiones.idnombreso) AS configuracion FROM ordenadores_particiones ";
switch($ambito){
case $AMBITO_AULAS :
$cmd->texto.=" INNER JOIN ordenadores ON ordenadores_particiones.idordenador=ordenadores.idordenador
INNER JOIN aulas ON aulas.idaula = ordenadores.idaula
WHERE aulas.idaula =".$idambito;
break;
case $AMBITO_GRUPOSORDENADORES :
$cmd->texto.=" INNER JOIN ordenadores ON ordenadores_particiones.idordenador=ordenadores.idordenador
INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
WHERE gruposordenadores.idgrupo =".$idambito;
break;
case $AMBITO_ORDENADORES :
$cmd->texto.=" WHERE ordenadores_particiones.idordenador =".$idambito;
break;
}
$cmd->texto.=" AND ordenadores_particiones.idnombreso <> 0 ";
// Si existen particiones de datos no las mostramos.
if ($sistData != '')
$cmd->texto.=" AND ordenadores_particiones.idnombreso <> ".$sistData;
$cmd->texto.=" ORDER BY ordenadores_particiones.idordenador, idordenador,ordenadores_particiones.numdisk, ordenadores_particiones.numpar";
// fin consulta basica -> partcion conf
$cmd->texto.=") AS partconf GROUP BY partconf.idordenador";
// fin consulta partconf.
$cmd->texto.=" ) AS pcconf GROUP BY pcconf.configuraciones " ;
// Muestro datos de la consulta en tabla.
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir())
return($tablaHtml); // Error al abrir recordset
$rs->Primero();
$columns = 3;
$cc=0;
echo $inicioTabla;
// Si no hay datos pinto mensaje informativo.
if($rs->EOF)
echo $tablaSinConfiguracion;
// Para cada grupo de pc con iguales Sist. Operativo pinto una tabla.
while (!$rs->EOF){
$cc++;
echo '<tr><td colspan="'.$columns.'" style="background-color: #ffffff;">';
echo pintaOrdenadores($cmd,$rs->campos["idordenadores"],10,$cc);
echo "</td></tr>";
$configuraciones=explode("@",$rs->campos["configuraciones"]);
echo $cabeceraTabla;
// Una fila para cada particion.
$actualDisk = 0;
$tablaHtml='';
foreach ( $configuraciones as $particiones) {
$datos= explode (';', $particiones);
// Si es inicio de disco
if($actualDisk != $datos[0]){
$actualDisk = $datos[0];
$tablaHtml.='<tr><td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;<strong>'.$TbMsg["DISK"].'&nbsp;'.$actualDisk.'</strong></td><tr>'.chr(13);
}
$tablaHtml.='<tr><td><input name="particion" idcfg="'.$cc.'" id="'.$cc.'_'.$datos[0].'_'.$datos[1].'" value="'.$datos[0].';'.$datos[1].'" type="radio"></td>'.chr(13);
$tablaHtml.='<td align="center">&nbsp;'.$datos[1].'&nbsp;</td>'.chr(13);
$tablaHtml.='<td>&nbsp;'.$datos[2].'&nbsp;'.$sistOperativo[$datos[2]].'</td></tr>'.chr(13);
}
echo $tablaHtml;
$rs->Siguiente();
}
$rs->Cerrar();
echo "</table>".chr(13);
}
function tablaConfiguracionesInventarioSoftware($cmd,$idordenador){
global $TbMsg;
global $idcentro;
$tablaHtml="";
$cmd->texto="SELECT ordenadores_particiones.numdisk,ordenadores_particiones.numpar,
ordenadores_particiones.tamano,
ordenadores_particiones.idnombreso, nombresos.nombreso,
tipospar.tipopar, imagenes.descripcion AS imagen,
perfilessoft.descripcion AS perfilsoft,
sistemasficheros.descripcion AS sistemafichero
FROM ordenadores
INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
LEFT OUTER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen
LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft
LEFT OUTER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero
WHERE ordenadores.idordenador=".$idordenador."
AND tipospar.clonable=1
AND nombresos.nombreso!='DATA'
ORDER BY ordenadores_particiones.numdisk,ordenadores_particiones.numpar";
$rs->Comando=&$cmd;
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir())
return($tablaHtml); // Error al abrir recordset
$rs->Primero();
$actualDisk = 0;
$columns = 3;
while (!$rs->EOF){
if($actualDisk != $rs->campos["numdisk"]){
$actualDisk = $rs->campos["numdisk"];
$tablaHtml.='<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;<strong>'.$TbMsg["DISK"].'&nbsp;'.$actualDisk.'</strong></td>'.chr(13);
}
if(!empty($rs->campos["idnombreso"])){
$tablaHtml.='<TR>'.chr(13);
$tablaHtml.='<TD ><input type="radio" name="particion" value='.$rs->campos["numdisk"].";".$rs->campos["numpar"].'></TD>'.chr(13);
$tablaHtml.='<TD align=center>&nbsp;'.$rs->campos["numpar"].'&nbsp;</TD>'.chr(13);
$tablaHtml.='<TD>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</TD>'.chr(13);
$tablaHtml.='</TR>'.chr(13);
}
$rs->Siguiente();
}
$rs->Cerrar();
if ( $tablaHtml == "" ) {
// Equipo sin configuracion en base de datos.
$tablaHtml='<table id="tabla_conf" width="95%" class="tabla_listados_sin" align="center" border="0" cellpadding="0" cellspacing="1">'.chr(13);
$tablaHtml.='<tr><th align="center" >'.$TbMsg["CONFIG_NOCONFIG"].'</th><tr>'.chr(13);
}
else
{
// Equipo con configuracion en BD
// Incluimos primera linea de la tabla.
$inicioTabla='<TABLE id="tabla_conf" align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos>'.chr(13);
$inicioTabla.=' <TR>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["PARTITION"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["SO_NAME"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' </TR>'.chr(13);
$tablaHtml=$inicioTabla.$tablaHtml;
}
$tablaHtml.="</table>".chr(13);
return($tablaHtml);
}
/*________________________________________________________________________________________________________
Crea la tabla de configuraciones y perfiles a crear
________________________________________________________________________________________________________*/
function tablaConfiguracionesCrearImagen($cmd,$idordenador,$idrepositorio)
{
global $idcentro;
global $TbMsg;
$tablaHtml="";
$rs=new Recordset;
$cmd->texto="SELECT ordenadores.ip AS masterip,ordenadores_particiones.numdisk, ordenadores_particiones.numpar,ordenadores_particiones.codpar,ordenadores_particiones.tamano,
ordenadores_particiones.idnombreso,nombresos.nombreso,tipospar.tipopar,tipospar.clonable,
imagenes.nombreca,imagenes.descripcion as imagen,perfilessoft.idperfilsoft,
perfilessoft.descripcion as perfilsoft,sistemasficheros.descripcion as sistemafichero
FROM ordenadores
INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
LEFT OUTER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen
LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft
LEFT OUTER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero
WHERE ordenadores.idordenador=".$idordenador." ORDER BY ordenadores_particiones.numdisk,ordenadores_particiones.numpar";
//echo $cmd->texto;
$rs->Comando=&$cmd;
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir())
return($tablaHtml."</table>"); // Error al abrir recordset
$rs->Primero();
$actualDisk = 0;
$columns = 6;
while (!$rs->EOF){
if($actualDisk != $rs->campos["numdisk"]){
$actualDisk = $rs->campos["numdisk"];
$tablaHtml.='<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;<strong>'.$TbMsg["DISK"].'&nbsp;'.$actualDisk.'</strong></td>'.chr(13);
}
$swcc=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]);
$swc=$rs->campos["idperfilsoft"]>0; // Una partición es clonable si posee un identificador de perfil software
$swccc=$swcc && $swcc;
$tablaHtml.='<TR>'.chr(13);
if($swccc){
$tablaHtml.='<TD><input type=radio name="particion" value="'.$rs->campos["numdisk"]."_".$rs->campos["numpar"]."_".$rs->campos["codpar"].'"></TD>'.chr(13);
$tablaHtml.='<TD align=center>&nbsp;'.$rs->campos["numpar"].'&nbsp;</TD>'.chr(13);
$tablaHtml.='<TD align=center>&nbsp;'.$rs->campos["tipopar"].'&nbsp;</TD>'.chr(13);
if(empty($rs->campos["nombreso"]) && !empty($rs->campos["idnombreso"])) // Si el identificador del S.O. no es nulo pero no hay descripción
$tablaHtml.='<TD align=center>&nbsp;'.'<span style="FONT-SIZE:10px; COLOR: red;" >'.$TbMsg[12].'</span></TD>'.chr(13);
else
$tablaHtml.='<TD>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</TD>'.chr(13);
$tablaHtml.='<TD>'.HTMLSELECT_imagenes($cmd,$idrepositorio,$rs->campos["idperfilsoft"],$rs->campos["numdisk"],$rs->campos["numpar"],$rs->campos["masterip"]).'</TD>';
$tablaHtml.='<TD>'.HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$rs->campos["numdisk"],$rs->campos["numpar"],$rs->campos["masterip"]).'</TD>';
//$tablaHtml.='<TD>&nbsp;</TD>';
}
$tablaHtml.='</TR>'.chr(13);
$rs->Siguiente();
}
$rs->Cerrar();
if ( $tablaHtml == "" ) {
// Equipo sin configuracion en base de datos.
$tablaHtml='<table id="tabla_conf" width="95%" class="tabla_listados_sin" align="center" border="0" cellpadding="0" cellspacing="1">'.chr(13);
$tablaHtml.='<tr><th align="center" >'.$TbMsg["CONFIG_NOCONFIG"].'</th><tr>'.chr(13);
}
else
{
// Equipo con configuracion en BD
// Incluimos primera linea de la tabla.
$inicioTabla='<TABLE id="tabla_conf" align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos>'.chr(13);
$inicioTabla.=' <TR>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["PARTITION"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["PARTITION_TYPE"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["SO_NAME"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["IMAGE_TO_CREATE"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' <TH align=center>&nbsp;'. $TbMsg["DESTINATION_REPOSITORY"] .'&nbsp;</TH>'.chr(13);
$inicioTabla.=' </TR>'.chr(13);
$tablaHtml=$inicioTabla.$tablaHtml;
}
$tablaHtml.="</table>";
return($tablaHtml);
}
/*----------------------------------------------------------------------------------------------
Dibuja una tabla con los datos de particiones y parametros a elegir
Parametros:
- idordenador: El identificador del ordenador
----------------------------------------------------------------------------------------------*/
function tablaConfiguracionesSincronizacion1($idordenador)
{
global $idcentro;
global $TbMsg;
global $cmd;
$tablaHtml="";
$cmd->texto="SELECT DISTINCT ordenadores_particiones.numdisk,ordenadores_particiones.numpar, ordenadores_particiones.idnombreso, nombresos.nombreso,
ordenadores_particiones.idimagen, ordenadores_particiones.codpar,
tipospar.clonable, perfilessoft.idperfilsoft,
nombresos.idnombreso, nombresos.nombreso
FROM ordenadores_particiones
INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft
WHERE ordenadores_particiones.idordenador=".$idordenador."
ORDER BY ordenadores_particiones.numdisk, ordenadores_particiones.numpar";
//echo $cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir())
return($tablaHtml); // Error al abrir recordset
$rs->Primero();
$tbPAR="";
$actualDisk = 0;
$columns = 9;
while (!$rs->EOF){
if($actualDisk != $rs->campos["numdisk"]){
$actualDisk = $rs->campos["numdisk"];
$tablaHtml.='<td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #D4D0C8;">&nbsp;<strong>'.$TbMsg["DISK"].'&nbsp;'.$actualDisk.'</strong></td>'.chr(13);
}
//$swcc=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]) && !empty($rs->campos["idperfilsoft"]);
$sw=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]);
if($sw){// Una partici<63>n es clonable si es cierta esta variable
$tbPAR.=$rs->campos["numpar"].";"; // Cadena con las particiones a procesar
$tablaHtml.='<tr id="trPar-'.$rs->campos["numpar"].'">';
$tablaHtml.='<td align=center><input type=radio name="particion" value="'.$rs->campos["codpar"].'"></td>';
$tablaHtml.='<td align="center">&nbsp;'.$rs->campos["numpar"].'&nbsp;</td>'; // N<>mero de partici<63>n
$tablaHtml.='<td align=center>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</td>'; // Nombre sistema operativo
$tablaHtml.='<td align=center>'.HTMLSELECT_imagenes($rs->campos["idimagen"]).'</td>';
$metodos="SYNC0="." ".chr(13);
$metodos.="SYNC1=".$TbMsg["SYNC1_DIR"].chr(13);
$metodos.="SYNC2=".$TbMsg["SYNC2_FILE"];
$tablaHtml.= '<TD align=center>'.HTMLCTESELECT($metodos,"desplesync_".$rs->campos["numpar"],"estilodesple","",1,100).'</TD>';
$tablaHtml.='<td align=center><input type=checkbox name="whole" id="whl-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="paramb" checked id="eli-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="compres" id="cmp-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='</tr>';
}
$rs->Siguiente();
}
$rs->Cerrar();
echo $tablaHtml;
return($tbPAR);
}
/**
* La funcion tablaConfiguracionesSincronizacion1 sustituye a las funciones tablaConfiguracionesCrearImagenBasica y
* tablaConfiguracionesCrearSoftIncremental que eran llamadas desde comandos/CrearImagenBasica.php y comandos/CrearSoftIncremental.php
* Ahora en ambos ficheros se llama a la misma función ya que pintaban lo mismo en pantalla
*
/*----------------------------------------------------------------------------------------------
Dibuja una tabla con los datos de particiones y parametros a elegir
Parametros:
- idordenador: El identificador del ordenador
----------------------------------------------------------------------------------------------*
function tablaConfiguracionesCrearImagenBasica($idordenador)
{
global $idcentro;
global $TbMsg;
global $cmd;
$tablaHtml="";
$cmd->texto="SELECT DISTINCT ordenadores_particiones.numpar, ordenadores_particiones.idnombreso, nombresos.nombreso,
ordenadores_particiones.idimagen, ordenadores_particiones.codpar,
tipospar.clonable, perfilessoft.idperfilsoft,
nombresos.idnombreso, nombresos.nombreso
FROM ordenadores_particiones
INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft
WHERE ordenadores_particiones.idordenador=$idordenador
ORDER BY ordenadores_particiones.numpar";
//echo $cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset
$rs->Primero();
$tbPAR="";
while (!$rs->EOF){
//$swcc=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]) && !empty($rs->campos["idperfilsoft"]);
$sw=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]);
if($sw){// Una partici<63>n es clonable si es cierta esta variable
$tbPAR.=$rs->campos["numpar"].";"; // Cadena con las particiones a procesar
$tablaHtml.='<tr id="trPar-'.$rs->campos["numpar"].'">';
$tablaHtml.='<td align=center><input type=radio name="particion" value="'.$rs->campos["codpar"].'"></td>';
$tablaHtml.='<td align="center">&nbsp;'.$rs->campos["numpar"].'&nbsp;</td>'; // N<>mero de partici<63>n
$tablaHtml.='<td align=center>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</td>'; // Nombre sistema operativo
$tablaHtml.='<td align=center>'.HTMLSELECT_imagenes($rs->campos["idimagen"]).'</td>';
$tablaHtml.='<td align=center><input type=checkbox name="whole" id="whl-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="paramb" checked id="eli-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="compres" id="cmp-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='</tr>';
}
$rs->Siguiente();
}
$rs->Cerrar();
echo $tablaHtml;
return($tbPAR);
}
/*----------------------------------------------------------------------------------------------
Dibuja una tabla con los datos de particiones y parametros a elegir
Parametros:
- idordenador: El identificador del ordenador
----------------------------------------------------------------------------------------------*
function tablaConfiguracionesCrearSoftIncremental($idordenador)
{
global $idcentro;
global $TbMsg;
global $cmd;
$tablaHtml="";
$cmd->texto="SELECT DISTINCT ordenadores_particiones.numpar, ordenadores_particiones.idnombreso,
nombresos.nombreso, ordenadores_particiones.idimagen,
tipospar.clonable, perfilessoft.idperfilsoft,
nombresos.idnombreso, nombresos.nombreso
FROM ordenadores_particiones
INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft
WHERE ordenadores_particiones.idordenador=$idordenador
ORDER BY ordenadores_particiones.numpar";
//echo $cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset
$rs->Primero();
$tbPAR="";
while (!$rs->EOF){
//$swcc=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]) && !empty($rs->campos["idperfilsoft"]);
$sw=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]);
if($sw){// Una partici<63>n es clonable si es cierta esta variable
$tbPAR.=$rs->campos["numpar"].";"; // Cadena con las particiones a procesar
$tablaHtml.='<TR id="trPar-'.$rs->campos["numpar"].'">';
$tablaHtml.='<td align=center ><input type=radio name="particion" value="'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align="center">&nbsp;'.$rs->campos["numpar"].'&nbsp;</td>'; // N<>mero de partici<63>n
$tablaHtml.='<td align=center>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</td>'; // Nombre sistema operativo
$tablaHtml.='<td align=center>'.HTMLSELECT_imagenes($rs->campos["idimagen"]).'</td>';
$tablaHtml.='<td align=center><input type=checkbox name="whole" id="whl-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="paramb" checked id="eli-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="compres" id="cmp-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='</TR>';
}
$rs->Siguiente();
}
$rs->Cerrar();
echo $tablaHtml;
return($tbPAR);
}
<<<<<<< .mine
$tablaHtml.='<td align=center><input type=checkbox name="whole" id="whl-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="paramb" checked id="eli-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="compres" id="cmp-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='</tr>';
}
$rs->Siguiente();
}
$rs->Cerrar();
echo $tablaHtml;
return($tbPAR);
}
/**
* La funcion tablaConfiguracionesSincronizacion1 sustituye a las funciones tablaConfiguracionesCrearImagenBasica y
* tablaConfiguracionesCrearSoftIncremental que eran llamadas desde comandos/CrearImagenBasica.php y comandos/CrearSoftIncremental.php
* Ahora en ambos ficheros se llama a la misma función ya que pintaban lo mismo en pantalla
*
/*----------------------------------------------------------------------------------------------
Dibuja una tabla con los datos de particiones y parametros a elegir
Parametros:
- idordenador: El identificador del ordenador
----------------------------------------------------------------------------------------------*
function tablaConfiguracionesCrearImagenBasica($idordenador)
{
global $idcentro;
global $TbMsg;
global $cmd;
$tablaHtml="";
$cmd->texto="SELECT DISTINCT ordenadores_particiones.numpar, ordenadores_particiones.idnombreso, nombresos.nombreso,
ordenadores_particiones.idimagen, ordenadores_particiones.codpar,
tipospar.clonable, perfilessoft.idperfilsoft,
nombresos.idnombreso, nombresos.nombreso
FROM ordenadores_particiones
INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft
WHERE ordenadores_particiones.idordenador=$idordenador
ORDER BY ordenadores_particiones.numpar";
//echo $cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset
$rs->Primero();
$tbPAR="";
while (!$rs->EOF){
//$swcc=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]) && !empty($rs->campos["idperfilsoft"]);
$sw=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]);
if($sw){// Una partici<63>n es clonable si es cierta esta variable
$tbPAR.=$rs->campos["numpar"].";"; // Cadena con las particiones a procesar
$tablaHtml.='<tr id="trPar-'.$rs->campos["numpar"].'">';
$tablaHtml.='<td align=center><input type=radio name="particion" value="'.$rs->campos["codpar"].'"></td>';
$tablaHtml.='<td align="center">&nbsp;'.$rs->campos["numpar"].'&nbsp;</td>'; // N<>mero de partici<63>n
$tablaHtml.='<td align=center>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</td>'; // Nombre sistema operativo
$tablaHtml.='<td align=center>'.HTMLSELECT_imagenes($rs->campos["idimagen"]).'</td>';
$tablaHtml.='<td align=center><input type=checkbox name="whole" id="whl-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="paramb" checked id="eli-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="compres" id="cmp-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='</tr>';
}
$rs->Siguiente();
}
$rs->Cerrar();
echo $tablaHtml;
return($tbPAR);
}
/*----------------------------------------------------------------------------------------------
Dibuja una tabla con los datos de particiones y parametros a elegir
Parametros:
- idordenador: El identificador del ordenador
----------------------------------------------------------------------------------------------*
function tablaConfiguracionesCrearSoftIncremental($idordenador)
{
global $idcentro;
global $TbMsg;
global $cmd;
$tablaHtml="";
$cmd->texto="SELECT DISTINCT ordenadores_particiones.numpar, ordenadores_particiones.idnombreso,
nombresos.nombreso, ordenadores_particiones.idimagen,
tipospar.clonable, perfilessoft.idperfilsoft,
nombresos.idnombreso, nombresos.nombreso
FROM ordenadores_particiones
INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft
WHERE ordenadores_particiones.idordenador=$idordenador
ORDER BY ordenadores_particiones.numpar";
//echo $cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset
$rs->Primero();
$tbPAR="";
while (!$rs->EOF){
//$swcc=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]) && !empty($rs->campos["idperfilsoft"]);
$sw=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]);
if($sw){// Una partici<63>n es clonable si es cierta esta variable
$tbPAR.=$rs->campos["numpar"].";"; // Cadena con las particiones a procesar
$tablaHtml.='<TR id="trPar-'.$rs->campos["numpar"].'">';
$tablaHtml.='<td align=center ><input type=radio name="particion" value="'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align="center">&nbsp;'.$rs->campos["numpar"].'&nbsp;</td>'; // N<>mero de partici<63>n
$tablaHtml.='<td align=center>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</td>'; // Nombre sistema operativo
$tablaHtml.='<td align=center>'.HTMLSELECT_imagenes($rs->campos["idimagen"]).'</td>';
$tablaHtml.='<td align=center><input type=checkbox name="whole" id="whl-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="paramb" checked id="eli-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='<td align=center><input type=checkbox name="compres" id="cmp-'.$rs->campos["numpar"].'"></td>';
$tablaHtml.='</TR>';
}
$rs->Siguiente();
}
$rs->Cerrar();
echo $tablaHtml;
return($tbPAR);
}
<<<<<<< .mine
/**/
// Devuelve un Array nombres de los sistemas operativos en BD con sus identificadores.
function SistemaOperativoBD ($cmd) {
$idSistOperativo = array(); // Array nombres de los sistemas operativos
$cmd->texto="select idnombreso, nombreso from nombresos";
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return; // Error al abrir recordset
$rs->Primero();
while (!$rs->EOF){
$idSistOperativo[ $rs->campos["idnombreso"] ] = $rs->campos["nombreso"];
$rs->Siguiente();
}
return $idSistOperativo;
}