source: admin/WebConsole/varios/menucliente.php @ 0b43097

Last change on this file since 0b43097 was 77488ef, checked in by ramon <ramongomez@…>, 14 years ago

Incluir apagado en las opciones por defecto para clientes sin menú (versiones 0.10 y 1.0), cerrar #339.

git-svn-id: https://opengnsys.es/svn/trunk@1562 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 8.2 KB
Line 
1<?
2// *************************************************************************
3// Aplicación WEB: ogAdmWebCon
4// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
5// Fecha Creación: Año 2009-2010
6// Fecha útima modificación: Marzo-2006
7// Nombre del fichero: menubrowser.php
8// Descripción :
9//              Muestra menu en el browser del cliente
10// ****************************************************************************
11include_once("../includes/ctrlacc.php");
12include_once("../clases/AdoPhp.php");
13include_once("../includes/TomaDato.php");
14include_once("../includes/CreaComando.php");
15//________________________________________________________________________________________________________
16$cmd=CreaComando($cadenaconexion);
17if (!$cmd)
18        Header('Location: '.$pagerror.'?herror=2'); // Error de conexión servidor B.D.
19//________________________________________________________________________________________________________
20$ITEMS_PUBLICOS=1;
21$ITEMS_PRIVADOS=2;
22
23$tip=$ITEMS_PUBLICOS; // Tipo de items 1=Públicos 2=privados
24if (isset($_GET["tip"]))        $tip=$_GET["tip"];
25
26$iph=tomaIP();
27if(empty($iph))
28        die("***ATENCION.- Usted no esta accediendo desde un ordenador permitido: Dirección IP=".$iph);
29
30$UrlPagina=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // Url página
31$UrlPagina=dirname($UrlPagina);
32$UrlPaginaIconos=dirname($UrlPagina)."/images/iconos";
33//________________________________________________________________________________________________________
34$rsmenu=RecuperaMenu($cmd,$iph);        // Recupera un recordset con los datos del m en
35if(!empty($rsmenu)){
36        switch($tip){
37                case $ITEMS_PUBLICOS:
38                        if(!empty($rsmenu->campos["htmlmenupub"])){
39                                $urlHtml=$rsmenu->campos["htmlmenupub"];
40                                if(strtoupper(substr($urlHtml,0,7))!="HTTP://") $urlHtml="http://".$urlHtml;
41                                Header('Location: '.$urlHtml); // Url del menu personalizado
42                        }
43                        else{
44                                $_SESSION["widcentro"]=$rsmenu->campos["idcentro"];
45                                $codeHtml=GeneraMenu($rsmenu,$ITEMS_PUBLICOS,$iph); // Genera men pblico
46                        }
47                        break;
48                       
49                case $ITEMS_PRIVADOS:
50                        if(!empty($rsmenu->campos["htmlmenupri"])){
51                                $urlHtml=$rsmenu->campos["htmlmenupri"];
52                               
53                                if(strtoupper(substr($urlHtml,0,7))!="HTTP://") $urlHtml="http://".$urlHtml;
54                                Header('Location: '.$urlHtml); // Url del menu personalizado
55                        }
56                        else{
57                                $_SESSION["widcentro"]=$rsmenu->campos["idcentro"];
58                                $codeHtml=GeneraMenu($rsmenu,$ITEMS_PRIVADOS,$iph); // Genera men pblico
59                        }
60                        break;
61        }                       
62}
63else{
64        $codeHtml='<div align="center" style="font-family: Arial, Helvetica, sans-serif;">';
65        $codeHtml.='<p style="color:#999999; font-size: 16px; margin: 2em;">';
66        $codeHtml.='  NO SE HA DETECTADO NING&Uacute;N MEN&Uacute; PARA ESTE CLIENTE';
67        $codeHtml.='</p>';
68        $codeHtml.='<p style="font-size: 14px; margin: 2em;">';
69        $codeHtml.='  <a href="command:poweroff">Apagar el equipo</a>';
70        $codeHtml.='</p>';
71        $codeHtml.='</div>';
72}
73?>
74        <HTML>
75        <HEAD>
76        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
77        </HEAD>
78        <?
79
80        if(!empty($rsmenu->campos["idurlimg"])){ // Imagen de fondo
81                $urlimg=TomaDato($cmd,0,'iconos',$rsmenu->campos["idurlimg"],'idicono','urlicono');
82                $urlimgfondo="../images/iconos/".$urlimg;
83                echo '<BODY  bgcolor=white background="'.$urlimgfondo.'">';
84        }
85        else{
86                echo'<BODY  bgcolor=white background="../images/iconos/fondo800x600.png">';
87                echo '<P align=left><IMG border=0 src="../images/iconos/logoopengnsys.png"><P>';
88        }
89                echo $codeHtml;
90        ?>
91        </BODY>
92        </HTML>
93<?
94//___________________________________________________________________________________________________
95//
96// Recupera Men
97//___________________________________________________________________________________________________
98function RecuperaMenu($cmd,$iph){
99        $rs=new Recordset;
100        $cmd->texto="SELECT menus.idcentro,menus.resolucion,menus.titulo,menus.idurlimg,menus.coorx,menus.coory,
101                        menus.modalidad,menus.scoorx,menus.scoory,menus.smodalidad,menus.htmlmenupub,menus.htmlmenupri,
102                        acciones_menus.tipoaccion,acciones_menus.idaccionmenu,acciones_menus.idtipoaccion,
103                        acciones_menus.tipoitem,acciones_menus.descripitem,iconos.urlicono
104                        FROM ordenadores
105                        INNER JOIN menus ON menus.idmenu = ordenadores.idmenu
106                        LEFT OUTER JOIN acciones_menus ON acciones_menus.idmenu = menus.idmenu
107                        LEFT OUTER JOIN iconos ON iconos.idicono=acciones_menus.idurlimg
108                        WHERE ordenadores.ip='".$iph."' ORDER by acciones_menus.orden";
109
110        $rs->Comando=&$cmd;
111        $resul=$rs->Abrir();
112        if (!$rs->Abrir()) return(false);
113        if ($rs->EOF) return(false);
114        return($rs);
115}
116//___________________________________________________________________________________________________
117//
118// Muestra el menu pblico
119//___________________________________________________________________________________________________
120function GeneraMenu($rs,$tipo,$iph){   
121        global $ITEMS_PUBLICOS;
122        global $ITEMS_PRIVADOS;
123        global $UrlPaginaIconos;
124
125        $titulo=$rs->campos["titulo"];
126        $coorx=$rs->campos["coorx"];
127        $coory=$rs->campos["coory"];
128        $modalidad=$rs->campos["modalidad"];
129        $scoorx=$rs->campos["scoorx"];
130        $scoory=$rs->campos["scoory"];
131        $smodalidad=$rs->campos["smodalidad"];
132        $scoory=$rs->campos["scoory"];
133        $resolucion=$rs->campos["resolucion"];
134        $htmlmenupub=$rs->campos["htmlmenupub"];
135        $htmlmenupri=$rs->campos["htmlmenupri"];
136                       
137        if($tipo==$ITEMS_PRIVADOS)
138                $mod=$smodalidad;
139        else
140                $mod=$modalidad;
141        $codeHTML="";
142
143        //      Genera HTML de la p�ina en funci� de las propiedades del Men del clioente
144        //$codeHTML.='<DIV style="POSITION:absolute;TOP:'.$coory."px;LEFT:".$coorx.'px">';
145        $codeHTML.='<P align=center>';
146        $codeHTML.='<SPAN style="COLOR: #999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE: 20px;"><U>'.$titulo.'</U></SPAN>';
147        $codeHTML.='</BR>';
148       
149        $codeHTML.='<TABLE cellspacing=4 cellpadding=0 align="center" border=0 >';
150        $codeHTML.='<TR>';
151        $codeHTML.='<TD colspan="'.(($mod*2)+1).'" >&nbsp;</TD>';
152        $codeHTML.='</TR>';
153        $codeHTML.='<TR>';
154
155        $c=0; // Contador de columnas
156       
157        while (!$rs->EOF){ // Recorre acciones del menu
158                $tipoitem=$rs->campos["tipoitem"];
159                if($tipoitem==$tipo){
160                        $tipoaccion=$rs->campos["tipoaccion"];
161                        $idtipoaccion=$rs->campos["idtipoaccion"];
162                        $idaccionmenu=$rs->campos["idaccionmenu"];
163                        $descripitem=$rs->campos["descripitem"];
164                        $urlicono=$rs->campos["urlicono"];
165                        if(empty($urlicono))
166                                $urlicono="defaultitem.gif";
167
168                        $codeHTML.='<TD align=center>
169                                <A href="ejecutaritem.php?iph='.$iph.'&idt='.$idaccionmenu.'">
170                                        <IMG border=0 src="http://'.$UrlPaginaIconos.'/'.$urlicono.'" width=64></A></TD>';
171                        $codeHTML.='<TD style="font-family:Arial;color: #a71026;FONT-SIZE:14">
172                                <A style="text-decoration:none" href="ejecutaritem.php?iph='.$iph.'&idt='.$idaccionmenu.'">
173                                        <span style="FONT-FAMILY: Verdana,Arial, Helvetica, sans-serif;FONT-SIZE: 12px;COLOR:#999999">'.$descripitem.'</span></A></TD>';
174                        if($mod>1){
175                                //separación de columnas
176                                $codeHTML.='<TD width=10>&nbsp;</TD>';
177                        }
178                        $c++;
179                        if($c%$mod==0){
180                                $codeHTML.='</TR>';
181                                $codeHTML.='<TR>';
182                        }
183                }
184                $rs->Siguiente();
185        }
186        $codeHTML.='</TR>';
187        $rs->Cerrar();
188        $codeHTML.='</TABLE>';
189        $codeHTML.='</P>';
190        $codeHTML.='<BR><BR>';
191        $codeHTML.='<P align=center>';
192
193        switch($tipo){
194                case $ITEMS_PUBLICOS:
195                        $url.='acceso_operador.php';
196                        $lit="Administrar";
197                        break;
198                case $ITEMS_PRIVADOS:
199                        $url.='menucliente.php';
200                        $lit="Volver";
201                        break;
202        }               
203        $codeHTML.='<A style="text-decoration:none" href="'.$url.'?iph='.$iph.'">';
204        $codeHTML.='<SPAN style="
205                                BORDER-BOTTOM: #999999 1px solid;
206                                BORDER-LEFT: #999999 1px solid;
207                                BORDER-RIGHT: #999999 1px solid;
208                                BORDER-TOP: #999999 1px solid;
209                                COLOR:#999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE:9px;">&nbsp;'.$lit.'&nbsp;</SPAN></A>';
210       
211        $codeHTML.='</P>';
212        //$codeHTML.='</DIV>';
213        return($codeHTML);
214}
215//___________________________________________________________________________________________________
216//
217// Redupera la ip del cliente web
218//___________________________________________________________________________________________________
219function tomaIP(){     
220        // Se asegura que la pagina se solicita desde la IP que viene
221        global $HTTP_SERVER_VARS;
222        if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "")
223                $ipcliente = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
224        else
225                $ipcliente = $HTTP_SERVER_VARS["REMOTE_ADDR"];
226        if (empty ($ipcliente))
227                $ipcliente = $_SERVER["REMOTE_ADDR"];
228
229        return($ipcliente);
230}
231?>
Note: See TracBrowser for help on using the repository browser.