Evitar que los usuarios puedan mover el mapa y otras correcciones seguridad.
[ecomupi.git] / contenido / mupis+ubicaciones+dinamico.php
blob28512551f2d98f358ac6f2bb2fae3ba3fe09afb1
1 <?php
2 error_reporting(E_STRICT | E_ALL);
3 date_default_timezone_set ('America/El_Salvador');
4 require_once('../include/const.php');
5 require_once('../include/sesion.php');
6 require_once('../include/fecha.php');
7 require_once('sub.php');
8 require_once('../include/maps/GoogleMapAPI.class.php');
9 $map = new GoogleMapAPI;
10 if ( isset( $_GET['accion'] ) ) {
11 switch ( $_GET['accion'] ) {
12 case "mupi":
13 if ( isset( $_GET['MUPI'] ) ) {
15 $parte = explode ('|',$_GET['MUPI'] );
16 //retornar ("Mupi: " . $parte[0]. ", Catorcena: ". $parte[1]. ", Usuario:".$parte[2]);
17 retornar ( Buscar ($parte[0], $parte[1], $parte[2] ) );
18 } else {
19 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 1" );
21 break;
22 case "calles":
23 if ( isset( $_GET['catorcena'] ) && isset ( $_GET['usuario'] ) ) {
24 $script = SCRIPT('
25 $("#grafico_mapa").load("contenido/mupis+ubicaciones+dinamico.php?accion=mapas&usuario='.$_GET['usuario'].'&catorcena="+document.getElementsByName(\'combo_catorcenas\')[0].value+"&calle="+document.getElementsByName(\'combo_calles\')[0].value);
26 $("#combo_calles").change(function (){$("#grafico_mapa").load("contenido/mupis+ubicaciones+dinamico.php?accion=mapas&usuario='.$_GET['usuario'].'&catorcena="+document.getElementsByName(\'combo_catorcenas\')[0].value+"&calle="+document.getElementsByName(\'combo_calles\')[0].value);});
27 ').'<br />';
28 retornar ('Ver Calle:<br />' . $database->Combobox_CallesConPresencia("combo_calles",$_GET['usuario'],$_GET['catorcena']).$script);
29 } else {
30 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 2" );
32 break;
33 case "mapas":
34 if ( isset( $_GET['catorcena'] ) && isset( $_GET['calle'] ) && isset ( $_GET['usuario'] ) ) {
35 retornar (Mostrar_Mapa($_GET['catorcena'], $_GET['calle'], $_GET['usuario']));
36 } else {
37 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 3" );
39 break;
41 } else {
42 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 0" );
45 function retornar($texto) {
46 exit ('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' . $texto . '<br />');
49 function Buscar ($codigo_mupi, $catorcena, $usuario) {
50 global $session;
51 /* La logica aqui es que si el usuario que solicitó la búsqueda es administrador, entonces se le muestran todos los MUPIS, si no solo se le muestran los suyos */
52 $datos ="";
53 $link = @mysql_connect(DB_SERVER, DB_USER, DB_PASS) or die('Por favor revise sus datos, puesto que se produjo el siguiente error:<br /><pre>' . mysql_error() . '</pre>');
54 mysql_select_db(DB_NAME, $link) or die('!->La base de datos seleccionada "'.$DB_base.'" no existe');
55 if ( $session->isAdmin() ) {
56 $q = "select codigo_pantalla_mupi, foto_real, (SELECT foto_pantalla FROM emupi_mupis_pedidos as b where a.codigo_pedido=b.codigo_pedido) AS arte from emupi_mupis_caras as a where catorcena=$catorcena AND codigo_mupi='$codigo_mupi';";
57 } else {
58 $q = "select codigo_pantalla_mupi, foto_real, (SELECT foto_pantalla FROM emupi_mupis_pedidos as b where a.codigo_pedido=b.codigo_pedido) AS arte from emupi_mupis_caras as a where catorcena=$catorcena AND codigo_pedido IN (SELECT codigo_pedido FROM emupi_mupis_pedidos where codigo='$usuario') AND codigo_mupi='$codigo_mupi';";
60 $result = @mysql_query($q, $link) or retornar ('!->Ocurrió un error mientras se revisaba la disponibilidad del MUPI.');
61 /* Error occurred, return given name by default */
62 $num_rows = mysql_numrows($result);
63 if(!$result || ($num_rows < 0)){
64 retornar("Error mostrando la información");
67 if($num_rows == 0){
68 retornar ("¡No hay "._NOMBRE_." con ese código ($MUPI)!");
70 $datos .= '<h2>Datos del MUPI seleccionado</h2>';
71 $datos .= '<table>';
72 $tipoPantalla = ''; //Par
73 for($i=0; $i<$num_rows; $i++){
74 $arte = mysql_result($result,$i,"arte");
75 $codigo_pantalla_mupi = mysql_result($result,$i,"codigo_pantalla_mupi");
76 $foto_real = mysql_result($result,$i,"foto_real");
77 // si es par es vehicular
78 if ( ($codigo_pantalla_mupi % 2) == 0 ) {
79 $tipoPantalla = 'vehicular';
81 }else{
82 $tipoPantalla = 'peatonal';
85 $datos .= "<tr><th><center>Imagen actual de su pantalla ".$tipoPantalla.":</center></th></tr>";
86 $datos .= "<tr><td><center>" . CargarImagenDesdeBD($foto_real," 300px","300px") . "</center></td>";
87 $datos .= "<tr><th><center>Arte digital de su pantalla:</center></th></tr>";
88 $datos .= "<tr><td><center>" . CargarImagenDesdeBD($arte,"300px","300px") . "</center></td></tr>";
90 $datos .= '</table>';
91 retornar($datos);
94 function Mostrar_Mapa($catorcena, $calle, $usuario){
95 global $session, $map, $database;
96 // setup database for geocode caching
97 $map->setDSN('mysql://'.DB_USER.':'.DB_PASS.'@'.DB_SERVER.'/'.DB_NAME);
98 //Google Map Key
99 $map->setAPIKey(GOOGLE_MAP_KEY);
100 // proporción de la ventana que tomará el mapa.
101 $map->setWidth('100%');
102 // Desactivar controles de Zoom y movimiento para cliente.
103 if ( !$session->isAdmin() ) {
104 $map->map_controls = false;
105 $map->disable_drag = true;
107 // Cargar puntos mupis.
108 $WHERE_USER = '';
109 if ( $session->isAdmin() && !$usuario ) {
110 $q = "select codigo_mupi, direccion, foto_generica, lon, lat, codigo_evento, codigo_calle from emupi_mupis AS a where codigo_calle=$calle and codigo_mupi IN (select codigo_mupi FROM emupi_mupis_caras WHERE catorcena=$catorcena);";
111 } else {
112 $q = "select codigo_mupi, direccion, foto_generica, lon, lat, codigo_evento, codigo_calle, (SELECT logotipo from emupi_usuarios where codigo='$usuario') as logotipo from emupi_mupis where codigo_calle=$calle and codigo_mupi IN (select codigo_mupi FROM emupi_mupis_caras WHERE catorcena=$catorcena AND codigo_pedido IN (SELECT codigo_pedido FROM emupi_mupis_pedidos WHERE codigo='$usuario'));";
114 //echo $q."<br>";
115 $result = $database->query($q);
116 /* Error occurred, return given name by default */
117 $num_rows = mysql_numrows($result);
118 if(!$result || ($num_rows < 0)){
119 exit ( "Error mostrando la información<br />");
122 if($num_rows == 0){
123 exit ("¡No hay "._NOMBRE_." ingresados!<br />");
125 //Imagen de los marcadores
126 //Removido por petición. 06/02/09
127 //if ( !$session->isAdmin() || $usuario ) $map->setMarkerIcon('http://'.$_SERVER['SERVER_ADDR'].'/mupi/include/ver.php?id='.mysql_result($result,0,"logotipo"),'',0,0,0,0);
129 for($i=0; $i<$num_rows; $i++){
130 $codigo_mupi = mysql_result($result,$i,"codigo_mupi");
131 $direccion = truncate(mysql_result($result,$i,"direccion"));
132 $foto_generica = mysql_result($result,$i,"foto_generica");
133 $lon = mysql_result($result,$i,"lon");
134 $lat = mysql_result($result,$i,"lat");
135 $codigo_evento = mysql_result($result,$i,"codigo_evento");
136 if ( $session->isAdmin() && !$usuario ) {
137 $q = "SELECT DISTINCT logotipo from emupi_usuarios where codigo IN (SELECT codigo from emupi_mupis_pedidos where codigo_pedido IN (SELECT codigo_pedido FROM emupi_mupis_caras as b WHERE catorcena=$catorcena AND b.codigo_mupi='".mysql_result($result,$i,"codigo_mupi")."'));";
138 //echo $q."<br>";
139 $result2 = $database->query($q);
140 $num_rows2 = mysql_numrows($result2);
141 $logotipo = '<br />';
143 if($num_rows > 0){
144 for($ii=0; $ii<$num_rows2; $ii++){
145 $logotipo .= CargarImagenDesdeBD(mysql_result($result2,$ii,"logotipo"), "200px","200px");
148 } else {
149 $logotipo = "<br />".CargarImagenDesdeBD(mysql_result($result,$i,"logotipo"), "200px","200px");
152 $html = "<b>Dirección: </b>".$direccion."<br /><center>".$logotipo."</center>";
153 $map->addMarkerByCoords($lon, $lat, $codigo_mupi . ' | ' . $direccion, $html, $codigo_mupi, $codigo_mupi . "|" . $catorcena . "|" . $usuario);
155 //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
156 $datos = '';
157 $datos .= $map->getMapJS();
158 $datos .= $map->getMap();
159 $datos .= $map->getSidebar();
160 $datos .= SCRIPT('onLoad();');
161 return $datos;