diff options
author | albertogp <albertogp@uma.es> | 2012-05-18 10:00:35 +0000 |
---|---|---|
committer | albertogp <albertogp@uma.es> | 2012-05-18 10:00:35 +0000 |
commit | 1873b9a7c3017c9c71d05301c2dd883f23757035 (patch) | |
tree | 27dcbb2bb0f65e9b120867be7e82cc95056b0b0b | |
parent | 4e1dc5385cbf9222dede8b8706b64af447ada79c (diff) |
Versi贸n 1.0.4, #495: Integrar ticket en rama de desarrollo.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@3052 a21b9725-9963-47de-94b9-378ad31fedc9
9 files changed, 212 insertions, 24 deletions
diff --git a/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php b/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php index 34120d7f..02ccc1b1 100644 --- a/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php +++ b/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php @@ -55,6 +55,8 @@ $TbMsg[41]='Generate OG Instruction'; $TbMsg[42]='Variable'; $TbMsg[43]='No configuration: client does not connect to server.'; +$TbMsg[495]="Content Cache"; +$TbMsg[4951]="Cache Free"; ?> diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_ordenadores_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_ordenadores_eng.php index 00c76d42..b2f1f329 100644 --- a/admin/WebConsole/idiomas/php/eng/propiedades_ordenadores_eng.php +++ b/admin/WebConsole/idiomas/php/eng/propiedades_ordenadores_eng.php @@ -2,7 +2,7 @@ //________________________________________________________________________________________________________ // // Fichero de idiomas php: propiedades_ordenadores_eng.php -// Idioma: Ing閟 +// Idioma: Ing锟絪 //________________________________________________________________________________________________________ $TbMsg=array(); $TbMsg[0]="No Option"; @@ -20,5 +20,5 @@ $TbMsg[11]="Menu"; $TbMsg[12]="Cache size"; $TbMsg[13]="Network interface"; $TbMsg[14]="Network driver"; - +$TbMsg[495]="Content Cache"; ?> diff --git a/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php b/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php index 8a151b73..d867d8bc 100644 --- a/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php +++ b/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php @@ -55,6 +55,7 @@ $TbMsg[41]='Generar Instrucción OG'; $TbMsg[42]='Variable'; $TbMsg[43]='Sin configuración: cliente no conectado al servidor.'; - +$TbMsg[495]="Contenido Cache"; +$TbMsg[4951]="Cache Libre"; ?> diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php index baa235b0..f9502e7c 100644 --- a/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php +++ b/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php @@ -20,4 +20,5 @@ $TbMsg[11]="Men煤"; $TbMsg[12]="Tamaño Cach茅 (KB)"; $TbMsg[13]="Interfaz de red"; $TbMsg[14]="Driver de red"; +$TbMsg[495]="Contenido Cache"; ?> diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php index 39567c78..cd5cb4e2 100644 --- a/admin/WebConsole/includes/ConfiguracionesParticiones.php +++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php @@ -41,6 +41,7 @@ 00000100- No agrupar por Tama帽o de partici贸n 00001000- No agrupar por Imagen instalada 00010000- No agrupar por Perfil software contenido + 00100000- No agrupar por Contenido Cache $swr: Indica si se se tiene en cuenta las particiones no clonables (si:true o no:false) ________________________________________________________________________________________________________*/ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) @@ -56,6 +57,7 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) global $msk_tamano; global $msk_imagen; global $msk_perfil; + global $msk_cache; $cmd->texto="SELECT concat_WS( ';', @@ -75,7 +77,10 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) $cmd->texto.=" ordenadores_particiones.idimagen, "; if($sws & $msk_perfil) - $cmd->texto.=" ordenadores_particiones.idperfilsoft, "; + $cmd->texto.=" ordenadores_particiones.idperfilsoft, "; + + if($sws & $msk_cache) + $cmd->texto.=" ordenadores_particiones.cache, "; $cmd->texto.=" ordenadores_particiones.codpar) as configuracion, ordenadores_particiones.numpar , @@ -140,7 +145,8 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) $tbKeys[$idx]["nombreca"]=$rs->campos["nombreca"]; $tbKeys[$idx]["repositorio"]=$rs->campos["repositorio"]; $tbKeys[$idx]["idperfilsoft"]=$rs->campos["idperfilsoft"]; - $tbKeys[$idx]["perfilsoft"]=$rs->campos["perfilsoft"]; + $tbKeys[$idx]["perfilsoft"]=$rs->campos["perfilsoft"]; + $tbKeys[$idx]["cache"]=$rs->campos["cache"]; $idx++; $rs->Siguiente(); } @@ -173,6 +179,7 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr) global $msk_tamano; global $msk_imagen; global $msk_perfil; + global $msk_cache; cargaCaves($cmd,$idambito,$ambito,$sws,$swr); cargaSistemasFicheros($cmd,$idambito,$ambito); @@ -180,6 +187,7 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr) cargaImagenes($cmd,$idambito,$ambito); cargaNombresSO($cmd,$idambito,$ambito); cargaTamano($cmd,$idambito,$ambito); + cargaCache($cmd,$idambito,$ambito); $cmd->texto="SELECT COUNT(*) AS con, GROUP_CONCAT(CAST( temp2.idordenador AS CHAR(11) ) ORDER BY temp2.idordenador SEPARATOR ',' ) AS idordenadores, @@ -206,6 +214,9 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr) if($sws & $msk_perfil) $cmd->texto.=" ordenadores_particiones.idperfilsoft, "; + + if($sws & $msk_cache) + $cmd->texto.=" ordenadores_particiones.cache, "; $cmd->texto.=" ordenadores_particiones.codpar) AS configuracion FROM ordenadores @@ -666,6 +677,76 @@ function tomaTamano($numpar,$ordenadores) } } } +/*________________________________________________________________________________________________________ + + Selecciona los ordenadores que tienen el mismo Contenido de Cache para la misma partici贸n +________________________________________________________________________________________________________*/ +function cargaCache($cmd,$idambito,$ambito) +{ + 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.cache, + 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.=" JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; + case $AMBITO_GRUPOSORDENADORES : + $cmd->texto.=" JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; + break; + case $AMBITO_ORDENADORES : + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + break; + } + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.cache"; + //echo "carga tama帽os:".$cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + $idx=0; + while (!$rs->EOF){ + $tbTam[$idx]["cache"]=$rs->campos["cache"]; + $tbTam[$idx]["numpar"]=$rs->campos["numpar"]; + $tbTam[$idx]["ordenadores"]=$rs->campos["ordenadores"]; + $idx++; + $rs->Siguiente(); + } + $conTam=$idx; // Guarda contador + $rs->Cerrar(); +} +/*________________________________________________________________________________________________________ + + Toma tama帽o de partici贸n com煤n a los ordenadores pasados como par谩metros +________________________________________________________________________________________________________*/ +function tomaCache($numpar,$ordenadores) +{ + global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta + global $conTam; // Contador de elementos anteriores + + 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]["cache"]); + } + } + } +} ?> diff --git a/admin/WebConsole/includes/constantes.php b/admin/WebConsole/includes/constantes.php index b069cd1b..1107bee9 100644 --- a/admin/WebConsole/includes/constantes.php +++ b/admin/WebConsole/includes/constantes.php @@ -168,5 +168,6 @@ $msk_nombreSO=0x02; $msk_tamano=0x04; $msk_imagen=0x08; $msk_perfil=0x10; +$msk_cache=0x12; -?> +?>
\ No newline at end of file diff --git a/admin/WebConsole/principal/configuraciones.php b/admin/WebConsole/principal/configuraciones.php index d7ee08b2..0f812914 100644 --- a/admin/WebConsole/principal/configuraciones.php +++ b/admin/WebConsole/principal/configuraciones.php @@ -29,6 +29,7 @@ $fk_nombreSO=0; $fk_tamano=0; $fk_imagen=0; $fk_perfil=0; +$fk_cache=0; if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; if (isset($_GET["ambito"])) $ambito=$_GET["ambito"]; @@ -42,6 +43,7 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"]; if (isset($_POST["fk_tamano"])) $fk_tamano=$_POST["fk_tamano"]; if (isset($_POST["fk_imagen"])) $fk_imagen=$_POST["fk_imagen"]; if (isset($_POST["fk_perfil"])) $fk_perfil=$_POST["fk_perfil"]; +if (isset($_POST["fk_cache"])) $fk_cache=$_POST["fk_cache"]; //________________________________________________________________________________________________________ @@ -97,9 +99,10 @@ if (!$cmd) <INPUT type="hidden" name="ambito" value="<? echo $ambito?>"> <TABLE class="tabla_busquedas" align=center border=0 cellPadding=0 cellSpacing=0> <TR> - <TH height=15 align="center" colspan=14><? echo $TbMsg[18]?></TH> + <TH height=15 align="center" colspan=17><? echo $TbMsg[18]?></TH> </TR> <TR> + <TD align=right><? echo $TbMsg[30]?></TD> <TD align=center><INPUT type="checkbox" value="<? echo $msk_sysFi?>" name="fk_sysFi" <? if($fk_sysFi==$msk_sysFi) echo " checked "?>></TD> <TD width="20" align=center> </TD> @@ -114,21 +117,26 @@ if (!$cmd) <TD width="20" align=center> </TD> <TD align=right><? echo $TbMsg[34]?></TD> <TD align=center><INPUT type="checkbox" value="<? echo $msk_perfil?>" name="fk_perfil" <? if($fk_perfil==$msk_perfil) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + <TD align=right><? echo $TbMsg[495]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_cache?>" name="fk_cache" <? if($fk_cache==$msk_cache) echo " checked "?>></TD> + + </TR> <TR> - <TD height=2 style="BORDER-TOP:#999999 1px solid;" align="center" colspan=14> </TD> + <TD height=2 style="BORDER-TOP:#999999 1px solid;" align="center" colspan=17> </TD> </TR> <TR> <TD height=20 align="center" colspan=14> <A href=#> - <IMG border=0 src="../images/boton_confirmar_<? echo $idioma ?>.gif" onclick="document.fdatos.submit()"></A></TD> + <IMG border=0 src="../images/boton_confirmar.gif" onClick="document.fdatos.submit()"></A></TD> </TR> </TABLE> </FORM> <? } - $sws=$fk_sysFi | $fk_nombreSO | $fk_tamano | $fk_imagen | $fk_perfil; - pintaConfiguraciones($cmd,$idambito,$ambito,7,$sws,false); + $sws=$fk_sysFi | $fk_nombreSO | $fk_tamano | $fk_imagen | $fk_perfil | $fk_cache; + pintaConfiguraciones($cmd,$idambito,$ambito,8,$sws,false); ?> </BODY> </HTML> @@ -148,7 +156,7 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) global $conKeys; // Contador de claves de configuraci贸n global $TbMsg; - $colums=7; + $colums=8; echo '<tr height="16">'; echo '<th align="center"> '.$TbMsg[20].' </th>'; // N煤mero de partici贸n echo '<th align="center"> '.$TbMsg[24].' </th>'; // Tipo de partici贸n @@ -157,6 +165,7 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) echo '<th align="center"> '.$TbMsg[22].' </th>'; // Tama帽o echo '<th align="center"> '.$TbMsg[25].' </th>'; // Imagen instalada echo '<th align="center"> '.$TbMsg[26].' </th>'; // Perfil software + echo '<th align="center"> '.$TbMsg[495].' </th>'; echo '</tr>'; $auxCfg=split("@",$configuraciones); // Crea lista de particiones @@ -189,6 +198,44 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) //echo'<td align="center">'.$tbKeys[$k]["perfilsoft"].'</td>'.chr(13); echo'<td align="center"> '.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores).' </td>'.chr(13); + + //echo'<td align="center">'.$tbKeys[$k]["perfilsoft"].'</td>'.chr(13); + if ($tbKeys[$k]["numpar"] == "4") + { + $rs=new Recordset; + $cmd->texto="SELECT * FROM ordenadores_particiones WHERE idordenador='".$idordenadores."' AND numpar=4"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $campocache=$rs->campos["cache"]; + }$rs->Cerrar(); + echo'<td align="leght"> '; + $ima=split(",",$campocache); + $numero=1; + for ($x=0;$x<count($ima); $x++) + { + + if(ereg(".sum",$ima[$x]) || ereg(".torrent",$ima[$x])) + { + if(ereg(".torrent",$ima[$x])) + { + echo ' '.$ima[$x].'<br/>'.'<hr>';$numero++; + }else{ + echo ' '.$ima[$x].'<br/>'; + } + }else{ + if(ereg("MB",$ima[$x])) + { echo '<hr> ## '.$TbMsg[4951].' - ( '.$ima[$x].' )<br/><hr>';}else{ + echo $numero.".-".$ima[$x].'<br/>'; + } + } + + } + echo ' </td>'.chr(13); + }else{ + echo'<td align="center"> </td>'.chr(13); + } echo'</tr>'.chr(13); } @@ -206,6 +253,7 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) echo'<td align="right"> '.$disksize.' </td>'.chr(13); echo'<td></td>'.chr(13); echo'<td></td>'.chr(13); + echo'<td></td>'.chr(13); echo'</tr>'.chr(13); } echo '<tr height="5"><td colspan="'.$colums.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;"> </td></tr>'; @@ -281,10 +329,10 @@ function datosOrdenadores($cmd,$idordenador) { global $TbMsg; - $cmd->texto="SELECT nombreordenador, ip, mac, perfileshard.descripcion AS perfilhard - FROM ordenadores - LEFT JOIN perfileshard ON perfileshard.idperfilhard=ordenadores.idperfilhard - WHERE ordenadores.idordenador=$idordenador"; + $cmd->texto="SELECT nombreordenador,ip,mac,perfileshard.descripcion as perfilhard + FROM ordenadores + INNER JOIN perfileshard ON perfileshard.idperfilhard=ordenadores.idperfilhard + WHERE ordenadores.idordenador=".$idordenador; $rs=new Recordset; $rs->Comando=&$cmd; if ($rs->Abrir()){ @@ -338,17 +386,33 @@ function datosGruposOrdenadores($cmd,$idgrupo) if (!$rs->EOF){ $nombregrupoordenador=$rs->campos["nombregrupoordenador"]; $ordenadores=$rs->campos["numordenadores"]; + $idaula=$rs->campos["idaula"]; + } + $rs->Cerrar(); + } + ////////////////////////////////////// + $cmd->texto="SELECT DISTINCT aulas.* + FROM aulas + INNER JOIN grupoordenadores ON grupoordenadores.idaula=aulas.idaula + WHERE aulas.idaula=".$idaula; + $rs=new Recordset; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + if (!$rs->EOF){ + $urlfoto=$rs->campos["urlfoto"]; + $nombreaula=$rs->campos["nombreaula"]; } $rs->Cerrar(); } ?> <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> <TR> - <TH align=center> <?echo $TbMsg[5]?> </TD> + <TH align=center> <?echo $TbMsg[5].'</br>'.$nombreaula?> </TD> <? echo '<TD>'.$nombregrupoordenador.'</TD> <TD colspan=2 valign=top align=center rowspan=2> - <IMG border=3 style="border-color:#63676b" src="../images/aula.jpg"><br> + <IMG border=3 style="border-color:#63676b" src="'.$urlfoto.'"><br> <center> '.$TbMsg[13].': '. $ordenadores.'</center> </TD>'; diff --git a/admin/WebConsole/varios/menucliente.php b/admin/WebConsole/varios/menucliente.php index 7ab0284c..44bb7597 100644 --- a/admin/WebConsole/varios/menucliente.php +++ b/admin/WebConsole/varios/menucliente.php @@ -12,6 +12,7 @@ include_once("../includes/ctrlacc.php"); include_once("../clases/AdoPhp.php"); include_once("../includes/TomaDato.php"); include_once("../includes/CreaComando.php"); +include_once("../controlacceso.php"); include_once("../idiomas/php/".$idioma."/menucliente_".$idioma.".php"); //________________________________________________________________________________________________________ $cmd=CreaComando($cadenaconexion); @@ -87,6 +88,36 @@ else{ } include_once("/opt/opengnsys/log/clients/".$iph.".info.html"); echo $codeHtml; + +//agp +$nombre_archivo = "/opt/opengnsys/log/clients/".$iph.".cache.txt"; +$gestor = fopen($nombre_archivo, 'r'); +$contenidofichero = fread($gestor, filesize($nombre_archivo)); +fclose($gestor); + + $rs=new Recordset; + $cmd->texto="SELECT * FROM ordenadores WHERE ip='".$iph."'"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $idordenador=$rs->campos["idordenador"]; + $rs->Cerrar();} + + $rs=new Recordset; + $cmd->texto="SELECT * FROM ordenadores_particiones WHERE idordenador='".$idordenador."' ORDER BY numpar DESC"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $numeroparticion=$rs->campos["numpar"]; + $rs->Cerrar();} + + $cmd->texto="UPDATE ordenadores_particiones set cache='".$contenidofichero."' WHERE idordenador='".$idordenador."' AND numpar=4"; + if ($numeroparticion == "4") + $resul=$cmd->Ejecutar(); +//agp + ?> </body> </html> diff --git a/client/shared/scripts/generateMenuDefault b/client/shared/scripts/generateMenuDefault index 0437cd3d..f76e4f05 100755 --- a/client/shared/scripts/generateMenuDefault +++ b/client/shared/scripts/generateMenuDefault @@ -2,29 +2,36 @@ source /tmp/net-eth0.conf FILEINFOHTML=/opt/opengnsys/log/`ogGetIpAddress`.info.html +FILEINFOCACHE=/opt/opengnsys/log/`ogGetIpAddress`.cache.txt +ogMountCache +CACHECONTENIDO=`ls -m /opt/opengnsys/cache/opt/opengnsys/images` SPEED=$(ethtool $DEVICE | grep Speed | awk -F": " '{print $2}') DUPLEX=$(ethtool $DEVICE | grep Duplex | awk -F": " '{print $2}') +CACHESIZEFREE=$(ogGetFreeSize `ogFindCache`) +expr $CACHESIZEFREE / 1024 > /opt/opengnsys/log/`ogGetIpAddress`.cache.txt && echo '.MB,' >> /opt/opengnsys/log/`ogGetIpAddress`.cache.txt # # echo ''; # cat > $FILEINFOHTML << EOF -<div align="center" style="font-family: Arial, Helvetica, sans-serif;">' +<div align="center" style="font-family: Arial, Helvetica, sans-serif;"> <p style="color:#999999; font-size: 16px; margin: 2em;"> -<table border=1> -<tr> +<table border=1 width="100%"> +<tr> <TD rowspan=2><P align=left><IMG border=0 src="../images/iconos/logoopengnsys.png"><P> </td> <td> Hostname: </td> <td> IP </td> <td> MAC </td> <td> Speed </td> <td> duplex </td> </tr> -<tr> <td> $HOSTNAME </td> <td> $(ogGetIpAddress) </td> <td> $(ogGetMacAddress) </td> <td> $SPEED </td> <td> $DUPLEX </td> </tr> +<tr> <td>$HOSTNAME </td> <td> $(ogGetIpAddress) </td> <td> $(ogGetMacAddress) </td> <td> $SPEED </td> <td> $DUPLEX </td> </tr> </table> - </p> <p style="font-size: 14px; margin: 2em;"> </p> </div> -EOF
\ No newline at end of file +EOF +cat >> $FILEINFOCACHE << EOF +$CACHECONTENIDO +EOF |