Novedoso metodo de mostrar fotos peatonales/vehiculares :)
[ecomupi.git] / contenido / mupis+ubicaciones+dinamico.php
bloba5432fbbd870f082dc26584323bb5fc67b87851f
1 <?php
2 error_reporting(E_STRICT | E_ALL);
3 ob_start("ob_gzhandler");
4 date_default_timezone_set ('America/El_Salvador');
5 require_once('../include/const.php');
6 require_once('../include/sesion.php');
7 require_once('../include/fecha.php');
8 require_once('sub.php');
9 require_once('../include/maps/GoogleMapAPI.class.php');
10 $map = new GoogleMapAPI;
12 if ( isset( $_GET['accion'] ) ) {
13 switch ( $_GET['accion'] ) {
15 case "drag":
16 if ( isset( $_GET['id'] ) && isset( $_GET['lat'] ) && isset( $_GET['lng'] )) {
18 $parte = explode ('|',$_GET['id'] );
19 if ( count($parte) == 3 ) {
21 if ( $parte[0] == "REF" ) {
22 //retornar ("Referencia?: " . "REF". ", Catorcena: ". $parte[1]. ", id_referencia:".$parte[2]);
23 retornar ( actualizarReferencia ($parte[2], $_GET['lat'], $_GET['lng']));
24 } else {
25 //retornar ("Mupi: " . $parte[0]. ", Catorcena: ". $parte[1]. ", Usuario:".$parte[2]);
26 retornar ( actualizarCoords ($parte[0], $_GET['lat'], $_GET['lng']));
29 } else {
30 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. [DRAG]" );
33 break;
35 case "mupi":
36 if ( isset( $_GET['MUPI'] ) ) {
38 $parte = explode ('|',$_GET['MUPI'] );
39 if ( $parte[0] == "REF" ) { retornar("Se ha seleccionado la referencia " .CREAR_LINK_GET("gestionar+referencias&referencia=". $parte[2], $parte[2], "Abre el dialogo de gestión para la referencia seleccionada")); }
40 if ( count($parte) == 3 ) {
41 //retornar ("Mupi: " . $parte[0]. ", Catorcena: ". $parte[1]. ", Usuario:".$parte[2]);
42 retornar ( Buscar ($parte[0], $parte[1], $parte[2] ) );
44 } else {
45 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 1" );
47 break;
48 case "calles":
49 if ( isset( $_GET['catorcena'] ) && isset ( $_GET['usuario'] ) ) {
51 $script = SCRIPT('
52 // $("#combo_calles").change(funcion_combo_calles());
53 ');
55 $Boton_combo_calles = '<input type="button" OnClick="funcion_combo_calles()" value="Mostrar Mapa">';;
56 retornar ('<b>Ver Calle:</b><br />' . $database->Combobox_CallesConPresencia("combo_calles",$_GET['usuario'],$_GET['catorcena']).$Boton_combo_calles);
57 } else {
58 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 2" );
60 break;
61 case "mapas":
62 if ( isset( $_GET['catorcena'] ) && isset( $_GET['calle'] ) && isset ( $_GET['usuario'] ) ) {
63 retornar (Mostrar_Mapa($_GET['catorcena'], $_GET['calle'], $_GET['usuario']));
64 } else {
65 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 3" );
67 break;
68 case "mupis":
69 if ( isset( $_GET['catorcena'] ) && isset( $_GET['calle'] ) ) {
70 retornar (Mostrar_Mapa($_GET['catorcena'], $_GET['calle'], ""));
71 } else {
72 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 3" );
75 } else {
76 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 0" );
79 function retornar($texto) {
80 exit ('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' . $texto . '<br />');
83 function Buscar ($codigo_mupi, $catorcena, $usuario) {
84 global $session;
85 /* 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 */
86 $datos ="";
87 $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>');
88 mysql_select_db(DB_NAME, $link) or die('!->La base de datos seleccionada "'.$DB_base.'" no existe');
89 if ( time() > $catorcena ) { $tCatorcena=$catorcena; } else { $tCatorcena=Obtener_catorcena_anterior($catorcena); }
90 if ( ($session->isAdmin() || $session->userlevel == SALESMAN_LEVEL) && !$usuario) {
91 $q = "select tipo_pantalla, 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 = (SELECT id_mupi FROM emupi_mupis WHERE id_mupi=$codigo_mupi);";
92 } else {
93 $q = "select tipo_pantalla, 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=$tCatorcena AND codigo_pedido IN (SELECT codigo_pedido FROM emupi_mupis_pedidos where codigo='$usuario') AND codigo_mupi = (SELECT id_mupi FROM emupi_mupis WHERE id_mupi=$codigo_mupi);";
95 //echo $q.'<br />';
96 $result = @mysql_query($q, $link) or retornar ('!->Ocurrió un error mientras se revisaba la disponibilidad del MUPI.');
97 /* Error occurred, return given name by default */
98 $num_rows = mysql_numrows($result);
99 if(!$result || ($num_rows < 0)){
100 retornar("Error mostrando la información");
103 if($num_rows == 0){
104 retornar (Mensaje("¡No hay datos para ese código ($codigo_mupi)!",_M_ERROR));
106 echo '<script>$("#botones_arte").html("");</script>';
107 //$datos .= '<h2>Datos del MUPI seleccionado</h2>';
108 $tipoPantalla = ''; //Par
109 for($i=0; $i<$num_rows; $i++){
110 $arte = mysql_result($result,$i,"arte");
111 $tipo_pantalla = mysql_result($result,$i,"tipo_pantalla");
112 $foto_real = mysql_result($result,$i,"foto_real");
113 // si es par es vehicular
114 if ( ($tipo_pantalla % 2) == 0 ) {
115 $tipoPantalla = 'vehicular';
116 }else{
117 $tipoPantalla = 'peatonal';
119 $datos .= "<div id='div_".$tipoPantalla."' style='display:none'>";
120 if ( time() > $catorcena || ($session->isAdmin() || $session->userlevel == SALESMAN_LEVEL) ) {
121 $datos .= "<center>Imagen actual de su campaña ".$tipoPantalla.":</center>";
122 $datos .= "<center>" . '<img src="include/ver.php?id='.$foto_real.'" />' . "</center>";
123 $datos .= "<center>Arte digital de su campaña:</center>";
124 $datos .= "<center>" . '<img src="include/ver.php?id='.$arte.'" />' . "</center>";
125 } else {
126 $datos .= "<center>Imagen actual de su campaña ".$tipoPantalla.":</center>";
127 $datos .= "<center>Viendo catorcena futura, La fotografía mostrada es ilustrativa y corresponde al mupi seleccionado en la catorcena presente.<br /><br />" . '<img src="include/ver.php?id='.$foto_real.'" />' . "</center>";
128 $datos .= "<center>Arte digital de su campaña:</center>";
129 $datos .= "<center>Viendo catorcena campaña, Arte no disponible</center>";
131 $datos .= "</div>";
132 $datos .= '<script>$("#botones_arte").append("<a onclick=\'LINK_'.$tipoPantalla.'()\'>Ver imagenes de cara '.$tipoPantalla.'</a><br />");</script>';
134 retornar($datos);
137 function Mostrar_Mapa($catorcena, $calle, $usuario){
138 global $session, $map, $database;
139 $NivelesPermitidos = array(ADMIN_LEVEL, SALESMAN_LEVEL);
140 // setup database for geocode caching
141 $map->setDSN('mysql://'.DB_USER.':'.DB_PASS.'@'.DB_SERVER.'/'.DB_NAME);
142 //Google Map Key
143 $map->setAPIKey(GOOGLE_MAP_KEY);
144 // proporción de la ventana que tomará el mapa.
145 $map->setWidth('100%');
146 $map->referencias = false;
147 // Desactivar los controles que solo Admin puede tener.
148 if ( !$session->isAdmin() ) {
149 $map->map_controls = false;
150 $map->disable_map_drag = true;
151 $map->disable_drag = true;
153 // Desactivar los controles que solo Admin y Vendedor pueden tener.
154 if ( !in_array($session->userlevel,array(ADMIN_LEVEL, SALESMAN_LEVEL)) ) {
155 $map->disableInfoWindow();
157 // Cargar puntos mupis.
158 $WHERE_USER = "";
159 if ( $calle == "::T::") {
160 $grupo_calle = "";
161 $t_grupo_calle = "";
162 $map->disable_map_drag = false;
163 } else {
164 if ( strpos($calle, "G:") !== false ) {
165 $Explotado = @end(explode(":",$calle));
166 $grupo_calle = "codigo_calle IN (SELECT codigo_calle FROM ".TBL_STREETS." WHERE grupo_calle='".$Explotado."')";
167 $map->disable_map_drag = false;
168 } else {
169 $grupo_calle = "codigo_calle='$calle'";
173 if ( isset($_GET['sin_presencia']) ) {
174 // Ver por Mupis
175 if ($grupo_calle) $t_grupo_calle = " where $grupo_calle";
176 $q = "select id_mupi, codigo_mupi, direccion, foto_generica, lon, lat, codigo_evento, codigo_calle FROM emupi_mupis AS a$t_grupo_calle;";
177 } else {
178 // Por Presencia
179 if ( ($session->isAdmin() && !$usuario) || $session->userlevel == SALESMAN_LEVEL ) {
180 // Siendo Admin o Vendedor
181 if ($grupo_calle) $t_grupo_calle = " and $grupo_calle";
182 $q = "select id_mupi, codigo_mupi, direccion, foto_generica, lon, lat, codigo_evento, codigo_calle FROM emupi_mupis AS a WHERE id_mupi IN (select codigo_mupi FROM emupi_mupis_caras WHERE catorcena=$catorcena)$t_grupo_calle;";
183 } else {
184 // Siendo cualquier otro nivel
185 if ($grupo_calle) $t_grupo_calle = "$grupo_calle and ";
186 $q = "select id_mupi, 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 $t_grupo_calle id_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'));";
189 DEPURAR($q,0);
190 $result = $database->query($q);
191 $num_rows = mysql_numrows($result);
192 if(!$result || ($num_rows < 0)){
193 exit ( "Error mostrando la información<br />");
196 if($num_rows == 0){
197 exit ("¡No hay "._NOMBRE_." ingresados!<br />");
199 //Imagen de los marcadores
200 //Removido por petición. 06/02/09
201 //if ( !$session->isAdmin() || $usuario ) $map->setMarkerIcon('http://'.$_SERVER['SERVER_ADDR'].'/mupi/include/ver.php?id='.mysql_result($result,0,"logotipo"),'',0,0,0,0);
203 for($i=0; $i<$num_rows; $i++){
204 $id_mupi = mysql_result($result,$i,"id_mupi");
205 $codigo_mupi = mysql_result($result,$i,"codigo_calle") . "." .mysql_result($result,$i,"codigo_mupi");
206 $direccion = truncate(mysql_result($result,$i,"direccion"));
207 $foto_generica = mysql_result($result,$i,"foto_generica");
208 $lon = mysql_result($result,$i,"lon");
209 $lat = mysql_result($result,$i,"lat");
210 $codigo_evento = mysql_result($result,$i,"codigo_evento");
211 if ( ($session->isAdmin() && !$usuario) || $session->userlevel == SALESMAN_LEVEL ) {
212 $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,"id_mupi")."));";
213 //echo $q."<br>";
214 $result2 = $database->query($q);
215 $num_rows2 = mysql_numrows($result2);
216 $logotipo = "<br />";
218 if($num_rows2 > 0){
219 for($ii=0; $ii<$num_rows2; $ii++){
220 $logotipo .= CargarImagenDesdeBD(mysql_result($result2,$ii,"logotipo"), "50px");
223 } else {
224 $logotipo = ''; //"<br />".CargarImagenDesdeBD(mysql_result($result,$i,"logotipo"), "50px");
226 $logotipo = '<div style="width:400px; height:150px">'.$logotipo.'</div>';
227 $html = "<b>Dirección: </b>".$direccion."<br /><center>".$logotipo."</center>";
229 if ($session->userlevel == ADMIN_LEVEL) {
231 $q = "SELECT id_pantalla, tipo_pantalla, codigo_pedido, (SELECT descripcion FROM ".TBL_MUPI_ORDERS." AS b WHERE b.codigo_pedido=a.codigo_pedido) AS descripcion FROM emupi_mupis_caras AS a WHERE codigo_mupi='$id_mupi' and catorcena='$catorcena'".";";
232 //echo $q."<br>";
233 $result2 = $database->query($q);
234 $num_rows2 = mysql_numrows($result2);
235 $logotipo = "<br />";
236 $Valor_Peatonal = $Valor_Vehicular = $Pantalla_Vehicular = $Pantalla_Peatonal = NULL;
237 $Valor_Vehicular_Desc = $Valor_Peatonal_Desc = 'Ninguno';
239 $Boton_Vehicular = "<a href='./?"._ACC_."=gestionar+pantallas&crear=1&catorcena=$catorcena&tipo=0&id_mupi=$id_mupi' target='blank'>Crear esta cara...</a><br />";
240 $Boton_Peatonal = "<a href='./?"._ACC_."=gestionar+pantallas&crear=1&catorcena=$catorcena&tipo=1&id_mupi=$id_mupi' target='blank'>Crear esta cara...</a><br />";
241 if($num_rows2 > 0){
242 for($ii=0; $ii<$num_rows2; $ii++){
243 if ( (mysql_result($result2,$ii,"tipo_pantalla") % 2) == 0 ) {
244 $Pantalla_Vehicular = mysql_result($result2,$ii,"id_pantalla");
245 $Valor_Vehicular = mysql_result($result2,$ii,"codigo_pedido");
246 $Valor_Vehicular_Desc = mysql_result($result2,$ii,"descripcion");
247 $Boton_Vehicular = "<a href='./?"._ACC_."=gestionar+pantallas&actualizar=1&id=$Pantalla_Vehicular&catorcena=$catorcena' target='blank'>Editar esta cara...</a><br />";
248 } else {
249 $Pantalla_Peatonal = mysql_result($result2,$ii,"id_pantalla");
250 $Valor_Peatonal = mysql_result($result2,$ii,"codigo_pedido");
251 $Valor_Peatonal_Desc = mysql_result($result2,$ii,"descripcion");
252 $Boton_Peatonal = "<a href='./?"._ACC_."=gestionar+pantallas&actualizar=1&id=$Pantalla_Peatonal&catorcena=$catorcena' target='blank'>Editar esta cara...</a><br />";
258 $Contenido_maximizado =
259 "<b>Catorcena a editar:</b> " . AnularFechaNula($catorcena). " - " . AnularFechaNula( Fin_de_catorcena($catorcena) ).
260 "<br /><b>Mupi a Editar:</b> $codigo_mupi -> Id. $id_mupi" .
261 "<hr />".
262 "<table>".
263 "<tr>".
264 "<th>Cara vehicular</th><th>Cara peatonal</th>".
265 "</tr>".
266 "<tr>".
267 "<td width='50%' valign='top'>". // VEHICULAR
268 "<b>ID. Pantalla:</b> ".EnNulidad($Pantalla_Vehicular,"Ninguna")."<br />".
269 "<b>Código de pedido Actual:</b> $Valor_Vehicular | $Valor_Vehicular_Desc<br />".
270 $Boton_Vehicular.
271 "</td>".
272 "<td width='50%' valign='top'>". // PEATONAL
273 "<b>ID. Pantalla:</b> ". EnNulidad($Pantalla_Peatonal,"Ninguna")."<br />".
274 "<b>Código de pedido Actual:</b> $Valor_Peatonal | $Valor_Peatonal_Desc<br />".
275 $Boton_Peatonal.
276 "</td>".
277 "</tr>".
278 "</table>"
281 } else {
282 $Contenido_maximizado = "";
283 $map->Mostrar_Contenido_Maximizado = false;
285 $map->addMarkerByCoords($lon, $lat, $codigo_mupi . ' | ' . $direccion, $html, $codigo_mupi, $id_mupi . "|" . $catorcena . "|" . $usuario, $Contenido_maximizado);
286 $map->addMarkerIcon(public_base_directory().'/punto.gif','',12,12,0,0);
289 // Mostrar referencias. 10/02/09
290 if ($grupo_calle) $t_grupo_calle = " where $grupo_calle";
291 $q = "SELECT * FROM emupi_referencias".$t_grupo_calle.";";
292 DEPURAR($q,0);
293 $result = $database->query($q);
294 $num_rows = mysql_numrows($result);
295 $map->referencias = true;
296 for($i=0; $i<$num_rows; $i++){
297 $lon = mysql_result($result,$i,"lon");
298 $lat = mysql_result($result,$i,"lat");
299 $logotipo = "<br />".CargarImagenDesdeBD(mysql_result($result,$i,"imagen_referencia"), "200px");
300 $map->addMarkerByCoords($lon, $lat, "Referencia" , "Este es un punto de referencia<br />".$logotipo, '', "REF|$catorcena|".mysql_result($result,$i,"id_referencia"),"");
301 $map->addMarkerIcon(public_base_directory(). '/include/ver.php?id='.mysql_result($result,$i,"imagen_referencia"),'',0,0,50,50);
306 //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
307 $datos = '';
308 $datos .= $map->getMapJS();
309 //$datos .= $map->getMap();
310 $datos .= $map->getSidebar();
311 $datos .= SCRIPT('onLoad();');
312 return $datos;
315 function actualizarCoords ($id, $lat, $lng) {
316 global $database;
317 $q = "UPDATE ".TBL_MUPI." SET lat='$lat', lon='$lng' WHERE id_mupi='$id';";
318 $result = $database->query($q);
321 function actualizarReferencia ($id, $lat, $lng) {
322 global $database;
323 $q = "UPDATE ".TBL_REFS." SET lat='$lat', lon='$lng' WHERE id_referencia='$id';";
324 $result = $database->query($q);