summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/includes/ConfiguracionesParticiones.php
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2011-11-11 10:46:31 +0000
committerramon <ramongomez@us.es>2011-11-11 10:46:31 +0000
commita57dbd8feef266ab66b668e45f2f4ab354758a61 (patch)
treeb53849d220cdcf18b20bc184c6f5ff8ed30b85cf /admin/WebConsole/includes/ConfiguracionesParticiones.php
parentc6718676ec47e67c839b7eeba60152783e022c07 (diff)
Datos más exactos en tabla de presentación de configuración de equipos; formato más cómodo de leeer para el código y las consultas.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@2382 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/WebConsole/includes/ConfiguracionesParticiones.php')
-rw-r--r--admin/WebConsole/includes/ConfiguracionesParticiones.php296
1 files changed, 165 insertions, 131 deletions
diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php
index e0d4b497..39567c78 100644
--- a/admin/WebConsole/includes/ConfiguracionesParticiones.php
+++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php
@@ -181,33 +181,33 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr)
cargaNombresSO($cmd,$idambito,$ambito);
cargaTamano($cmd,$idambito,$ambito);
- $cmd->texto="SELECT count(*) as con,
- group_concat(cast( temp2.idordenador AS char( 11 ) ) ORDER BY temp2.idordenador SEPARATOR ',' ) AS idordenadores,
+ $cmd->texto="SELECT COUNT(*) AS con,
+ GROUP_CONCAT(CAST( temp2.idordenador AS CHAR(11) ) ORDER BY temp2.idordenador SEPARATOR ',' ) AS idordenadores,
temp2.configuraciones
FROM (SELECT
- temp1.idordenador as idordenador,
- group_concat(cast( temp1.configuracion AS char( 250) ) ORDER BY temp1.configuracion SEPARATOR '@' ) AS configuraciones
+ temp1.idordenador AS idordenador,
+ GROUP_CONCAT(CAST( temp1.configuracion AS CHAR(250) ) ORDER BY temp1.configuracion SEPARATOR '@' ) AS configuraciones
FROM (SELECT ordenadores_particiones.idordenador,
ordenadores_particiones.numpar,
concat_WS( ';',
ordenadores_particiones.numpar, ";
- if($sws & $msk_tamano)
+ if($sws & $msk_tamano)
$cmd->texto.=" ordenadores_particiones.tamano,";
- if($sws & $msk_sysFi)
+ if($sws & $msk_sysFi)
$cmd->texto.=" ordenadores_particiones.idsistemafichero, ";
- if($sws & $msk_nombreSO)
+ if($sws & $msk_nombreSO)
$cmd->texto.=" ordenadores_particiones.idnombreso, ";
- if($sws & $msk_imagen)
+ if($sws & $msk_imagen)
$cmd->texto.=" ordenadores_particiones.idimagen, ";
- if($sws & $msk_perfil)
+ if($sws & $msk_perfil)
$cmd->texto.=" ordenadores_particiones.idperfilsoft, ";
- $cmd->texto.=" ordenadores_particiones.codpar) as configuracion
+ $cmd->texto.=" ordenadores_particiones.codpar) AS configuracion
FROM ordenadores
INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso
@@ -218,20 +218,20 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr)
switch($ambito){
case $AMBITO_AULAS :
- $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula WHERE aulas.idaula =".$idambito;
- break;
+ $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula WHERE aulas.idaula =".$idambito;
+ break;
case $AMBITO_GRUPOSORDENADORES :
- $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid WHERE gruposordenadores.idgrupo =".$idambito;
+ $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid WHERE gruposordenadores.idgrupo =".$idambito;
break;
case $AMBITO_ORDENADORES :
- $cmd->texto.=" WHERE ordenadores.idordenador=".$idambito;
+ $cmd->texto.=" WHERE ordenadores.idordenador=".$idambito;
break;
- }
- if($swr) // Si se trata de restauración no se tiene en cuenta las particiones no clonables
+ }
+ if ($swr) // Si se trata de restauración no se tiene en cuenta las particiones no clonables
$cmd->texto.=" AND tipospar.clonable=1 ";
- $cmd->texto.=" ORDER BY ordenadores_particiones.idordenador,ordenadores_particiones.numpar) as temp1
- GROUP BY temp1.idordenador) as temp2
+ $cmd->texto.=" ORDER BY ordenadores_particiones.idordenador, ordenadores_particiones.numpar) AS temp1
+ GROUP BY temp1.idordenador) AS temp2
GROUP BY temp2.configuraciones
ORDER BY con desc,idordenadores";
@@ -254,7 +254,7 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr)
$rs->Siguiente();
}
if ($cc == 0) {
- echo "<tr><th>Sin configuración: cliente no conectado al servidor.</th><tr>";
+ echo '<tr><th>'.$TbMsg[43].'</th><tr>'; // Cliente sin configuración.
}
echo "</table>";
$rs->Cerrar();
@@ -273,25 +273,24 @@ function pintaOrdenadores($cmd,$idordenadores,$maxcontor,$cc)
$tablaHtml.="";
$contor=0;
$maxcontor=10; // Número máximo de prodenadores por fila
- $cmd->texto=" SELECT idordenador,nombreordenador,ip FROM ordenadores WHERE idordenador in (".$idordenadores." ) ORDER BY nombreordenador";
+ $cmd->texto=" SELECT idordenador,nombreordenador,ip FROM ordenadores WHERE idordenador IN (".$idordenadores.") ORDER BY nombreordenador";
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return(""); // Error al abrir recordset
- $tablaHtml.='<TABLE align=left border="0" id="tbOrd_'.$cc.'" value="'.$idordenadores.'"><TR>';
+ $tablaHtml.='<table align="left" border="0" id="tbOrd_'.$cc.'" value="'.$idordenadores.'"><tr>';
while (!$rs->EOF){
$contor++;
- $tablaHtml.= '<TD align=center style="BACKGROUND-COLOR: #FFFFFF;">
- <IMG src="../images/iconos/ordenador.gif" >
- <br><span style="FONT-SIZE:9px; COLOR: #4f4f4f;" >'.$rs->campos["nombreordenador"].'</span>
- </TD>';
+ $tablaHtml.= '<td align="center" style="BACKGROUND-COLOR: #FFFFFF;">
+ <img src="../images/iconos/ordenador.gif" >
+ <br><span style="FONT-SIZE:9px; COLOR: #4f4f4f;" >'.$rs->campos["nombreordenador"].'</span></td>';
if($contor>$maxcontor){
$contor=0;
- $tablaHtml.='</TR><TR>';
+ $tablaHtml.='</tr><tr>';
}
$rs->Siguiente();
}
- $tablaHtml.='</TR>';
- $tablaHtml.= '</TABLE>';
+ $tablaHtml.='</tr>';
+ $tablaHtml.= '</table>';
return($tablaHtml);
}
/*________________________________________________________________________________________________________
@@ -306,28 +305,30 @@ function cargaSistemasFicheros($cmd,$idambito,$ambito)
global $AMBITO_GRUPOSORDENADORES;
global $AMBITO_ORDENADORES;
- $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idsistemafichero,ordenadores_particiones.numpar,
- sistemasficheros.descripcion as sistemafichero,
- group_concat(cast(ordenadores_particiones.idordenador AS char( 11) )
- ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores
- FROM ordenadores
- INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
- INNER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero";
+ $cmd->texto="SELECT COUNT(*) AS con,
+ ordenadores_particiones.idsistemafichero,
+ ordenadores_particiones.numpar,
+ sistemasficheros.descripcion AS sistemafichero,
+ GROUP_CONCAT(CAST(ordenadores_particiones.idordenador AS CHAR(11) )
+ ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores
+ FROM ordenadores
+ JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
+ JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero";
switch($ambito){
case $AMBITO_AULAS :
- $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula
- WHERE aulas.idaula =".$idambito;
- break;
+ $cmd->texto.=" JOIN aulas ON aulas.idaula = ordenadores.idaula
+ WHERE aulas.idaula =".$idambito;
+ break;
case $AMBITO_GRUPOSORDENADORES :
- $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
- WHERE gruposordenadores.idgrupo =".$idambito;
+ $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
+ WHERE gruposordenadores.idgrupo =".$idambito;
break;
case $AMBITO_ORDENADORES :
- $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito;
+ $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito;
break;
}
- $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idsistemafichero";
+ $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.idsistemafichero";
//echo "carga sistemas de ficheros:".$cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
@@ -352,17 +353,21 @@ function cargaSistemasFicheros($cmd,$idambito,$ambito)
________________________________________________________________________________________________________*/
function tomaSistemasFicheros($numpar,$ordenadores,$sw=false)
{
- global $tbSysFi; // Tabla contenedora de ordenadores incluidos en la consulta
+ global $tbSysFi; // Tabla contenedora de ordenadores incluidos en la consulta
global $conSysFi; // Contador de elementos anteriores
- for($k=0;$k<$conSysFi;$k++){
- $pos = strpos($tbSysFi[$k]["ordenadores"], $ordenadores);
- if ($pos !== false) { // Cadena encontrada
- if($tbSysFi[$k]["numpar"]==$numpar){
- if($sw) // Retonar identificador
- return($tbSysFi[$k]["idsistemafichero"]);
- else
- return($tbSysFi[$k]["sistemafichero"]);
+ for ($k=0; $k<$conSysFi; $k++){
+ if ($tbSysFi[$k]["numpar"] == $numpar){
+ //$pos = strpos($tbSysFi[$k]["ordenadores"], $ordenadores);
+ //if ($pos !== false) { // Cadena encontrada
+ $pcs = explode (",", $ordenadores);
+ $intersec = array_intersect (explode(",", $tbSysFi[$k]["ordenadores"]), $pcs);
+ if (array_diff ($pcs, $intersec) == NULL) {
+ if ($sw) { // Retonar identificador
+ return ($tbSysFi[$k]["idsistemafichero"]);
+ } else {
+ return ($tbSysFi[$k]["sistemafichero"]);
+ }
}
}
}
@@ -373,33 +378,36 @@ function tomaSistemasFicheros($numpar,$ordenadores,$sw=false)
________________________________________________________________________________________________________*/
function cargaPerfiles($cmd,$idambito,$ambito)
{
- global $tbPerfil; // Tabla contenedora de ordenadores incluidos en la consulta
+ global $tbPerfil; // Tabla contenedora de ordenadores incluidos en la consulta
global $conPerfil; // Contador de elementos anteriores
global $AMBITO_AULAS;
global $AMBITO_GRUPOSORDENADORES;
global $AMBITO_ORDENADORES;
- $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idperfilsoft,ordenadores_particiones.numpar,perfilessoft.descripcion as perfilsoft,
- group_concat(cast(ordenadores_particiones.idordenador AS char( 11) )
- ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores
- FROM ordenadores
- INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
- INNER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft";
+ $cmd->texto="SELECT count(*) AS con,
+ ordenadores_particiones.idperfilsoft,
+ ordenadores_particiones.numpar,
+ perfilessoft.descripcion AS perfilsoft,
+ GROUP_CONCAT(CAST(ordenadores_particiones.idordenador AS CHAR(11) )
+ ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores
+ FROM ordenadores
+ JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
+ JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft";
- switch($ambito){
+ switch ($ambito) {
case $AMBITO_AULAS :
- $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula
- WHERE aulas.idaula =".$idambito;
- break;
+ $cmd->texto.=" JOIN aulas ON aulas.idaula = ordenadores.idaula
+ WHERE aulas.idaula =".$idambito;
+ break;
case $AMBITO_GRUPOSORDENADORES :
- $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
- WHERE gruposordenadores.idgrupo =".$idambito;
+ $cmd->texto.=" JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
+ WHERE gruposordenadores.idgrupo =".$idambito;
break;
case $AMBITO_ORDENADORES :
- $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito;
+ $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito;
break;
}
- $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idperfilsoft";
+ $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.idperfilsoft";
//echo "carga perfiles:".$cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
@@ -423,14 +431,19 @@ function cargaPerfiles($cmd,$idambito,$ambito)
________________________________________________________________________________________________________*/
function tomaPerfiles($numpar,$ordenadores)
{
- global $tbPerfil; // Tabla contenedora de ordenadores incluidos en la consulta
+ global $tbPerfil; // Tabla contenedora de ordenadores incluidos en la consulta
global $conPerfil; // Contador de elementos anteriores
- for($k=0;$k<$conPerfil;$k++){
- $pos = strpos($tbPerfil[$k]["ordenadores"], $ordenadores);
- if ($pos !== false) { // Cadena encontrada
- if($tbPerfil[$k]["numpar"]==$numpar)
- return($tbPerfil[$k]["perfilsoft"]);
+ for ($k=0; $k<$conPerfil; $k++){
+ //$pos = strpos($tbPerfil[$k]["ordenadores"], $ordenadores);
+ //if ($pos !== false) { // Cadena encontrada
+ //if($tbPerfil[$k]["numpar"]==$numpar)
+ if ($tbPerfil[$k]["numpar"] == $numpar) {
+ $pcs = explode (",", $ordenadores);
+ $intersec = array_intersect (explode(",", $tbPerfil[$k]["ordenadores"]), $pcs);
+ if (array_diff ($pcs, $intersec) == NULL) {
+ return ($tbPerfil[$k]["perfilsoft"]);
+ }
}
}
}
@@ -440,33 +453,36 @@ function tomaPerfiles($numpar,$ordenadores)
________________________________________________________________________________________________________*/
function cargaImagenes($cmd,$idambito,$ambito)
{
- global $tbImg; // Tabla contenedora de ordenadores incluidos en la consulta
+ global $tbImg; // Tabla contenedora de ordenadores incluidos en la consulta
global $conImg; // Contador de elementos anteriores
global $AMBITO_AULAS;
global $AMBITO_GRUPOSORDENADORES;
global $AMBITO_ORDENADORES;
- $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idimagen,ordenadores_particiones.numpar,imagenes.descripcion as imagen,
- group_concat(cast(ordenadores_particiones.idordenador AS char( 11) )
- ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores
- FROM ordenadores
- INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
- INNER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen";
+ $cmd->texto="SELECT count(*) as con,
+ ordenadores_particiones.idimagen,
+ ordenadores_particiones.numpar,
+ imagenes.descripcion as imagen,
+ GROUP_CONCAT(CAST(ordenadores_particiones.idordenador AS CHAR(11) )
+ ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores
+ FROM ordenadores
+ JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
+ JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen";
switch($ambito){
case $AMBITO_AULAS :
- $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula
- WHERE aulas.idaula =".$idambito;
- break;
+ $cmd->texto.=" JOIN aulas ON aulas.idaula = ordenadores.idaula
+ WHERE aulas.idaula =".$idambito;
+ break;
case $AMBITO_GRUPOSORDENADORES :
- $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
- WHERE gruposordenadores.idgrupo =".$idambito;
+ $cmd->texto.=" JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
+ WHERE gruposordenadores.idgrupo =".$idambito;
break;
case $AMBITO_ORDENADORES :
- $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito;
+ $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito;
break;
}
- $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idimagen";
+ $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.idimagen";
//echo "carga imagenes:".$cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
@@ -490,14 +506,19 @@ function cargaImagenes($cmd,$idambito,$ambito)
________________________________________________________________________________________________________*/
function tomaImagenes($numpar,$ordenadores)
{
- global $tbImg; // Tabla contenedora de ordenadores incluidos en la consulta
+ global $tbImg; // Tabla contenedora de ordenadores incluidos en la consulta
global $conImg; // Contador de elementos anteriores
- for($k=0;$k<$conImg;$k++){
- $pos = strpos($tbImg[$k]["ordenadores"], $ordenadores);
- if ($pos !== false) { // Cadena encontrada
- if($tbImg[$k]["numpar"]==$numpar)
- return($tbImg[$k]["imagen"]);
+ for ($k=0; $k<$conImg; $k++) {
+ //$pos = strpos($tbImg[$k]["ordenadores"], $ordenadores);
+ //if ($pos !== false) { // Cadena encontrada
+ //if($tbImg[$k]["numpar"]==$numpar){
+ if ($tbImg[$k]["numpar"] == $numpar) {
+ $pcs = explode (",", $ordenadores);
+ $intersec = array_intersect (explode(",", $tbImg[$k]["ordenadores"]), $pcs);
+ if (array_diff ($pcs, $intersec) == NULL) {
+ return ($tbImg[$k]["imagen"]);
+ }
}
}
}
@@ -507,33 +528,35 @@ function tomaImagenes($numpar,$ordenadores)
________________________________________________________________________________________________________*/
function cargaNombresSO($cmd,$idambito,$ambito)
{
- global $tbSO; // Tabla contenedora de ordenadores incluidos en la consulta
+ global $tbSO; // Tabla contenedora de ordenadores incluidos en la consulta
global $conSO; // Contador de elementos anteriores
global $AMBITO_AULAS;
global $AMBITO_GRUPOSORDENADORES;
global $AMBITO_ORDENADORES;
- $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idnombreso,ordenadores_particiones.numpar,nombresos.nombreso,
- group_concat(cast(ordenadores_particiones.idordenador AS char( 11) )
- ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores
- FROM ordenadores
- INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
- INNER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso";
+ $cmd->texto="SELECT COUNT(*) AS con,
+ ordenadores_particiones.idnombreso,
+ ordenadores_particiones.numpar,nombresos.nombreso,
+ GROUP_CONCAT(CAST(ordenadores_particiones.idordenador AS CHAR(11) )
+ ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores
+ FROM ordenadores
+ JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador
+ JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso";
switch($ambito){
case $AMBITO_AULAS :
- $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula
- WHERE aulas.idaula =".$idambito;
- break;
+ $cmd->texto.=" JOIN aulas ON aulas.idaula = ordenadores.idaula
+ WHERE aulas.idaula =".$idambito;
+ break;
case $AMBITO_GRUPOSORDENADORES :
- $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
- WHERE gruposordenadores.idgrupo =".$idambito;
+ $cmd->texto.=" JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
+ WHERE gruposordenadores.idgrupo =".$idambito;
break;
case $AMBITO_ORDENADORES :
- $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito;
+ $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito;
break;
}
- $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idnombreso";
+ $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.idnombreso";
//echo "carga nombresos:".$cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
@@ -557,14 +580,18 @@ function cargaNombresSO($cmd,$idambito,$ambito)
________________________________________________________________________________________________________*/
function tomaNombresSO($numpar,$ordenadores)
{
- global $tbSO; // Tabla contenedora de ordenadores incluidos en la consulta
+ global $tbSO; // Tabla contenedora de ordenadores incluidos en la consulta
global $conSO; // Contador de elementos anteriores
- for($k=0;$k<$conSO;$k++){
- $pos = strpos($tbSO[$k]["ordenadores"], $ordenadores);
- if ($pos !== false) { // Cadena encontrada
- if($tbSO[$k]["numpar"]==$numpar)
- return($tbSO[$k]["nombreso"]);
+ for($k=0; $k<$conSO; $k++) {
+ if ($tbSO[$k]["numpar"]==$numpar) {
+ //$pos = strpos($tbSO[$k]["ordenadores"], $ordenadores);
+ //if ($pos !== false) { // Cadena encontrada
+ $pcs = explode (",", $ordenadores);
+ $intersec = array_intersect (explode(",", $tbSO[$k]["ordenadores"]), $pcs);
+ if (array_diff ($pcs, $intersec) == NULL) {
+ return ($tbSO[$k]["nombreso"]);
+ }
}
}
}
@@ -574,32 +601,34 @@ function tomaNombresSO($numpar,$ordenadores)
________________________________________________________________________________________________________*/
function cargaTamano($cmd,$idambito,$ambito)
{
- global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta
+ global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta
global $conTam; // Contador de elementos anteriores
global $AMBITO_AULAS;
global $AMBITO_GRUPOSORDENADORES;
global $AMBITO_ORDENADORES;
- $cmd->texto="SELECT count(*) as con,ordenadores_particiones.tamano,ordenadores_particiones.numpar,
- group_concat(cast(ordenadores_particiones.idordenador AS char( 11) )
- ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores
- FROM ordenadores
- INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador";
+ $cmd->texto="SELECT COUNT(*) AS con,
+ ordenadores_particiones.tamano,
+ ordenadores_particiones.numpar,
+ GROUP_CONCAT(CAST(ordenadores_particiones.idordenador AS CHAR(11) )
+ ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores
+ FROM ordenadores
+ JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador";
switch($ambito){
case $AMBITO_AULAS :
- $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula
- WHERE aulas.idaula =".$idambito;
- break;
+ $cmd->texto.=" JOIN aulas ON aulas.idaula = ordenadores.idaula
+ WHERE aulas.idaula =".$idambito;
+ break;
case $AMBITO_GRUPOSORDENADORES :
- $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
- WHERE gruposordenadores.idgrupo =".$idambito;
+ $cmd->texto.=" JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid
+ WHERE gruposordenadores.idgrupo =".$idambito;
break;
case $AMBITO_ORDENADORES :
- $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito;
+ $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito;
break;
}
- $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.tamano";
+ $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.tamano";
//echo "carga tamaños:".$cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
@@ -622,16 +651,21 @@ function cargaTamano($cmd,$idambito,$ambito)
________________________________________________________________________________________________________*/
function tomaTamano($numpar,$ordenadores)
{
- global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta
+ global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta
global $conTam; // Contador de elementos anteriores
- for($k=0;$k<$conTam;$k++){
- $pos = strpos($tbTam[$k]["ordenadores"], $ordenadores);
- if ($pos !== false) { // Cadena encontrada
- if($tbTam[$k]["numpar"]==$numpar)
- return($tbTam[$k]["tamano"]);
+ for ($k=0; $k<$conTam; $k++) {
+ if ($tbTam[$k]["numpar"] == $numpar) {
+// $pos = strpos ($tbTam[$k]["ordenadores"], $ordenadores);
+// if ($pos !== FALSE) { // Cadena encontrada
+ $pcs = explode (",", $ordenadores);
+ $intersec = array_intersect (explode(",", $tbTam[$k]["ordenadores"]), $pcs);
+ if (array_diff ($pcs, $intersec) == NULL) {
+ return ($tbTam[$k]["tamano"]);
+ }
}
}
}
?>
+