Aproximaciones para manejar bien las imagenes tardias en los infowindow.
[ecomupi.git] / contenido / sub.php
blobc1defe4c4ba25e435b25d469081258618f126e26
1 <?php
2 /*Crear un link HTML*/
3 function CREAR_LINK($sAccion, $sTexto, $sTitulo) {
4 return "<a href=\"$sAccion\" title=\"$sTitulo\">$sTexto</a>";
7 /*Crear un link apropiado para GET*/
8 function CREAR_LINK_GET($sAccion, $sTexto, $sTitulo) {
9 return "<a href=\"?"._ACC_."=$sAccion\" title=\"$sTitulo\">$sTexto</a>";
12 function CONTENIDO_en_linea(){
13 global $session, $database;
14 echo '<h1>'. ($database->num_active_users + $database->num_active_guests) . ' usuario(s) en línea </h1>';
15 echo 'Clientes: ' . $database->num_active_users . "<br />";
16 echo 'Visitantes: ' . $database->num_active_guests . "<br />" . '<hr />';
17 echo "<ul>";
18 $q = "SELECT codigo FROM " . TBL_ACTIVE_USERS . " ORDER BY timestamp DESC,codigo";
19 //echo $q;
20 $result = $database->query($q);
21 $num_rows = mysql_numrows($result);
22 DEPURAR($num_rows);
23 if($num_rows > 0){
24 for($i=0; $i<$num_rows; $i++){
25 $uname = mysql_result($result,$i,"codigo");
26 echo CREAR_LINK_GET("ver+cliente:$uname","<li>" . $uname . "</li>" , "Ver la información de este cliente");
29 echo'</ul>';
32 function CONTENIDO_mostrar_principal() {
33 global $session;
35 CONTENIDO_mostrar_logo_cliente();
37 if ( isset( $_GET[_ACC_]) ) {
38 $ACC = explode(":",$_GET[_ACC_]);
39 if ( isset( $ACC[0] ) ) { $accion = urldecode($ACC[0]); }
40 } else {
41 $accion = "ingresar";
43 /* Verificamos si es permitido ver el sitio sin estar registrado, si no forzamor a ir al registro*/
44 if ( !$session->logged_in ) {
45 switch ( $accion ) {
46 case "ayuda contacto": break;
47 case "rpr clave": break;
48 case "info que": break;
49 case "info precios": break;
50 case "info servicios": break;
51 case "info creativo": break;
52 case "info detalles": break;
53 case "info contacto": break;
54 default:
55 $accion= "ingresar";
58 $usuario = isset( $ACC[1] ) ? $ACC[1] : "";
59 switch ( $accion ) {
60 case "ver cliente":
61 CONTENIDO_usuario_info( $usuario );
62 break;
64 case "editar usuario":
65 CONTENIDO_usuario_editar( $usuario );
66 break;
67 case "rpr clave":
68 CONTENIDO_recuperar_clave();
69 break;
71 case "gestionar clientes":
72 if($session->isAdmin()){
73 CONTENIDO_admin();
74 break;
77 case "gestionar pantallas":
78 if($session->isAdmin()){
79 $pantalla= isset( $_GET['id'] ) ? $_GET['id'] : "";
80 $catorcena= isset( $_GET['catorcena'] ) ? $_GET['catorcena'] : "";
81 CONTENIDO_pantallas($usuario,$pantalla,$catorcena);
82 break;
85 case "ver pedidos":
86 case "gestionar pedidos":
87 $pedido = isset( $_GET['pedido'] ) ? $_GET['pedido'] : "";
88 CONTENIDO_pedidos($usuario,$pedido);
89 break;
91 case "registro":
92 if($session->isAdmin()){
93 CONTENIDO_usuario_registrar();
94 break;
97 case "ingresar":
98 CONTENIDO_usuario_ingresar();
99 break;
101 case "ayuda contacto":
102 CONTENIDO_ayuda_contacto() ;
103 break;
105 case "gestionar mupis":
106 if($session->isAdmin()){
107 $mupi = isset( $_GET['mupi'] ) ? $_GET['mupi'] : "";
108 $calle = isset( $_GET['calle'] ) ? $_GET['calle'] : NULL;
109 CONTENIDO_mupis($usuario,$mupi,$calle);
110 break;
113 case "gestionar calles":
114 if($session->isAdmin()){
115 $calle = isset( $_GET['calle'] ) ? $_GET['calle'] : "";
116 CONTENIDO_calles($usuario,$calle);
117 break;
120 case "ver reportes":
121 ADMIN_reportes();
122 break;
124 case "ver ubicaciones":
125 CONTENIDO_mupis_ubicaciones($usuario);
126 break;
128 case "gestionar eventos":
129 case "ver eventos":
130 $evento = isset( $_GET['evento'] ) ? $_GET['evento'] : "";
131 CONTENIDO_mupis_eventos($usuario, $evento);
132 break;
134 case "ver estadisticas":
135 CONTENIDO_global_estadisticas();
136 break;
138 case "info contacto":
139 CONTENIDO_mupis_contacto();
140 break;
142 case "info creativo":
143 CONTENIDO_mupis_creativo();
144 break;
146 case "info que":
147 CONTENIDO_mupis_info();
148 break;
150 case "info precios":
151 CONTENIDO_mupis_precios();
152 break;
154 case "info servicios":
155 CONTENIDO_mupis_servicios();
156 break;
158 case "info creativo":
159 CONTENIDO_mupis_creativo();
160 break;
162 case "info detalles":
163 CONTENIDO_mupis_detalle();
164 break;
166 case "info nosotros":
167 CONTENIDO_global_info();
168 break;
170 case "gestionar comentarios":
171 $id_comentario = isset( $_GET['comentario'] ) ? $_GET['comentario'] : "";
172 CONTENIDO_comentarios($usuario, $id_comentario);
173 break;
175 case "gestionar referencias":
176 $id_referencia = isset( $_GET['referencia'] ) ? $_GET['referencia'] : "";
177 CONTENIDO_referencias($usuario, $id_referencia);
178 break;
180 case "salir":
181 $session->logout();
182 header("Location: ./");
183 break;
185 case "ver":
186 $id = isset( $ACC[1] ) ? $ACC[1] : "";
187 echo '<h1>Mostrando imagen con Id. '.$id.'</h1>';
188 echo '<center>'.CargarImagenDesdeBD($id).'</center>';
189 break;
191 default:
192 CONTENIDO_global_404();
195 function IMAGEN ( $ruta, $alt="", $width="", $height="" ) {
196 return '<img src="'. $ruta . '" style="max-width:'.$width.'; max-height:'.$height.'" alt="'. $alt .'" />';
199 function CONTENIDO_mostrar_logo() {
200 //echo '<center>' . IMAGEN("./logo.gif") . '</center>';
201 echo IMAGEN("./logo.gif", "Logotipo Eco Mupis", "40%", "40%");
204 function CONTENIDO_mostrar_logo_cliente() {
205 global $session, $database;
206 if ( !$session->isAdmin() && $session->logged_in ) {
207 $q = "SELECT logotipo FROM ". TBL_USERS . " WHERE codigo='".$session->codigo."';";
208 $result = $database->query($q);
209 echo '<center>' . CargarImagenDesdeBD(mysql_result($result,0,"logotipo"),'200px','200px') . '</center><hr />';
210 //echo IMAGEN("./logo_generico.gif");
214 function INICIAR_MENUES () {
215 global $session;
216 switch ($session->userlevel) {
217 case ADMIN_LEVEL:
218 $s =
220 <div class="chromestyle" id="chromemenu">
221 <ul>
222 <li><a href="./">Inicio</a></li>
223 <li><a href="#" rel="menu_herramientas">Editar</a></li>'
224 .'<li>'. CREAR_LINK_GET("registro","Registrar cliente", "Agregar un nuevo cliente al sistema") .'</li>'
225 .'<li>'. CREAR_LINK_GET("ver+ubicaciones","Ubicaciones", "Ver mapa de MUPIS") .'</li>'
226 .'<li>'. CREAR_LINK_GET("gestionar+pantallas","Gestionar pantallas", "Eliminar o modificar pantallas") .'</li>'
227 .'<li>'. CREAR_LINK_GET("gestionar+pedidos","Gestionar pedidos", "Eliminar o modificar pedidos") .'</li>'
228 .'<li>'. CREAR_LINK_GET("ver+reportes", "Reportes", "Generar reportes") .'</li>'
229 .'<li><a href="./?accion=salir">Cerrar sesión</a></li>
230 </ul>
231 </div>
233 //Herramientas
234 $s .= '
235 <div id="menu_herramientas" class="dropmenudiv" style="width: 150px;">'
236 . CREAR_LINK_GET("gestionar+clientes","Clientes", "Gestionar clientes")
237 . CREAR_LINK_GET("gestionar+mupis","Eco Mupis", "Eliminar o modificar MUPIS")
238 . CREAR_LINK_GET("gestionar+calles","Calles", "Eliminar o modificar calles")
239 . CREAR_LINK_GET("gestionar+eventos","Eventos", "Agregar, Eliminar o modificar eventos")
240 . CREAR_LINK_GET("gestionar+referencias", "Referencias", "Eliminar o modificar referencias de calle")
241 . CREAR_LINK_GET("gestionar+comentarios", "Comentarios", "Eliminar o modificar comentarios")
242 .'</div>';
243 break;
245 case SALESMAN_LEVEL:
246 $s =
248 <div class="chromestyle" id="chromemenu">
249 <ul>
250 <li><a href="./">Inicio</a></li>'
251 .'<li>'. CREAR_LINK_GET("ver+ubicaciones","Ubicaciones", "Ver mapa de MUPIS") .'</li>'
252 .'<li><a href="./?accion=salir">Cerrar sesión</a></li>
253 </ul>
254 </div>
256 break;
258 CASE CLIENT_LEVEL:
259 $s =
261 <div class="chromestyle" id="chromemenu">
262 <ul>
263 <li><a href="./">Estadísticas</a></li>
264 <li><a href="./?accion=ver+ubicaciones">Mis Ubicaciones</a></li>
265 <li><a href="./?accion=ver+eventos" >Eventos</a></li>
266 <li><a href="./?accion=ayuda+contacto">Comenta</a></li>
267 <li><a href="./?accion=ver+reportes">Reportes</a></li>
268 <li><a href="./?accion=salir">Cerrar sesión</a></li>
269 </ul>
270 </div>
272 break;
274 case USER_LEVEL:
275 $s =
277 <div class="chromestyle" id="chromemenu">
278 <ul>
279 <li><a href="./" onclick="return false">Estadísticas</a></li>
280 <li><a href="./?accion=ver+ubicaciones">Mis Ubicaciones</a></li>
281 <li><a href="./" onclick="return false">Eventos</a></li>
282 <li><a href="./?accion=ayuda+contacto">Comenta</a></li>
283 <li><a href="./" onclick="return false"">Reportes</a></li>
284 <li><a href="./?accion=salir">Cerrar sesión</a></li>
285 </ul>
286 </div>
288 break;
291 // Finalmente iniciamos el script.
292 $s .= '<script type="text/javascript">cssdropdown.startchrome("chromemenu")</script>';
293 return $s;
296 function Query2Table($result, $tableFeatures="") {
297 $table = "";
298 $table .= "<table $tableFeatures>\n\n";
299 $noFields = mysql_num_fields($result);
300 $table .= "<tr>\n";
301 for ($i = 0; $i < $noFields; $i++) {
302 $field = mysql_field_name($result, $i);
303 $table .= "\t<th>$field</th>\n";
305 while ($r = mysql_fetch_row($result)) {
306 $table .= "<tr>\n";
307 foreach ($r as $column) {
308 $table .= "\t<td>$column</td>\n";
310 $table .= "</tr>\n";
312 $table .= "</table>\n\n";
313 return $table;
316 function AnularFechaNula ($time,$EnVacioHoy=false) {
317 if ( $EnVacioHoy ) { $vacio = date("d-m-Y"); } else { $vacio = ""; }
318 if ( $time ) { return date("d-m-Y", $time); } else { return $vacio; }
320 function SCRIPT ($Script) {
321 return '<script type="text/javascript">$(document).ready(function (){'.$Script.'});</script>';
323 function CargarImagenEnBD ($NombreCampo, $Categoria, $Id_Imagen = 0) {
324 global $database;
326 Verificamos que exista la superglobal $_FILES para el indice del supuesto campo INPUT=FILE para no trabajar de gusto...
328 //print_ar($_FILES);
329 if ( !$_FILES[$NombreCampo]['error'] ) {
330 $ParsedIMG = mysql_real_escape_string(file_get_contents($_FILES[$NombreCampo]['tmp_name']));
331 //echo $ParsedIMG;
332 $q = "INSERT INTO ".TBL_IMG." (id_imagen, data, categoria, mime) VALUES(".$Id_Imagen.", '".$ParsedIMG."', '".$Categoria."', '".$_FILES[$NombreCampo]['type']."') ON DUPLICATE KEY UPDATE data=VALUES(data), categoria=VALUES(categoria), mime=VALUES(mime);";
333 $database->query($q);
334 return mysql_insert_id($database->connection);
335 } else {
337 Ok, si no esta establecida ninguna imagen y nos dieron y $Id_Imagen es porque quieren eliminarla.
338 * Eliminamos los datos de esa fila para recuperar el espacio.
339 * Retornamos NULL para denotar la nueva anti-referencia.
341 if ( $Id_Imagen ) {
342 $q = "DELETE FROM ".TBL_IMG." WHERE id_imagen=".$Id_Imagen.";";
343 $database->query($q);
346 return NULL;
349 function CargarImagenDesdeBD ($id, $width='100%', $height='100%') {
350 return '<img style="max-width:'.$width.';max-height:'.$height.';width:auto !important; width:'.$height.'height:auto !important; height:'.$height.'" src="include/ver.php?id='.$id.'" />';
353 function GenerarTooltip ($texto) {
354 return ' onMouseOver=\'toolTip("'.addslashes($texto).'")\' onMouseOut="toolTip()" ';
357 function Mensaje ($texto, $tipo=_M_INFO){
358 switch ( $tipo ) {
359 case _M_INFO:
360 $id = "info";
361 break;
362 case _M_ERROR:
363 $id = "error";
364 break;
365 case _M_NOTA:
366 $id = "nota";
367 break;
368 default:
369 echo 'Error: no se definió el $tipo de mensaje';
372 return "<div id=\"$id\">".$texto."</div>";
376 function truncate($string, $max = 120, $replacement = '...')
378 if (strlen($string) <= $max)
380 return $string;
382 $leave = $max - strlen ($replacement);
383 return substr_replace($string, $replacement, $leave);