diff options
author | ramon <ramongomez@us.es> | 2012-11-06 12:56:20 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2012-11-06 12:56:20 +0000 |
commit | df440ce7a78ba6bbe51008980d39c105147d2f56 (patch) | |
tree | aae2557ef7fb8366a5af94cf1959f7a87abef3bd /admin/WebConsole | |
parent | e79394ebd9a818eaee87169576c821451ff81206 (diff) |
Versión 1.0.5, #453: Integrar código del ticket:453, autenticación para acceso a clientes.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@3397 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/WebConsole')
16 files changed, 771 insertions, 256 deletions
diff --git a/admin/WebConsole/gestores/gestor_aulas.php b/admin/WebConsole/gestores/gestor_aulas.php index a2630809..29dd0ac0 100644 --- a/admin/WebConsole/gestores/gestor_aulas.php +++ b/admin/WebConsole/gestores/gestor_aulas.php @@ -1,4 +1,4 @@ -<? +<?php // ************************************************************************************************************************************************* // Aplicación WEB: ogAdmWebCon // Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla @@ -47,15 +47,19 @@ $netmask=0; $modp2p=0; $timep2p=0; ############ ADV +############ UHU +$validacion=""; +$paginalogin=""; +$paginavalidacion=""; +############ UHU //##agp -if($_FILES['archivo']['type']=="image/gif" || $_FILES['archivo']['type']=="image/jpeg" || $_FILES['archivo']['type']=="image/jpg" || $_FILES['archivo']['type']=="image/png" || $_FILES['archivo']['type']=="image/JPG") -{ - $uploaddir ="../images/fotos/"; - - $uploadfile = $uploaddir.$_FILES['archivo']['name']; - -move_uploaded_file($_FILES['archivo']['tmp_name'], $uploadfile); -#copy($_FILES['archivo']['tmp_name'], $uploadfile); +if (isset($_FILES['archivo'])) { + if($_FILES['archivo']['type']=="image/gif" || $_FILES['archivo']['type']=="image/jpeg" || $_FILES['archivo']['type']=="image/jpg" || $_FILES['archivo']['type']=="image/png" || $_FILES['archivo']['type']=="image/JPG") { + $uploaddir ="../images/fotos/"; + $uploadfile = $uploaddir.$_FILES['archivo']['name']; + move_uploaded_file($_FILES['archivo']['tmp_name'], $uploadfile); + #copy($_FILES['archivo']['tmp_name'], $uploadfile); + } } //##agp if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros @@ -88,6 +92,11 @@ if (isset($_POST["netmask"])) $netmask=$_POST["netmask"]; if (isset($_POST["modp2p"])) $modp2p=$_POST["modp2p"]; if (isset($_POST["timep2p"])) $timep2p=$_POST["timep2p"]; ################# ADV +################# UHU +if (isset($_POST["validacion"])) $validacion=$_POST["validacion"]; +if (isset($_POST["paginalogin"])) $paginalogin=$_POST["paginalogin"]; +if (isset($_POST["paginavalidacion"])) $paginavalidacion=$_POST["paginavalidacion"]; +################# UHU $gidmenu=0; $gidproautoexec=0; @@ -194,6 +203,11 @@ function Gestiona(){ global $modp2p; global $timep2p; ########################## ADV +########################## UHU + global $validacion; + global $paginalogin; + global $paginavalidacion; +########################## UHU global $op_alta; global $op_modificacion; @@ -230,13 +244,18 @@ function Gestiona(){ $cmd->CreaParametro("@modp2p",$modp2p,0); $cmd->CreaParametro("@timep2p",$timep2p,1); ############### ADV +############### UHU + $cmd->CreaParametro("@validacion",$validacion,1); + $cmd->CreaParametro("@paginalogin",$paginalogin,0); + $cmd->CreaParametro("@paginavalidacion",$paginavalidacion,0); +############### UHU switch($opcion){ case $op_alta : $cmd->texto="INSERT INTO aulas(idcentro,grupoid,nombreaula,urlfoto,cagnon,pizarra,ubicacion,comentarios, - puestos,horaresevini,horaresevfin,modomul,ipmul,pormul,velmul,router,netmask,modp2p,timep2p) + puestos,horaresevini,horaresevfin,modomul,ipmul,pormul,velmul,router,netmask,modp2p,timep2p,validacion,paginalogin,paginavalidacion) VALUES (@idcentro,@grupoid,@nombreaula,@urlfoto,@cagnon,@pizarra,@ubicacion,@comentarios, - @puestos,@horaresevini,@horaresevfin,@modomul,@ipmul,@pormul,@velmul,@router,@netmask,@modp2p,@timep2p)"; + @puestos,@horaresevini,@horaresevfin,@modomul,@ipmul,@pormul,@velmul,@router,@netmask,@modp2p,@timep2p,@validacion,@paginalogin,@paginavalidacion)"; $resul=$cmd->Ejecutar(); if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta $idaula=$cmd->Autonumerico(); @@ -250,7 +269,7 @@ function Gestiona(){ case $op_modificacion: $cmd->texto="UPDATE aulas SET nombreaula=@nombreaula,urlfoto=@urlfoto,cagnon=@cagnon,pizarra=@pizarra, ubicacion=@ubicacion,comentarios=@comentarios,puestos=@puestos,horaresevini=@horaresevini, - horaresevfin=@horaresevfin,modomul=@modomul,ipmul=@ipmul,pormul=@pormul,velmul=@velmul,router=@router,netmask=@netmask,modp2p=@modp2p,timep2p=@timep2p WHERE idaula=@idaula"; + horaresevfin=@horaresevfin,modomul=@modomul,ipmul=@ipmul,pormul=@pormul,velmul=@velmul,router=@router,netmask=@netmask,modp2p=@modp2p,timep2p=@timep2p,validacion=@validacion,paginalogin=@paginalogin,paginavalidacion=@paginavalidacion WHERE idaula=@idaula"; $resul=$cmd->Ejecutar(); //echo $cmd->texto; if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta @@ -265,6 +284,11 @@ function Gestiona(){ $clsUpdate.="idperfilhard=@idperfilhard,"; if($cache!=0 || $gcache>0) $clsUpdate.="cache=@cache,"; + // UHU - Actualiza la validacion en los ordenadores + $clsUpdate .="validacion=@validacion,"; + $clsUpdate .="paginalogin=@paginalogin,"; + $clsUpdate .="paginavalidacion=@paginavalidacion,"; + if(!empty($clsUpdate)){ $clsUpdate=substr($clsUpdate,0,strlen($clsUpdate)-1); // Quita última coma diff --git a/admin/WebConsole/gestores/gestor_ordenadores.php b/admin/WebConsole/gestores/gestor_ordenadores.php index 3d754106..50971e56 100644 --- a/admin/WebConsole/gestores/gestor_ordenadores.php +++ b/admin/WebConsole/gestores/gestor_ordenadores.php @@ -36,6 +36,12 @@ $cache=0; $netiface=""; $netdriver=""; ### ADV +### UHU +$validacion=""; +$paginalogin=""; +$paginavalidacion=""; +### UHU + //##agp if (isset($_FILES['archivo'])) { if($_FILES['archivo']['type']=="image/gif" || $_FILES['archivo']['type']=="image/jpeg" || $_FILES['archivo']['type']=="image/jpg" || $_FILES['archivo']['type']=="image/png" || $_FILES['archivo']['type']=="image/JPG") { @@ -64,6 +70,11 @@ if(empty($cache)) $cache=0; if (isset($_POST["netiface"])) $netiface=$_POST["netiface"]; if (isset($_POST["netdriver"])) $netdriver=$_POST["netdriver"]; +######## UHU +if (isset($_POST["validacion"])) $validacion=$_POST["validacion"]; +if (isset($_POST["paginalogin"])) $paginalogin=$_POST["paginalogin"]; +if (isset($_POST["paginavalidacion"])) $paginavalidacion=$_POST["paginavalidacion"]; +######## UHU $tablanodo=""; // Arbol para nodos insertados //________________________________________________________________________________________________________ @@ -158,6 +169,11 @@ function Gestiona(){ global $cache; global $netiface; global $netdriver; +######################## UHU + global $validacion; + global $paginalogin; + global $paginavalidacion; +######################## UHU global $op_alta; global $op_modificacion; @@ -180,14 +196,19 @@ function Gestiona(){ $cmd->CreaParametro("@netiface",$netiface,0); $cmd->CreaParametro("@netdriver",$netdriver,0); $cmd->CreaParametro("@fotoordenador",$fotoordenador,0); - +######################################################### UHU + $cmd->CreaParametro("@validacion",$validacion,0); + $cmd->CreaParametro("@paginalogin",$paginalogin,0); + $cmd->CreaParametro("@paginavalidacion",$paginavalidacion,0); +######################################################### UHU + switch($opcion){ case $op_alta : //Insertar fotoord con Values @fotoordenador $cmd->texto="INSERT INTO ordenadores(nombreordenador,ip,mac,idperfilhard,idrepositorio, - idmenu,idproautoexec,idaula,grupoid,cache,netiface,netdriver,fotoord) VALUES (@nombreordenador,@ip,@mac,@idperfilhard,@idrepositorio, - @idmenu,@idprocedimiento,@idaula,@grupoid,@cache,@netiface,@netdriver,@fotoordenador)"; + idmenu,idproautoexec,idaula,grupoid,cache,netiface,netdriver,fotoord,validacion,paginalogin,paginavalidacion) VALUES (@nombreordenador,@ip,@mac,@idperfilhard,@idrepositorio, + @idmenu,@idprocedimiento,@idaula,@grupoid,@cache,@netiface,@netdriver,@fotoordenador,@validacion,@paginalogin,@paginavalidacion)"; $resul=$cmd->Ejecutar(); //echo $cmd->texto; @@ -202,7 +223,7 @@ function Gestiona(){ break; case $op_modificacion: $cmd->texto="UPDATE ordenadores SET nombreordenador=@nombreordenador,ip=@ip,mac=@mac,idperfilhard=@idperfilhard, - idrepositorio=@idrepositorio,idmenu=@idmenu,idproautoexec=@idprocedimiento,cache=@cache,netiface=@netiface,netdriver=@netdriver,fotoord=@fotoordenador + idrepositorio=@idrepositorio,idmenu=@idmenu,idproautoexec=@idprocedimiento,cache=@cache,netiface=@netiface,netdriver=@netdriver,fotoord=@fotoordenador,validacion=@validacion,paginalogin=@paginalogin,paginavalidacion=@paginavalidacion WHERE idordenador=@idordenador"; $resul=$cmd->Ejecutar(); //echo $cmd->texto; diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_aulas_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_aulas_esp.php index 8327b7bc..c2fc3ab0 100644 --- a/admin/WebConsole/idiomas/php/esp/propiedades_aulas_esp.php +++ b/admin/WebConsole/idiomas/php/esp/propiedades_aulas_esp.php @@ -35,6 +35,11 @@ $TbMsg[26]="Modo P2P -semillero durante la descarga-"; $TbMsg[27]="Tiempo P2P -semillero después de descarga-"; $TbMsg[28]="Dirección gateway del aula"; $TbMsg[29]="Máscara de red del aula"; +// UHU +$TbMsg[30]="Validación"; +$TbMsg[31]="Página login"; +$TbMsg[32]="Página validación"; +// UHU $TbMsg[495]="Contenido caché"; $TbMsg[509]="Foto ordenador"; $TbMsg[5091]="Insertar foto"; diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php index 5f7d68df..90bcc4d0 100644 --- a/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php +++ b/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php @@ -20,6 +20,11 @@ $TbMsg[11]="Menú"; $TbMsg[12]="Tamaño caché (KB)"; $TbMsg[13]="Interfaz de red"; $TbMsg[14]="Driver de red"; +// UHU +$TbMsg[15]="Validación"; +$TbMsg[16]="Pagina login"; +$TbMsg[17]="Pagina validación"; +// UHU $TbMsg[509]="Foto ordenador"; $TbMsg[5091]="Insertar foto"; $TbMsg[5092]="Ver fotos"; diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php index 84303b37..16633f88 100644 --- a/admin/WebConsole/includes/ConfiguracionesParticiones.php +++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php @@ -145,7 +145,7 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) $tbKeys[$idx]["repositorio"]=$rs->campos["repositorio"]; $tbKeys[$idx]["idperfilsoft"]=$rs->campos["idperfilsoft"]; $tbKeys[$idx]["perfilsoft"]=$rs->campos["perfilsoft"]; - $tbKeys[$idx]["cache"]=$rs->campos["cache"]; + //$tbKeys[$idx]["cache"]=$rs->campos["cache"]; $idx++; $rs->Siguiente(); } diff --git a/admin/WebConsole/propiedades/propiedades_aulas.php b/admin/WebConsole/propiedades/propiedades_aulas.php index 3d755f71..8d68b2e4 100644 --- a/admin/WebConsole/propiedades/propiedades_aulas.php +++ b/admin/WebConsole/propiedades/propiedades_aulas.php @@ -377,6 +377,44 @@ function abrir_ventana(URL){ ?> </TR> <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> +<!--------------------------------------------------------------UHU comprobar si se requiere validacion ------------------------------------------------------------------------> + + <TR> + <TH align=center> <?echo $TbMsg[30]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.(($validacion == 1)?"Si":"No").'</TD>'; + else{ + echo '<TD colspan=3>'; + $validaciones="1=Si".chr(13); + $validaciones.="0=No"; + echo HTMLCTESELECT($validaciones,"validacion","estilodesple","",$validacion,100).'</TD>'; + } + + ?> + </TR> + <TR> + <TH align=center> <?echo $TbMsg[31]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$paginalogin.'</TD>'; + else + echo '<TD colspan=3><INPUT class="formulariodatos" name=paginalogin type=text value="'.$paginalogin.'"></TD>'; + ?> + </TR> + <TR> + <TH align=center> <?echo $TbMsg[32]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$paginavalidacion.'</TD>'; + else + echo '<TD colspan=3><INPUT class="formulariodatos" name=paginavalidacion type=text value="'.$paginavalidacion.'"></TD>'; + ?> + </TR> + + +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> </FORM> </DIV> @@ -409,8 +447,6 @@ function TomaPropiedades($cmd,$ida) global $horaresevfin; global $grupoid; - - global $idmenu; global $idprocedimiento; global $idrepositorio; @@ -432,6 +468,11 @@ function TomaPropiedades($cmd,$ida) global $ipmul; global $pormul; global $velmul; +###################### UHU + global $validacion; + global $paginalogin; + global $paginavalidacion; +###################### UHU $idaula=0; $nombreaula=""; @@ -448,14 +489,16 @@ function TomaPropiedades($cmd,$ida) ## ADV ######################################### $router=0; $netmask=0; - $modp2p=0; + $modp2p=0; $timep2p=0; ### ADV ######################################## $modomul=0; $ipmul=0; $pormul=0; $velmul=0; - +### UHU ######################################## + $validacion=""; + $idmenu=0; $idprocedimiento=0; $idrepositorio=0; @@ -468,26 +511,22 @@ function TomaPropiedades($cmd,$ida) $gidperfilhard=0; $gcache=0; - - $rs=new Recordset; - $cmd->texto="SELECT COUNT(ordenadores.idordenador) AS numordenadores, aulas.* , - group_concat(DISTINCT cast( ordenadores.idmenu AS char( 11 ) ) + $cmd->texto="SELECT COUNT(ordenadores.idordenador) AS numordenadores, aulas.* , + GROUP_CONCAT(DISTINCT CAST( ordenadores.idmenu AS char( 11 ) ) ORDER BY ordenadores.idmenu SEPARATOR ',' ) AS idmenus, - group_concat(DISTINCT cast( ordenadores.idrepositorio AS char( 11 ) ) + GROUP_CONCAT(DISTINCT CAST( ordenadores.idrepositorio AS char( 11 ) ) ORDER BY ordenadores.idrepositorio SEPARATOR ',' ) AS idrepositorios, - group_concat(DISTINCT cast( ordenadores.idperfilhard AS char( 11 ) ) + GROUP_CONCAT(DISTINCT CAST( ordenadores.idperfilhard AS char( 11 ) ) ORDER BY ordenadores.idperfilhard SEPARATOR ',' ) AS idperfileshard, - group_concat(DISTINCT cast( ordenadores.cache AS char( 11 ) ) + GROUP_CONCAT(DISTINCT CAST( ordenadores.cache AS char( 11 ) ) ORDER BY ordenadores.cache SEPARATOR ',' ) AS caches, - group_concat(DISTINCT cast( ordenadores.idproautoexec AS char( 11 ) ) - ORDER BY ordenadores.idproautoexec SEPARATOR ',' ) AS idprocedimientos - FROM aulas - LEFT OUTER JOIN ordenadores ON ordenadores.idaula = aulas.idaula - WHERE aulas.idaula =".$ida." - GROUP BY aulas.idaula"; - - // echo $cmd->texto; + GROUP_CONCAT(DISTINCT CAST( ordenadores.idproautoexec AS char( 11 ) ) + ORDER BY ordenadores.idproautoexec SEPARATOR ',' ) AS idprocedimientos + FROM aulas + LEFT OUTER JOIN ordenadores ON ordenadores.idaula = aulas.idaula + WHERE aulas.idaula =".$ida." + GROUP BY aulas.idaula"; $rs->Comando=&$cmd; if (!$rs->Abrir()) return(false); // Error al abrir recordset @@ -514,6 +553,11 @@ function TomaPropiedades($cmd,$ida) $modp2p=$rs->campos["modp2p"]; $timep2p=$rs->campos["timep2p"]; ###################### ADV +###################### UHU + $validacion=$rs->campos["validacion"]; + $paginalogin=$rs->campos["paginalogin"]; + $paginavalidacion=$rs->campos["paginavalidacion"]; +###################### UHU $ordenadores=$rs->campos["numordenadores"]; $idmenu=$rs->campos["idmenus"]; @@ -542,3 +586,4 @@ function TomaPropiedades($cmd,$ida) return(false); } ?> + diff --git a/admin/WebConsole/propiedades/propiedades_ordenadores.php b/admin/WebConsole/propiedades/propiedades_ordenadores.php index 534b396a..c21657d7 100644 --- a/admin/WebConsole/propiedades/propiedades_ordenadores.php +++ b/admin/WebConsole/propiedades/propiedades_ordenadores.php @@ -83,7 +83,7 @@ function abrir_ventana(URL){ <th align="center"> <?php echo $TbMsg[5]?> <sup>*</sup> </th> <?php if ($opcion==$op_eliminacion) echo '<td>'.$nombreordenador.'</td>'; - else + else echo '<td><input class="formulariodatos" name=nombreordenador type=text value="'.$nombreordenador.'"></td>'; if (empty ($fotoordenador)) { $fotoordenador="fotoordenador.gif"; @@ -226,6 +226,37 @@ function abrir_ventana(URL){ </tr> <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> +<!--------------------------------------------------------------UHU comprobar si se requiere validacion -------------------------------------------------------------------------------> + + <TR> + <TH align=center ><? echo $TbMsg[15]; ?> </TD> + <? + echo '<TD colspan=3>'; + $validaciones="1=Si".chr(13); + $validaciones.="0=No"; + echo HTMLCTESELECT($validaciones,"validacion","estilodesple","",$validacion,100).'</TD>'; + ?> + </TR> + <TR> + <TH align=center> <?echo $TbMsg[16]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$paginalogin.'</TD>'; + else + echo '<TD colspan=3><INPUT class="formulariodatos" name=paginalogin type=text value="'.$paginalogin.'"></TD>'; + ?> + </TR> + <TR> + <TH align=center> <?echo $TbMsg[17]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$paginavalidacion.'</TD>'; + else + echo '<TD colspan=3><INPUT class="formulariodatos" name=paginavalidacion type=text value="'.$paginavalidacion.'"></TD>'; + ?> + </TR> + +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <tr> <th colspan="4" align="center"> <sup>*</sup> <?php echo $TbMsg["WARN_NETBOOT"]?> </th> </tr> @@ -271,6 +302,12 @@ function TomaPropiedades($cmd,$id){ global $cache; global $netiface; global $netdriver; +########################### UHU + global $validacion; + global $paginalogin; + global $paginavalidacion; +########################### UHU + $rs=new Recordset; $cmd->texto="SELECT * FROM ordenadores WHERE idordenador=".$id; $rs->Comando=&$cmd; @@ -288,6 +325,12 @@ function TomaPropiedades($cmd,$id){ $netiface=$rs->campos["netiface"]; $fotoordenador=$rs->campos["fotoord"]; //Creado para foto $netdriver=$rs->campos["netdriver"]; +########################### UHU + $validacion=$rs->campos["validacion"]; + $paginalogin=$rs->campos["paginalogin"]; + $paginavalidacion=$rs->campos["paginavalidacion"]; +########################### UHU + $rs->Cerrar(); return(true); } @@ -295,3 +338,4 @@ function TomaPropiedades($cmd,$id){ return(false); } ?> + diff --git a/admin/WebConsole/validacion/access_controller.php b/admin/WebConsole/validacion/access_controller.php new file mode 100644 index 00000000..05e31875 --- /dev/null +++ b/admin/WebConsole/validacion/access_controller.php @@ -0,0 +1,93 @@ +<?php +/** Universidad de Huelva + Fichero para validacion de usuarios antes del menu + Es necesario crear la variable de sesion $validated y asignar true o false dependiendo del caso + +**/ +include_once("functions.php"); + + +$action=(isset($_POST["action"]))?$_POST["action"]:$action; + + + +if($action == "checkValidation"){ + $idordenador; + $nombreordenador; + $ip = TomaIP(); + $validacion; + $paginalogin; + $paginavalidacion; + + // Carga la configuracion del ordenador + $cmd=CreaComando($cadenaconexion); // Crea objeto comando + if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. + + $resul=TomaPropiedades($cmd); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. + // Registramos las variables en sesion + $_SESSION["validacion"] = $validacion; + $_SESSION["paginalogin"] = $paginalogin; + $_SESSION["paginavalidacion"] = $paginavalidacion; +} +else{ + // Cogemos las variables de sesion + $validacion = $_SESSION["validacion"]; + $paginalogin = $_SESSION["paginalogin"]; + $paginavalidacion = $_SESSION["paginavalidacion"]; + +} + + +/**/ +// Solo se usa si se requiere validacion +if($_SESSION["validacion"] == true && isset($paginavalidacion) && $paginavalidacion != "") + include_once($paginavalidacion); + + +switch($action){ + case "checkValidation": + // Comprobamos si es necesaria la validacion + if($validacion == 1){ + $action="Login"; + // Comprobamos si es necesaria la validacion, y llamamos a synchronize + // La funcion synchronize se usa por si hace falta sincronizar alguna base de datos externa a opengnsys + // Es obligatoria en el fichero de validacion, pero puede no hacer nada + synchronize($validacion); + } + else{ + $action="default"; + } + include("access_controller.php"); + + break; + case "Login": + include($paginalogin); + break; + case "validate": + if(!isset($_SESSION)){ + session_start(); + } + // en la pagina "paginavalidacion" debe existir la funcion validate($_POST) forzosamente + $_SESSION["validated"]=validate($_POST); + if($_SESSION["validated"] == true){ + include("../varios/menucliente.php"); + } + else{ + $_error="Usuario no válido"; + include($paginalogin); + } + break; + default: + if(!isset($_SESSION)){ + session_start(); + } + $_SESSION["validated"]=true; + include("menucliente.php"); +} +/**/ + +?> + diff --git a/admin/WebConsole/validacion/functions.php b/admin/WebConsole/validacion/functions.php new file mode 100644 index 00000000..c605c9eb --- /dev/null +++ b/admin/WebConsole/validacion/functions.php @@ -0,0 +1,175 @@ +<?php +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/menucliente_".$idioma.".php"); +//___________________________________________________________________________________________________ +// +// Redupera la ip del cliente web +//___________________________________________________________________________________________________ +function TomaIP(){ + // Se asegura que la pagina se solicita desde la IP que viene + global $HTTP_SERVER_VARS; + if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "") + $ipcliente = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; + else + $ipcliente = $HTTP_SERVER_VARS["REMOTE_ADDR"]; + if (empty ($ipcliente)) + $ipcliente = $_SERVER["REMOTE_ADDR"]; + return($ipcliente); +} +/**/ + +function TomaPropiedades($cmd){ + global $idordenador; + global $nombreordenador; + global $ip; + global $validacion; + global $paginalogin; + global $paginavalidacion; + + + $rs=new Recordset; + $cmd->texto="SELECT * FROM ordenadores WHERE ip='".$ip."'"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $nombreordenador=$rs->campos["nombreordenador"]; + $ip=$rs->campos["ip"]; + $validacion=$rs->campos["validacion"]; + $paginalogin=$rs->campos["paginalogin"]; + $paginavalidacion=$rs->campos["paginavalidacion"]; + $rs->Cerrar(); + return(true); + } + else + return(false); + + return true; +} + +// +// Recupera Men +//___________________________________________________________________________________________________ +function RecuperaMenu($cmd,$iph){ + $rs=new Recordset; + $cmd->texto="SELECT menus.idcentro,menus.resolucion,menus.titulo,menus.idurlimg,menus.coorx,menus.coory, + menus.modalidad,menus.scoorx,menus.scoory,menus.smodalidad,menus.htmlmenupub,menus.htmlmenupri, + acciones_menus.tipoaccion,acciones_menus.idaccionmenu,acciones_menus.idtipoaccion, + acciones_menus.tipoitem,acciones_menus.descripitem,iconos.urlicono + FROM ordenadores + INNER JOIN menus ON menus.idmenu = ordenadores.idmenu + LEFT OUTER JOIN acciones_menus ON acciones_menus.idmenu = menus.idmenu + LEFT OUTER JOIN iconos ON iconos.idicono=acciones_menus.idurlimg + WHERE ordenadores.ip='".$iph."' ORDER by acciones_menus.orden"; + + $rs->Comando=&$cmd; + $resul=$rs->Abrir(); + if (!$rs->Abrir()) return(false); + if ($rs->EOF) return(false); + return($rs); +} +//___________________________________________________________________________________________________ +// +// Muestra el menu pblico +//___________________________________________________________________________________________________ +function GeneraMenu($rs,$tipo,$iph){ + global $ITEMS_PUBLICOS; + global $ITEMS_PRIVADOS; + global $UrlPaginaIconos; + + $titulo=$rs->campos["titulo"]; + $coorx=$rs->campos["coorx"]; + $coory=$rs->campos["coory"]; + $modalidad=$rs->campos["modalidad"]; + $scoorx=$rs->campos["scoorx"]; + $scoory=$rs->campos["scoory"]; + $smodalidad=$rs->campos["smodalidad"]; + $scoory=$rs->campos["scoory"]; + $resolucion=$rs->campos["resolucion"]; + $htmlmenupub=$rs->campos["htmlmenupub"]; + $htmlmenupri=$rs->campos["htmlmenupri"]; + + if($tipo==$ITEMS_PRIVADOS) + $mod=$smodalidad; + else + $mod=$modalidad; + $codeHTML=""; + + // Genera HTML de la p�ina en funci� de las propiedades del Men del clioente + //$codeHTML.='<DIV style="POSITION:absolute;TOP:'.$coory."px;LEFT:".$coorx.'px">'; + $codeHTML.='<P align=center>'; + $codeHTML.='<SPAN style="COLOR: #999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE: 20px;"><U>'.$titulo.'</U></SPAN>'; + $codeHTML.='</BR>'; + + $codeHTML.='<TABLE cellspacing=4 cellpadding=0 align="center" border=0 >'; + $codeHTML.='<TR>'; + $codeHTML.='<TD colspan="'.(($mod*2)+1).'" > </TD>'; + $codeHTML.='</TR>'; + $codeHTML.='<TR>'; + + $c=0; // Contador de columnas + + while (!$rs->EOF){ // Recorre acciones del menu + $tipoitem=$rs->campos["tipoitem"]; + if($tipoitem==$tipo){ + $tipoaccion=$rs->campos["tipoaccion"]; + $idtipoaccion=$rs->campos["idtipoaccion"]; + $idaccionmenu=$rs->campos["idaccionmenu"]; + $descripitem=$rs->campos["descripitem"]; + $urlicono=$rs->campos["urlicono"]; + if(empty($urlicono)) + $urlicono="defaultitem.gif"; + + $codeHTML.='<TD align=center> + <A href="ejecutaritem.php?iph='.$iph.'&idt='.$idaccionmenu.'"> + <IMG border=0 src="http://'.$UrlPaginaIconos.'/'.$urlicono.'" width=64></A></TD>'; + $codeHTML.='<TD style="font-family:Arial;color: #a71026;FONT-SIZE:14"> + <A style="text-decoration:none" href="ejecutaritem.php?iph='.$iph.'&idt='.$idaccionmenu.'"> + <span style="FONT-FAMILY: Verdana,Arial, Helvetica, sans-serif;FONT-SIZE: 12px;COLOR:#999999">'.$descripitem.'</span></A></TD>'; + if($mod>1){ + //separación de columnas + $codeHTML.='<TD width=10> </TD>'; + } + $c++; + if($c%$mod==0){ + $codeHTML.='</TR>'; + $codeHTML.='<TR>'; + } + } + $rs->Siguiente(); + } + $codeHTML.='</TR>'; + $rs->Cerrar(); + $codeHTML.='</TABLE>'; + $codeHTML.='</P>'; + $codeHTML.='<BR><BR>'; + $codeHTML.='<P align=center>'; + + switch($tipo){ + case $ITEMS_PUBLICOS: + $url.='acceso_operador.php'; + $lit="Administrar"; + break; + case $ITEMS_PRIVADOS: + $url.='menucliente.php'; + $lit="Volver"; + break; + } + $codeHTML.='<A style="text-decoration:none" href="'.$url.'?iph='.$iph.'">'; + $codeHTML.='<SPAN style=" + BORDER-BOTTOM: #999999 1px solid; + BORDER-LEFT: #999999 1px solid; + BORDER-RIGHT: #999999 1px solid; + BORDER-TOP: #999999 1px solid; + COLOR:#999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE:9px;"> '.$lit.' </SPAN></A>'; + + $codeHTML.='</P>'; + //$codeHTML.='</DIV>'; + return($codeHTML); +} + +?> + diff --git a/admin/WebConsole/validacion/html/close.php b/admin/WebConsole/validacion/html/close.php new file mode 100644 index 00000000..11a3c2e8 --- /dev/null +++ b/admin/WebConsole/validacion/html/close.php @@ -0,0 +1,5 @@ +<? +session_start(); +$_SESSION["validated"] = false; +?> + diff --git a/admin/WebConsole/validacion/html/images/opengnsys.png b/admin/WebConsole/validacion/html/images/opengnsys.png Binary files differnew file mode 100644 index 00000000..72e5df72 --- /dev/null +++ b/admin/WebConsole/validacion/html/images/opengnsys.png diff --git a/admin/WebConsole/validacion/html/login_prueba.php b/admin/WebConsole/validacion/html/login_prueba.php new file mode 100644 index 00000000..78b3c5ae --- /dev/null +++ b/admin/WebConsole/validacion/html/login_prueba.php @@ -0,0 +1,102 @@ +<? +$path_parts = pathinfo(__FILE__); +?> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>OpenGnSys :::: Inicio de equipo - Men de opciones</title> +<style> + body { + margin:0; + padding:0; + background-color:#FFFFFF; +} +#contenedor{ + position:absolute; + /*width:1270px; + height:1014px; + */ + margin:0; + padding:0; +/* + left: 50%; + top: 50%; + margin-top: -512px; + margin-left: -640px; +*/ + overflow:hidden; +} +.boton{ + margin:0 0 0 40px; +} +#form1{ + margin:120px 0 0 200px; +} +img { + vertical-align:middle; +} +a:link, a:visited { text-decoration: none; color:#ffffff; } +a:hover, a:active { color:#ffff00; } +/*#menu{ + width:800px; + height:600px; + +}*/ +h1{ + margin:120px auto 0px auto; + padding:0; + width:624px; + height:0px; + /*background:url(../menus/imagenes/titulo.png);*/ +} + +.tituloElementoLista { + padding:0 0 0 10px; +} +.descripcionElementoLista { + color:#acd6ff; + position:absolute; + left:360px; + padding-top:15px; +} +</style> + +</head> + +<body> + <div id="contenedor" style="margin: 10px 300px 15px 300px"> + <div align="center"> + <h1> + <div style="float:left"> + <img src="../validacion/html/images/opengnsys.png" /> + </div> + Validación de usuario</h1> + </div> + <div id="menu" style="margin: 0px auto 0px auto"> + <h1></h1> + <form id="form1" name="form1" method="post" action="../validacion/access_controller.php"> + <div> + usuario: + </div> + <div> + <input type="text" name="login" id="login"> + </div> + <br /> + <div> + password: + </div> + <div> + <input type="password" name="password" id="password"> + </div> + <br /> + <p><span class="boton"><input type="submit" name="access_button" id="access_button" value="Acceder" /></span></p> + <input name="action" type="hidden" value="validate" /> + </form> + <span class="descripcionElementoLista"><?php if(isset($_error)) echo $_error; ?></span> + </div> + </div> +</body> +</html> + diff --git a/admin/WebConsole/validacion/html/validacion_ldap.php b/admin/WebConsole/validacion/html/validacion_ldap.php new file mode 100644 index 00000000..992bca05 --- /dev/null +++ b/admin/WebConsole/validacion/html/validacion_ldap.php @@ -0,0 +1,75 @@ +<? + +function connect_to_ldap(){ + $server = "IP_SERVIDOR"; + $port = '389'; + $user = "USUARIO"; + $pass = "PASSWORD"; + + $result = null; + $ds=ldap_connect($server,$port); + if ($ds){ + if ($r=@ldap_bind($ds,$user,$pass)) + $result = $ds; + } + return $result; +} + +function validate_user($user,$password){ + if (($user=='') || ($password=='')){ + $result['validation'] = -1; + }else{ + if($ds = connect_to_ldap()){ + $dc = "dc=uhu, dc=es"; + $search = "uid=".$user; + $sr=@ldap_search($ds,$dc,$search); + $info = @ldap_get_entries($ds, $sr); + + if ($info["count"]==1){ + $thedata = $info[0]["dn"]; + if ($r=@ldap_bind($ds,$thedata,$password)){ + $result['validation'] = 1; + // A parte de la validacion, se podrían coger otros datos... + /* + $result['name'] = $info[0]["cn"][0]; + $result['dni'] = $info[0]["uhuuserdni"][0]; + $result['email'] = $info[0]["mail"][0]; + */ + } + else{ + $result['validation'] = -1; + } + } + else{ + $result['validation'] = -1; + } + } + ldap_close($ds); + } + return $result; +} + +/** + * Sincroniza una base de datos externa con la de opengnsys. + * No es necesaria su implementacion, puede dejarse en blanco + */ +function synchronize($validation){ + +} + + +/** + * Funcion de validacion para el cliente opengnsys. + * Recibe como parametros la variable $_POST proveniente de la pagina de login + * debe devolver true o false + */ +function validate($VARS){ + $result=false; + $validationInfo = validate_user($VARS["login"], $VARS["password"]); + if($validationInfo["validation"] == 1){ + $result = true; + } + return $result; +} + +?> diff --git a/admin/WebConsole/validacion/html/validacion_prueba.php b/admin/WebConsole/validacion/html/validacion_prueba.php new file mode 100644 index 00000000..35c6c033 --- /dev/null +++ b/admin/WebConsole/validacion/html/validacion_prueba.php @@ -0,0 +1,24 @@ +<? +/** + * Sincroniza una base de datos externa con la de opengnsys. + * No es necesaria su implementacion, puede dejarse en blanco + */ +function synchronize($validation){ + +} + + +/** + * Funcion de validacion para el cliente opengnsys. + * Recibe como parametros la variable $_POST proveniente de la pagina de login + * debe devolver true o false + */ +function validate($VARS){ + $result = false; + if($VARS["login"] == "usuprueba" && $VARS["password"] == "prueba"){ + $result = true; + } + return $result; +} + +?> diff --git a/admin/WebConsole/validacion/html/validacion_template.php b/admin/WebConsole/validacion/html/validacion_template.php new file mode 100644 index 00000000..77672a91 --- /dev/null +++ b/admin/WebConsole/validacion/html/validacion_template.php @@ -0,0 +1,20 @@ +<? +/** + * Sincroniza una base de datos externa con la de opengnsys. + * No es necesaria su implementacion, puede dejarse en blanco + */ +function synchronize($validation){ + +} + + +/** + * Funcion de validacion para el cliente opengnsys. + * Recibe como parametros la variable $_POST proveniente de la pagina de login + * debe devolver true o false + */ +function validate($VARS){ + return true; +} + +?> diff --git a/admin/WebConsole/varios/menucliente.php b/admin/WebConsole/varios/menucliente.php index 1a8913f5..5f1f405d 100644 --- a/admin/WebConsole/varios/menucliente.php +++ b/admin/WebConsole/varios/menucliente.php @@ -14,236 +14,113 @@ 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); -if (!$cmd) - Header('Location: '.$pagerror.'?herror=2'); // Error de conexión servidor B.D. -//________________________________________________________________________________________________________ -$ITEMS_PUBLICOS=1; -$ITEMS_PRIVADOS=2; +/** Universidad de Huelva, comprueba si existe la variable de sesion validated + Si validated no es true, hay que comprobar si se requiere validacion, a partir de aqui se + encarga de todo access_controller.php +*/ +if(!isset($_SESSION["validated"]) || $_SESSION["validated"] != true) +{ + $action="checkValidation"; + include("../validacion/access_controller.php"); +} +else{ -$tip=$ITEMS_PUBLICOS; // Tipo de items 1=Públicos 2=privados -if (isset($_GET["tip"])) $tip=$_GET["tip"]; +//___________________________________________________________________________________________________ + //________________________________________________________________________________________________________ + $cmd=CreaComando($cadenaconexion); + if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión servidor B.D. + //________________________________________________________________________________________________________ + $ITEMS_PUBLICOS=1; + $ITEMS_PRIVADOS=2; -$iph=tomaIP(); -if(empty($iph)) - die($TbMsg[0].": ".$TbMsg[1]."=".$iph); + $tip=$ITEMS_PUBLICOS; // Tipo de items 1=Públicos 2=privados + if (isset($_GET["tip"])) $tip=$_GET["tip"]; -$UrlPagina=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // Url página -$UrlPagina=dirname($UrlPagina); -$UrlPaginaIconos=dirname($UrlPagina)."/images/iconos"; -//________________________________________________________________________________________________________ -//agp -$nombre_archivo = "/opt/opengnsys/log/clients/".$iph.".cache.txt"; -$gestor = fopen($nombre_archivo, 'r'); -$contenidofichero = fread($gestor, filesize($nombre_archivo)); -fclose($gestor); -if (! empty ($contenidofichero)) { - $cmd->texto="UPDATE ordenadores_particiones - SET cache='".$contenidofichero."' - WHERE idordenador=(SELECT idordenador FROM ordenadores - WHERE ip='".$iph."') AND - idsistemafichero=(SELECT idsistemafichero FROM sistemasficheros - WHERE descripcion='CACHE')"; - $resul=$cmd->Ejecutar(); -} -//agp -//________________________________________________________________________________________________________ -$rsmenu=RecuperaMenu($cmd,$iph); // Recupera un recordset con los datos del m en -$codeHtml=""; -if(!empty($rsmenu)){ - switch($tip){ - case $ITEMS_PUBLICOS: - if(!empty($rsmenu->campos["htmlmenupub"])){ - $urlHtml=$rsmenu->campos["htmlmenupub"]; - if(strtoupper(substr($urlHtml,0,7))!="HTTP://") $urlHtml="http://".$urlHtml; - Header('Location: '.$urlHtml); // Url del menu personalizado - } - else{ - $_SESSION["widcentro"]=$rsmenu->campos["idcentro"]; - $codeHtml=GeneraMenu($rsmenu,$ITEMS_PUBLICOS,$iph); // Genera men pblico - } - break; - - case $ITEMS_PRIVADOS: - if(!empty($rsmenu->campos["htmlmenupri"])){ - $urlHtml=$rsmenu->campos["htmlmenupri"]; - - if(strtoupper(substr($urlHtml,0,7))!="HTTP://") $urlHtml="http://".$urlHtml; - Header('Location: '.$urlHtml); // Url del menu personalizado - } - else{ - $_SESSION["widcentro"]=$rsmenu->campos["idcentro"]; - $codeHtml=GeneraMenu($rsmenu,$ITEMS_PRIVADOS,$iph); // Genera men pblico - } - break; - } -} -else{ - $codeHtml='<div align="center" style="font-family: Arial, Helvetica, sans-serif;">'; - $codeHtml.='<p style="color:#999999; font-size: 16px; margin: 2em;">'.$TbMsg[2].'</p>'; - $codeHtml.='<p style="font-size: 14px; margin: 2em;">'; - $codeHtml.=' <a href="command:poweroff">'.$TbMsg[3].'</a>'; - $codeHtml.='</p>'; - $codeHtml.='</div>'; -} -?> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -</head> - <?php + $iph=tomaIP(); + if(empty($iph)) + die($TbMsg[0].": ".$TbMsg[1]."=".$iph); - if(!empty($rsmenu->campos["idurlimg"])){ // Imagen de fondo - $urlimg=TomaDato($cmd,0,'iconos',$rsmenu->campos["idurlimg"],'idicono','urlicono'); - $urlimgfondo="../images/iconos/".$urlimg; - echo '<body bgcolor="white" background="'.$urlimgfondo.'">'; + $UrlPagina=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // Url página + $UrlPagina=dirname($UrlPagina); + $UrlPaginaIconos=dirname($UrlPagina)."/images/iconos"; + //________________________________________________________________________________________________________ + //agp + $nombre_archivo = "/opt/opengnsys/log/clients/".$iph.".cache.txt"; + $gestor = fopen($nombre_archivo, 'r'); + $contenidofichero = fread($gestor, filesize($nombre_archivo)); + fclose($gestor); + if (! empty ($contenidofichero)) { + $cmd->texto="UPDATE ordenadores_particiones + SET cache='".$contenidofichero."' + WHERE idordenador=(SELECT idordenador FROM ordenadores + WHERE ip='".$iph."') AND + idsistemafichero=(SELECT idsistemafichero FROM sistemasficheros + WHERE descripcion='CACHE')"; + $resul=$cmd->Ejecutar(); + } + //agp + //________________________________________________________________________________________________________ + $rsmenu=RecuperaMenu($cmd,$iph); // Recupera un recordset con los datos del m en + if(!empty($rsmenu)){ + switch($tip){ + case $ITEMS_PUBLICOS: + if(!empty($rsmenu->campos["htmlmenupub"])){ + $urlHtml=$rsmenu->campos["htmlmenupub"]; + if(strtoupper(substr($urlHtml,0,7))!="HTTP://") $urlHtml="http://".$urlHtml; + Header('Location: '.$urlHtml); // Url del menu personalizado + } + else{ + $_SESSION["widcentro"]=$rsmenu->campos["idcentro"]; + $codeHtml=GeneraMenu($rsmenu,$ITEMS_PUBLICOS,$iph); // Genera men pblico + } + break; + + case $ITEMS_PRIVADOS: + if(!empty($rsmenu->campos["htmlmenupri"])){ + $urlHtml=$rsmenu->campos["htmlmenupri"]; + + if(strtoupper(substr($urlHtml,0,7))!="HTTP://") $urlHtml="http://".$urlHtml; + Header('Location: '.$urlHtml); // Url del menu personalizado + } + else{ + $_SESSION["widcentro"]=$rsmenu->campos["idcentro"]; + $codeHtml=GeneraMenu($rsmenu,$ITEMS_PRIVADOS,$iph); // Genera men pblico + } + break; + } } else{ - echo'<body bgcolor="white" background="../images/iconos/fondo800x600.png">'; + $codeHtml='<div align="center" style="font-family: Arial, Helvetica, sans-serif;">'; + $codeHtml.='<p style="color:#999999; font-size: 16px; margin: 2em;">'.$TbMsg[2].'</p>'; + $codeHtml.='<p style="font-size: 14px; margin: 2em;">'; + $codeHtml.=' <a href="command:poweroff">'.$TbMsg[3].'</a>'; + $codeHtml.='</p>'; + $codeHtml.='</div>'; } - include_once("/opt/opengnsys/log/clients/".$iph.".info.html"); - echo $codeHtml; ?> -</body> -</html> -<?php -//___________________________________________________________________________________________________ -// -// Recupera Men -//___________________________________________________________________________________________________ -function RecuperaMenu($cmd,$iph){ - $rs=new Recordset; - $cmd->texto="SELECT menus.idcentro,menus.resolucion,menus.titulo,menus.idurlimg,menus.coorx,menus.coory, - menus.modalidad,menus.scoorx,menus.scoory,menus.smodalidad,menus.htmlmenupub,menus.htmlmenupri, - acciones_menus.tipoaccion,acciones_menus.idaccionmenu,acciones_menus.idtipoaccion, - acciones_menus.tipoitem,acciones_menus.descripitem,iconos.urlicono - FROM ordenadores - INNER JOIN menus ON menus.idmenu = ordenadores.idmenu - LEFT OUTER JOIN acciones_menus ON acciones_menus.idmenu = menus.idmenu - LEFT OUTER JOIN iconos ON iconos.idicono=acciones_menus.idurlimg - WHERE ordenadores.ip='".$iph."' ORDER by acciones_menus.orden"; + <html> + <head> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + </head> + <? - $rs->Comando=&$cmd; - $resul=$rs->Abrir(); - if (!$rs->Abrir()) return(false); - if ($rs->EOF) return(false); - return($rs); -} -//___________________________________________________________________________________________________ -// -// Muestra el menu pblico -//___________________________________________________________________________________________________ -function GeneraMenu($rs,$tipo,$iph){ - global $ITEMS_PUBLICOS; - global $ITEMS_PRIVADOS; - global $UrlPaginaIconos; - - $titulo=$rs->campos["titulo"]; - $coorx=$rs->campos["coorx"]; - $coory=$rs->campos["coory"]; - $modalidad=$rs->campos["modalidad"]; - $scoorx=$rs->campos["scoorx"]; - $scoory=$rs->campos["scoory"]; - $smodalidad=$rs->campos["smodalidad"]; - $scoory=$rs->campos["scoory"]; - $resolucion=$rs->campos["resolucion"]; - $htmlmenupub=$rs->campos["htmlmenupub"]; - $htmlmenupri=$rs->campos["htmlmenupri"]; - - if($tipo==$ITEMS_PRIVADOS) - $mod=$smodalidad; - else - $mod=$modalidad; - $codeHTML=""; - - // Genera HTML de la p�ina en funci� de las propiedades del Men del clioente - //$codeHTML.='<DIV style="POSITION:absolute;TOP:'.$coory."px;LEFT:".$coorx.'px">'; - $codeHTML.='<P align=center>'; - $codeHTML.='<SPAN style="COLOR: #999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE: 20px;"><U>'.$titulo.'</U></SPAN>'; - $codeHTML.='</BR>'; - - $codeHTML.='<TABLE cellspacing=4 cellpadding=0 align="center" border=0 >'; - $codeHTML.='<TR>'; - $codeHTML.='<TD colspan="'.(($mod*2)+1).'" > </TD>'; - $codeHTML.='</TR>'; - $codeHTML.='<TR>'; - - $c=0; // Contador de columnas - - while (!$rs->EOF){ // Recorre acciones del menu - $tipoitem=$rs->campos["tipoitem"]; - if($tipoitem==$tipo){ - $tipoaccion=$rs->campos["tipoaccion"]; - $idtipoaccion=$rs->campos["idtipoaccion"]; - $idaccionmenu=$rs->campos["idaccionmenu"]; - $descripitem=$rs->campos["descripitem"]; - $urlicono=$rs->campos["urlicono"]; - if(empty($urlicono)) - $urlicono="defaultitem.gif"; - - $codeHTML.='<TD align=center> - <A href="ejecutaritem.php?iph='.$iph.'&idt='.$idaccionmenu.'"> - <IMG border=0 src="http://'.$UrlPaginaIconos.'/'.$urlicono.'" width=64></A></TD>'; - $codeHTML.='<TD style="font-family:Arial;color: #a71026;FONT-SIZE:14"> - <A style="text-decoration:none" href="ejecutaritem.php?iph='.$iph.'&idt='.$idaccionmenu.'"> - <span style="FONT-FAMILY: Verdana,Arial, Helvetica, sans-serif;FONT-SIZE: 12px;COLOR:#999999">'.$descripitem.'</span></A></TD>'; - if($mod>1){ - //separación de columnas - $codeHTML.='<TD width=10> </TD>'; - } - $c++; - if($c%$mod==0){ - $codeHTML.='</TR>'; - $codeHTML.='<TR>'; - } + if(!empty($rsmenu->campos["idurlimg"])){ // Imagen de fondo + $urlimg=TomaDato($cmd,0,'iconos',$rsmenu->campos["idurlimg"],'idicono','urlicono'); + $urlimgfondo="../images/iconos/".$urlimg; + echo '<body bgcolor="white" background="'.$urlimgfondo.'">'; } - $rs->Siguiente(); - } - $codeHTML.='</TR>'; - $rs->Cerrar(); - $codeHTML.='</TABLE>'; - $codeHTML.='</P>'; - $codeHTML.='<BR><BR>'; - $codeHTML.='<P align=center>'; - - switch($tipo){ - case $ITEMS_PUBLICOS: - $url.='acceso_operador.php'; - $lit="Administrar"; - break; - case $ITEMS_PRIVADOS: - $url.='menucliente.php'; - $lit="Volver"; - break; - } - $codeHTML.='<A style="text-decoration:none" href="'.$url.'?iph='.$iph.'">'; - $codeHTML.='<SPAN style=" - BORDER-BOTTOM: #999999 1px solid; - BORDER-LEFT: #999999 1px solid; - BORDER-RIGHT: #999999 1px solid; - BORDER-TOP: #999999 1px solid; - COLOR:#999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE:9px;"> '.$lit.' </SPAN></A>'; - - $codeHTML.='</P>'; - //$codeHTML.='</DIV>'; - return($codeHTML); -} -//___________________________________________________________________________________________________ -// -// Redupera la ip del cliente web -//___________________________________________________________________________________________________ -function tomaIP(){ - // Se asegura que la pagina se solicita desde la IP que viene - global $HTTP_SERVER_VARS; - if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "") - $ipcliente = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; - else - $ipcliente = $HTTP_SERVER_VARS["REMOTE_ADDR"]; - if (empty ($ipcliente)) - $ipcliente = $_SERVER["REMOTE_ADDR"]; + else{ + echo'<body bgcolor="white" background="../images/iconos/fondo800x600.png">'; + //echo '<p align="left"><img border=0 src="../images/iconos/logoopengnsys.png"><p>'; + } + include_once("/opt/opengnsys/log/clients/".$iph.".info.html"); + echo $codeHtml; - return($ipcliente); + ?> + </body> + </html> + <? } ?> |