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 ($database->num_active_users +
$database->num_active_guests
) . ' usuario(s) en línea: ';
15 echo $database->num_active_users
. ' Cliente(s) y ';
16 echo $database->num_active_guests
. ' Visitante(s)';
18 $q = "SELECT codigo FROM " . TBL_ACTIVE_USERS
. " ORDER BY timestamp DESC,codigo";
20 $result = $database->query($q);
21 $num_rows = mysql_numrows($result);
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");
32 function CONTENIDO_mostrar_principal() {
35 CONTENIDO_mostrar_logo_cliente();
37 if ( isset( $_GET[_ACC_
]) ) {
38 $ACC = explode(":",$_GET[_ACC_
]);
39 if ( isset( $ACC[0] ) ) { $accion = urldecode($ACC[0]); }
43 /* Verificamos si es permitido navegar al recurso pedido sin ser admin*/
44 // Admin salta esta prueba claro :D
45 if ( !$session->isAdmin() ) {
46 //Restricciones para usuarios que no se han loggeado
47 if ( !$session->logged_in
) {
49 case "ayuda contacto": break;
50 case "rpr clave": break;
51 case "ver ubicaciones": break;
57 $usuario = isset( $ACC[1] ) ?
$ACC[1] : "";
60 CONTENIDO_usuario_ingresar();
65 header("Location: ./");
68 case "ayuda contacto":
69 CONTENIDO_ayuda_contacto() ;
73 CONTENIDO_recuperar_clave();
80 case "ver ubicaciones":
81 CONTENIDO_mupis_ubicaciones($usuario);
84 case "ver estadisticas":
85 CONTENIDO_global_estadisticas($usuario);
88 case "gestionar eventos":
90 $evento = isset( $_GET['evento'] ) ?
$_GET['evento'] : "";
91 CONTENIDO_mupis_eventos($usuario, $evento);
94 /******************** Hasta aqui puede llegar un NO administrador ***************************/
97 if($session->isAdmin()){
98 CONTENIDO_usuario_info( $usuario );
103 if($session->isAdmin()){
104 $tipoDeLista= isset( $_GET['tipo'] ) ?
$_GET['tipo'] : "";
105 CONTENIDO_listas( $usuario, $tipoDeLista );
109 case "editar usuario":
110 if($session->isAdmin()){
111 CONTENIDO_usuario_editar( $usuario );
116 case "gestionar clientes":
117 $NivelesPermitidos = array(ADMIN_LEVEL
, SALESMAN_LEVEL
);
118 if (in_array($session->userlevel
, $NivelesPermitidos)) {
123 case "gestionar pantallas":
124 if($session->isAdmin()){
125 $pantalla= isset( $_GET['id'] ) ?
$_GET['id'] : "";
126 $catorcena= isset( $_GET['catorcena'] ) ?
$_GET['catorcena'] : "";
127 $calle= isset( $_GET['calle'] ) ?
$_GET['calle'] : "";
128 CONTENIDO_pantallas($usuario,$pantalla,$catorcena,$calle);
133 case "gestionar pedidos":
134 if($session->isAdmin()){
135 $pedido = isset( $_GET['pedido'] ) ?
$_GET['pedido'] : "";
136 CONTENIDO_pedidos($usuario,$pedido);
141 if($session->isAdmin()){
142 CONTENIDO_usuario_registrar();
146 case "gestionar mupis":
147 if($session->isAdmin()){
148 $mupi = isset( $_GET['mupi'] ) ?
$_GET['mupi'] : "";
149 $calle = isset( $_GET['calle'] ) ?
$_GET['calle'] : NULL;
150 CONTENIDO_mupis($usuario,$mupi,$calle);
154 case "gestionar calles":
155 if($session->isAdmin()){
156 $calle = isset( $_GET['calle'] ) ?
$_GET['calle'] : "";
157 CONTENIDO_calles($usuario,$calle);
161 case "gestionar comentarios":
162 if($session->isAdmin()){
163 $id_comentario = isset( $_GET['comentario'] ) ?
$_GET['comentario'] : "";
164 CONTENIDO_comentarios($usuario, $id_comentario);
168 case "gestionar referencias":
169 if($session->isAdmin()){
170 $id_referencia = isset( $_GET['referencia'] ) ?
$_GET['referencia'] : "";
171 CONTENIDO_referencias($usuario, $id_referencia);
176 if($session->isAdmin()){
177 $id = isset( $ACC[1] ) ?
$ACC[1] : "";
178 echo '<h1>Mostrando imagen con Id. '.$id.'</h1>';
179 echo '<center>'.CargarImagenDesdeBD($id).'</center>';
183 case "cargar pantallas":
184 if($session->isAdmin()){
185 CONTENIDO_cargar_pantallas();
190 CONTENIDO_global_404();
193 function IMAGEN ( $ruta, $alt="", $width="", $height="" ) {
194 return '<img src="'. $ruta . '" style="max-width:'.$width.'; max-height:'.$height.'" alt="'. $alt .'" />';
197 function CONTENIDO_mostrar_logo_cliente() {
198 global $session, $database;
199 $NivelesPermitidos = array(ADMIN_LEVEL
, SALESMAN_LEVEL
, DEMO_LEVEL
);
200 if ( !in_array($session->userlevel
, $NivelesPermitidos) && $session->logged_in
) {
201 $q = "SELECT logotipo FROM ". TBL_USERS
. " WHERE codigo='".$session->codigo
."';";
202 $result = $database->query($q);
203 echo '<center>' . '<img src="include/ver.php?id='.mysql_result($result,0,"logotipo").'" />'. '</center><hr />';
207 function INICIAR_MENUES () {
209 switch ($session->userlevel
) {
212 '<div class="chromestyle" id="chromemenu" style="font-size:0.8em">
214 .'<li><a href="./">Inicio</a></li>'
215 .'<li><a href="#" rel="menu_herramientas">Acciones</a></li>'
216 .'<li>'. CREAR_LINK_GET("registro","Registrar cliente", "Agregar un nuevo cliente al sistema") .'</li>'
217 .'<li>'. CREAR_LINK_GET("ver+ubicaciones","Ubicaciones", "Ver mapa de MUPIS") .'</li>'
218 .'<li>'. CREAR_LINK_GET("gestionar+pantallas","Gestionar pantallas", "Eliminar o modificar pantallas") .'</li>'
219 .'<li>'. CREAR_LINK_GET("gestionar+pedidos","Gestionar pedidos", "Eliminar o modificar pedidos") .'</li>'
220 .'<li>'. CREAR_LINK_GET("ver+reportes", "Reportes", "Generar reportes") .'</li>'
221 .'<li><a href="./?accion=salir">Cerrar sesión</a></li>
222 <li> </li>
223 <li> </li>
224 <li> </li>
231 <div id="menu_herramientas" class="dropmenudiv">'
232 . CREAR_LINK_GET("cargar+pantallas", "Cargar Pantallas", "Cargar fotos enumeradas de pantallas")
233 . CREAR_LINK_GET("gestionar+clientes","Editar Clientes", "Gestionar clientes")
234 . CREAR_LINK_GET("gestionar+mupis","Editar Ubicaciones", "Eliminar o modificar MUPIS")
235 . CREAR_LINK_GET("gestionar+calles","Editar Calles", "Eliminar o modificar calles")
236 . CREAR_LINK_GET("gestionar+eventos","Editar Eventos", "Agregar, Eliminar o modificar eventos")
237 . CREAR_LINK_GET("gestionar+referencias", "Editar Referencias", "Eliminar o modificar referencias de calle")
238 . CREAR_LINK_GET("gestionar+comentarios", "Editar Comentarios", "Eliminar o modificar comentarios")
245 <div class="chromestyle" id="chromemenu">
247 <li><a href="./">Inicio</a></li>'
248 .'<li>'. CREAR_LINK_GET("ver+ubicaciones","Ubicaciones", "Ver mapa de MUPIS") .'</li>'
249 .'<li>'. CREAR_LINK_GET("ver+clientes","Clientes", "Ver lista de clientes") .'</li>'
250 .'<li><a href="./?accion=salir">Cerrar sesión</a></li>
251 <li> </li>
252 <li> </li>
253 <li> </li>
263 <div class="chromestyle" id="chromemenu">
265 <li><a href="./">Estadísticas</a></li>
266 <li><a href="./?accion=ver+ubicaciones">Mis Ubicaciones</a></li>
267 <li><a href="./?accion=ver+eventos" >Eventos</a></li>
268 <li><a href="./?accion=ayuda+contacto">Comenta</a></li>
269 <li><a href="./?accion=ver+reportes">Reportes</a></li>
270 <li><a href="./?accion=salir">Cerrar sesión</a></li>
271 <li> </li>
272 <li> </li>
273 <li> </li>
283 <div class="chromestyle" id="chromemenu">
285 <li><a href="./">Inicio</a></li>'
286 .'<li>'. CREAR_LINK_GET("ver+ubicaciones","Ubicaciones", "Ver mapa de MUPIS") .'</li>'
287 .'<li><a href="./?accion=salir">Cerrar sesión</a></li>
288 <li> </li>
289 <li> </li>
290 <li> </li>
301 <div class="chromestyle" id="chromemenu">
303 <li><a href="./" onclick="return false">Estadísticas</a></li>
304 <li><a href="./?accion=ver+ubicaciones">Mis Ubicaciones</a></li>
305 <li><a href="./" onclick="return false">Eventos</a></li>
306 <li><a href="./?accion=ayuda+contacto">Comenta</a></li>
307 <li><a href="./" onclick="return false"">Reportes</a></li>
308 <li><a href="./?accion=salir">Cerrar sesión</a></li>
309 <li> </li>
310 <li> </li>
311 <li> </li>
321 <div class="chromestyle" id="chromemenu">
323 <li><a href="./?accion=salir">Cerrar sesión</a></li>
327 Woops!, parece que Ud. esta inscrito en el sistema, pero su nivel de acceso es <b>'.$session->userlevel
.'</b>.<br />
328 Sin embargo no se alarme, el sistema solo a impedido su acceso para evitar riesgos de seguridad, todos los datos que haya tenido en su cuenta permenacerán intactos.<br />
329 Por favor contacte con el administrador e indiquele que revise el <b>nivel de acceso</b> de su cuenta. Gracias.
333 // Finalmente iniciamos el script.
334 $s .= '<script type="text/javascript">cssdropdown.startchrome("chromemenu")</script>';
338 function Query2Table($result, $tableFeatures="") {
340 $table .= "<table $tableFeatures>\n\n";
341 $noFields = mysql_num_fields($result);
343 for ($i = 0; $i < $noFields; $i++
) {
344 $field = mysql_field_name($result, $i);
345 $table .= "\t<th>$field</th>\n";
347 while ($r = mysql_fetch_row($result)) {
349 foreach ($r as $column) {
350 $table .= "\t<td>$column</td>\n";
354 $table .= "</table>\n\n";
357 function db_ui_tabla($resultado, $CSS="") {
359 if ( !mysql_num_rows($resultado) ) {
360 return "No se encontraron datos";
364 $table .= "<table $CSS>\n";
365 $noFields = mysql_num_fields($resultado);
367 for ($i = 0; $i < $noFields; $i++
) {
368 $field = mysql_field_name($resultado, $i);
369 $table .= "<th>$field</th>\n";
372 while ($r = mysql_fetch_row($resultado)) {
374 foreach ($r as $column) {
375 $table .= "<td>$column</td>";
379 $table .= "</table>";
383 function AnularFechaNula ($time,$EnVacioHoy=false) {
384 if ( $EnVacioHoy ) { $vacio = date("d-m-Y"); } else { $vacio = ""; }
385 if ( $time ) { return date("d-m-Y", $time); } else { return $vacio; }
387 function SCRIPT ($Script) {
388 return '<script type="text/javascript">$(document).ready(function (){'.$Script.'});</script>';
390 function CargarImagenEnBD ($NombreCampo, $Categoria, $Id_Imagen = 0) {
393 Verificamos que exista la superglobal $_FILES para el indice del supuesto campo INPUT=FILE para no trabajar de gusto...
395 if ( !$_FILES[$NombreCampo]['error'] ) {
396 $q = "INSERT INTO ".TBL_IMG
." (id_imagen, categoria, mime) VALUES(".$Id_Imagen.", '".$Categoria."', '".$_FILES[$NombreCampo]['type']."') ON DUPLICATE KEY UPDATE categoria=VALUES(categoria), mime=VALUES(mime);";
397 $database->query($q);
398 $insert_id = mysql_insert_id($database->connection
);
400 move_uploaded_file($_FILES[$NombreCampo]['tmp_name'],"img/$insert_id");
406 function CargarImagenDesdeBD ($id, $height='100%') {
407 return '<img style="height:'.$height.';" src="include/ver.php?id='.$id.'" />';
410 function CargarImagenDesdeBD2 ($id, $height='100%') {
411 return "<img style='height:".$height.";' src='include/ver.php?id=".$id."' />";
414 function GenerarTooltip ($texto) {
415 return ' onMouseOver=\'toolTip("'.addslashes($texto).'")\' onMouseOut="toolTip()" ';
418 function Mensaje ($texto, $tipo=_M_INFO
){
430 return 'Error: no se definió el $tipo de mensaje';
433 return "<div id=\"$id\">".$texto."</div>";
437 function truncate($string, $max = 120, $replacement = '...')
439 if (strlen($string) <= $max)
443 $leave = $max - strlen ($replacement);
444 return substr_replace($string, $replacement, $leave);
447 function EnNulidad($string, $reemplazo){
454 function CONTENIDO_listas( $usuario, $tipoDeLista ){
456 $q = "SELECT @codigo_mupi := (SELECT id_mupi FROM ".TBL_MUPI
." as b WHERE a.codigo_mupi=b.id_mupi) as codigo_mupi, @codigo_mupi_traducido := (SELECT CONCAT((SELECT @ubicacion := b.ubicacion FROM emupi_calles AS b WHERE c.codigo_calle=b.codigo_calle), '. ', direccion , ' | ' , c.codigo_calle, '.' , @codigo_mupi_parcial := c.codigo_mupi ) FROM emupi_mupis as c WHERE c.id_mupi= @codigo_mupi) AS ubicacion, tipo_pantalla, id_pantalla FROM ".TBL_MUPI_FACES
. " AS a WHERE catorcena = '".Obtener_catorcena_cercana()."' ORDER BY ubicacion, @codigo_mupi_parcial, tipo_pantalla";
457 $result = $database->query($q);
458 echo Query2Table($result);
461 function JS_($script){
462 return "<script type='text/javascript'>".$script."</script>";
465 function JS_onload($script){
466 return "<script type='text/javascript'>$(document).ready(function(){".$script."});</script>";