Principios de edición de pedidos via marcadores.
[ecomupi.git] / contenido / mupis+ubicaciones+dinamico.php
blob0f2a2394f1996fd097f0faf98b5c78e8768d07fa
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;
11 if ( isset( $_GET['accion'] ) ) {
12 switch ( $_GET['accion'] ) {
14 case "drag":
15 if ( isset( $_GET['id'] ) && isset( $_GET['lat'] ) && isset( $_GET['lng'] )) {
17 $parte = explode ('|',$_GET['id'] );
18 if ( count($parte) == 3 ) {
20 if ( $parte[0] == "REF" ) {
21 //retornar ("Referencia?: " . "REF". ", Catorcena: ". $parte[1]. ", id_referencia:".$parte[2]);
22 retornar ( actualizarReferencia ($parte[2], $_GET['lat'], $_GET['lng']));
23 } else {
24 //retornar ("Mupi: " . $parte[0]. ", Catorcena: ". $parte[1]. ", Usuario:".$parte[2]);
25 retornar ( actualizarCoords ($parte[0], $_GET['lat'], $_GET['lng']));
28 } else {
29 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. [DRAG]" );
32 break;
34 case "mupi":
35 if ( isset( $_GET['MUPI'] ) ) {
37 $parte = explode ('|',$_GET['MUPI'] );
38 if ( count($parte) == 3 ) {
39 //retornar ("Mupi: " . $parte[0]. ", Catorcena: ". $parte[1]. ", Usuario:".$parte[2]);
40 retornar ( Buscar ($parte[0], $parte[1], $parte[2] ) );
42 } else {
43 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 1" );
45 break;
46 case "calles":
47 if ( isset( $_GET['catorcena'] ) && isset ( $_GET['usuario'] ) ) {
49 $script = SCRIPT('
50 // $("#combo_calles").change(funcion_combo_calles());
51 ');
53 $Boton_combo_calles = '<input type="button" OnClick="funcion_combo_calles()" value="Ver">';;
54 retornar ('<b>Ver Calle:</b><br />' . $database->Combobox_CallesConPresencia("combo_calles",$_GET['usuario'],$_GET['catorcena']).$Boton_combo_calles);
55 } else {
56 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 2" );
58 break;
59 case "mapas":
60 if ( isset( $_GET['catorcena'] ) && isset( $_GET['calle'] ) && isset ( $_GET['usuario'] ) ) {
61 retornar (Mostrar_Mapa($_GET['catorcena'], $_GET['calle'], $_GET['usuario']));
62 } else {
63 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 3" );
65 break;
66 case "mupis":
67 if ( isset( $_GET['catorcena'] ) && isset( $_GET['calle'] ) ) {
68 retornar (Mostrar_Mapa($_GET['catorcena'], $_GET['calle'], ""));
69 } else {
70 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 3" );
73 } else {
74 retornar ( "Ud. esta utilizando incorrectamente este script de soporte. 0" );
77 function retornar($texto) {
78 exit ('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' . $texto . '<br />');
81 function Buscar ($codigo_mupi, $catorcena, $usuario) {
82 global $session;
83 /* 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 */
84 $datos ="";
85 $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>');
86 mysql_select_db(DB_NAME, $link) or die('!->La base de datos seleccionada "'.$DB_base.'" no existe');
87 if ( $session->isAdmin() || $session->userlevel == SALESMAN_LEVEL) {
88 $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);";
89 } else {
90 $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_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);";
92 //echo $q.'<br />';
93 $result = @mysql_query($q, $link) or retornar ('!->Ocurrió un error mientras se revisaba la disponibilidad del MUPI.');
94 /* Error occurred, return given name by default */
95 $num_rows = mysql_numrows($result);
96 if(!$result || ($num_rows < 0)){
97 retornar("Error mostrando la información");
100 if($num_rows == 0){
101 retornar (Mensaje("¡No hay datos para ese código ($codigo_mupi)!",_M_ERROR));
103 $datos .= '<h2>Datos del MUPI seleccionado</h2>';
104 $datos .= '<table>';
105 $tipoPantalla = ''; //Par
106 for($i=0; $i<$num_rows; $i++){
107 $arte = mysql_result($result,$i,"arte");
108 $tipo_pantalla = mysql_result($result,$i,"tipo_pantalla");
109 $foto_real = mysql_result($result,$i,"foto_real");
110 // si es par es vehicular
111 if ( ($tipo_pantalla % 2) == 0 ) {
112 $tipoPantalla = 'vehicular';
114 }else{
115 $tipoPantalla = 'peatonal';
118 $datos .= "<tr><th><center>Imagen actual de su pantalla ".$tipoPantalla.":</center></th></tr>";
119 $datos .= "<tr><td><center>" . CargarImagenDesdeBD($foto_real,"300px") . "</center></td>";
120 $datos .= "<tr><th><center>Arte digital de su pantalla:</center></th></tr>";
121 $datos .= "<tr><td><center>" . CargarImagenDesdeBD($arte,"300px") . "</center></td></tr>";
123 $datos .= '</table>';
124 retornar($datos);
127 function Mostrar_Mapa($catorcena, $calle, $usuario){
128 global $session, $map, $database;
129 $NivelesPermitidos = array(ADMIN_LEVEL, SALESMAN_LEVEL);
130 // setup database for geocode caching
131 $map->setDSN('mysql://'.DB_USER.':'.DB_PASS.'@'.DB_SERVER.'/'.DB_NAME);
132 //Google Map Key
133 $map->setAPIKey(GOOGLE_MAP_KEY);
134 // proporción de la ventana que tomará el mapa.
135 $map->setWidth('100%');
136 $map->referencias = false;
137 // Desactivar controles de Zoom y movimiento para cliente.
138 if ( !$session->isAdmin() && $session->userlevel != SALESMAN_LEVEL ) {
139 $map->map_controls = false;
140 $map->disable_drag = true;
141 $map->disableInfoWindow();
143 // Cargar puntos mupis.
144 $WHERE_USER = "";
145 if ( isset($_GET['sin_presencia']) ) {
146 $q = "select id_mupi, codigo_mupi, direccion, foto_generica, lon, lat, codigo_evento, codigo_calle from emupi_mupis AS a where codigo_calle='$calle';";
147 } else {
148 if ( ($session->isAdmin() && !$usuario) || $session->userlevel == SALESMAN_LEVEL ) {
149 $q = "select id_mupi, codigo_mupi, direccion, foto_generica, lon, lat, codigo_evento, codigo_calle from emupi_mupis AS a where codigo_calle='$calle' and id_mupi IN (select codigo_mupi FROM emupi_mupis_caras WHERE catorcena=$catorcena);";
150 } else {
151 $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 codigo_calle='$calle' and 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'));";
154 //DEPURAR($q,1);
155 $result = $database->query($q);
156 $num_rows = mysql_numrows($result);
157 if(!$result || ($num_rows < 0)){
158 exit ( "Error mostrando la información<br />");
161 if($num_rows == 0){
162 exit ("¡No hay "._NOMBRE_." ingresados!<br />");
164 //Imagen de los marcadores
165 //Removido por petición. 06/02/09
166 //if ( !$session->isAdmin() || $usuario ) $map->setMarkerIcon('http://'.$_SERVER['SERVER_ADDR'].'/mupi/include/ver.php?id='.mysql_result($result,0,"logotipo"),'',0,0,0,0);
168 for($i=0; $i<$num_rows; $i++){
169 $id_mupi = mysql_result($result,$i,"id_mupi");
170 $codigo_mupi = mysql_result($result,$i,"codigo_calle") . "." .mysql_result($result,$i,"codigo_mupi");
171 $direccion = truncate(mysql_result($result,$i,"direccion"));
172 $foto_generica = mysql_result($result,$i,"foto_generica");
173 $lon = mysql_result($result,$i,"lon");
174 $lat = mysql_result($result,$i,"lat");
175 $codigo_evento = mysql_result($result,$i,"codigo_evento");
176 if ( ($session->isAdmin() && !$usuario) || $session->userlevel == SALESMAN_LEVEL ) {
177 $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")."));";
178 //echo $q."<br>";
179 $result2 = $database->query($q);
180 $num_rows2 = mysql_numrows($result2);
181 $logotipo = "<br />";
183 if($num_rows2 > 0){
184 for($ii=0; $ii<$num_rows2; $ii++){
185 $logotipo .= CargarImagenDesdeBD(mysql_result($result2,$ii,"logotipo"), "50px");
188 } else {
189 $logotipo = ''; //"<br />".CargarImagenDesdeBD(mysql_result($result,$i,"logotipo"), "50px");
191 $logotipo = '<div style="width:400px; height:150px">'.$logotipo.'</div>';
192 $html = "<b>Dirección: </b>".$direccion."<br /><center>".$logotipo."</center>";
194 if (in_array($session->userlevel, $NivelesPermitidos)) {
196 $q = "SELECT id_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'".";";
197 //echo $q."<br>";
198 $result2 = $database->query($q);
199 $num_rows2 = mysql_numrows($result2);
200 $logotipo = "<br />";
201 $Valor_Peatonal = $Valor_Vehicular = $Pantalla_Vehicular = $Pantalla_Peatonal = NULL;
202 $Valor_Vehicular_Desc = $Valor_Peatonal_Desc = 'Ninguno';
203 if($num_rows2 > 0){
204 for($ii=0; $ii<$num_rows2; $ii++){
205 if ( (mysql_result($result2,$ii,"id_pantalla") % 2) == 0 ) {
206 $Pantalla_Vehicular = mysql_result($result2,$ii,"id_pantalla");
207 $Valor_Vehicular = mysql_result($result2,$ii,"codigo_pedido");
208 $Valor_Vehicular_Desc = mysql_result($result2,$ii,"descripcion");
209 } else {
210 $Pantalla_Peatonal = mysql_result($result2,$ii,"id_pantalla");
211 $Valor_Peatonal = mysql_result($result2,$ii,"codigo_pedido");
212 $Valor_Peatonal_Desc = mysql_result($result2,$ii,"descripcion");
217 $Boton_pedido_peatonal = '<input type="button" OnClick="$(\'#pedido_peatonal\').load(\'contenido/mupis+ubicaciones+dinamico.php?cambiar_pantalla='.$Pantalla_Peatonal.'&pedido=\'+$(\'#Combobox_pedidos_peatonal\').val())" value="Establecer">';
218 $Boton_pedido_vehicular = '<input type="button" OnClick="$(\'#pedido_vehicular\').load(\'contenido/mupis+ubicaciones+dinamico.php?cambiar_pantalla='.$Pantalla_Vehicular.'&pedido=\'+$(\'#Combobox_pedidos_vehicular\').val())" value="Establecer">';
219 $Contenido_maximizado =
220 "<b>Catorcena a editar:</b> " . AnularFechaNula($catorcena). " - " . AnularFechaNula( Fin_de_catorcena($catorcena) ).
221 "<br /><b>Mupi a Editar:</b> $codigo_mupi -> Id. $id_mupi" .
222 "<hr />".
223 "<table>".
224 "<tr>".
225 "<th>Cara peatonal</th><th>Cara vehicular</th>".
226 "</tr>".
227 "<tr>".
228 "<td width='50%'>".
229 "<b>ID. Pantalla:</b> ".EnNulidad($Pantalla_Peatonal,"Ninguna")."<br />".
230 "<b>Código de pedido Actual:</b> $Valor_Vehicular | $Valor_Vehicular_Desc<br />".
231 addslashes($database->Combobox_pedido("Combobox_pedidos_peatonal", $Valor_Vehicular)).
232 addslashes($Boton_pedido_peatonal).
233 "<hr /><div id='pedido_peatonal'>Sin cambios</div>".
234 "</td>".
235 "<td width='50%'>".
236 "<b>ID. Pantalla:</b> ". EnNulidad($Pantalla_Vehicular,"Ninguna")."<br />".
237 "<b>Código de pedido Actual:</b> $Valor_Peatonal | $Valor_Peatonal_Desc<br />".
238 addslashes($database->Combobox_pedido("Combobox_pedidos_vehicular", $Valor_Peatonal)).
239 addslashes($Boton_pedido_vehicular).
240 "<hr /><div id='pedido_vehicular'>Sin cambios</div>".
241 "</td>".
242 "</tr>".
243 "</table>"
245 $Contenido_maximizado = $Contenido_maximizado;
246 } else {
247 $Contenido_maximizado = "";
249 $map->addMarkerByCoords($lon, $lat, $codigo_mupi . ' | ' . $direccion, $html, $codigo_mupi, $id_mupi . "|" . $catorcena . "|" . $usuario, $Contenido_maximizado);
250 $map->addMarkerIcon(public_base_directory().'/punto.gif','',12,12,0,0);
253 // Mostrar referencias. 10/02/09
254 $q = "SELECT * FROM emupi_referencias WHERE codigo_calle='$calle'".";";
255 $result = $database->query($q);
256 $num_rows = mysql_numrows($result);
257 $map->referencias = true;
258 for($i=0; $i<$num_rows; $i++){
259 $lon = mysql_result($result,$i,"lon");
260 $lat = mysql_result($result,$i,"lat");
261 $logotipo = "<br />".CargarImagenDesdeBD(mysql_result($result,$i,"imagen_referencia"), "200px");
262 $map->addMarkerByCoords($lon, $lat, "Referencia" , "Este es un punto de referencia<br />".$logotipo, '', "REF|$catorcena|".mysql_result($result,$i,"id_referencia"),"");
263 $map->addMarkerIcon(public_base_directory(). '/include/ver.php?id='.mysql_result($result,$i,"imagen_referencia"),'',0,0,50,50);
268 //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
269 $datos = '';
270 $datos .= $map->getMapJS();
271 $datos .= $map->getMap();
272 $datos .= $map->getSidebar();
273 $datos .= SCRIPT('onLoad();');
274 return $datos;
277 function actualizarCoords ($id, $lat, $lng) {
278 global $database;
279 $q = "UPDATE ".TBL_MUPI." SET lat='$lat', lon='$lng' WHERE id_mupi='$id';";
280 $result = $database->query($q);
283 function actualizarReferencia ($id, $lat, $lng) {
284 global $database;
285 $q = "UPDATE ".TBL_REFS." SET lat='$lat', lon='$lng' WHERE id_referencia='$id';";
286 $result = $database->query($q);