commit masivo.
[ecomupi.git] / contenido / sub.php
blob1af203f4c4620fec26df94b61c60b36e78a538e6
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 ($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)';
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 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 ) {
48 switch ( $accion ) {
49 case "ayuda contacto": break;
50 case "rpr clave": break;
51 case "ver ubicaciones": break;
52 default:
53 $accion= "ingresar";
57 $usuario = isset( $ACC[1] ) ? $ACC[1] : "";
58 switch ( $accion ) {
59 case "ingresar":
60 CONTENIDO_usuario_ingresar();
61 break;
63 case "salir":
64 $session->logout();
65 header("Location: ./");
66 break;
68 case "ayuda contacto":
69 CONTENIDO_ayuda_contacto() ;
70 break;
72 case "rpr clave":
73 CONTENIDO_recuperar_clave();
74 break;
76 case "ver reportes":
77 ADMIN_reportes();
78 break;
80 case "ver ubicaciones":
81 CONTENIDO_mupis_ubicaciones($usuario);
82 break;
84 case "ver estadisticas":
85 CONTENIDO_global_estadisticas($usuario);
86 break;
88 case "gestionar eventos":
89 case "ver eventos":
90 $evento = isset( $_GET['evento'] ) ? $_GET['evento'] : "";
91 CONTENIDO_mupis_eventos($usuario, $evento);
92 break;
94 /******************** Hasta aqui puede llegar un NO administrador ***************************/
96 case "ver cliente":
97 if($session->isAdmin()){
98 CONTENIDO_usuario_info( $usuario );
99 break;
102 case "listas":
103 if($session->isAdmin()){
104 $tipoDeLista= isset( $_GET['tipo'] ) ? $_GET['tipo'] : "";
105 CONTENIDO_listas( $usuario, $tipoDeLista );
106 break;
109 case "editar usuario":
110 if($session->isAdmin()){
111 CONTENIDO_usuario_editar( $usuario );
112 break;
115 case "ver clientes":
116 case "gestionar clientes":
117 $NivelesPermitidos = array(ADMIN_LEVEL, SALESMAN_LEVEL);
118 if (in_array($session->userlevel, $NivelesPermitidos)) {
119 CONTENIDO_admin();
120 break;
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);
129 break;
132 case "ver pedidos":
133 case "gestionar pedidos":
134 if($session->isAdmin()){
135 $pedido = isset( $_GET['pedido'] ) ? $_GET['pedido'] : "";
136 CONTENIDO_pedidos($usuario,$pedido);
137 break;
140 case "registro":
141 if($session->isAdmin()){
142 CONTENIDO_usuario_registrar();
143 break;
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);
151 break;
154 case "gestionar calles":
155 if($session->isAdmin()){
156 $calle = isset( $_GET['calle'] ) ? $_GET['calle'] : "";
157 CONTENIDO_calles($usuario,$calle);
158 break;
161 case "gestionar comentarios":
162 if($session->isAdmin()){
163 $id_comentario = isset( $_GET['comentario'] ) ? $_GET['comentario'] : "";
164 CONTENIDO_comentarios($usuario, $id_comentario);
165 break;
168 case "gestionar referencias":
169 if($session->isAdmin()){
170 $id_referencia = isset( $_GET['referencia'] ) ? $_GET['referencia'] : "";
171 CONTENIDO_referencias($usuario, $id_referencia);
172 break;
175 case "ver":
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>';
180 break;
183 case "cargar pantallas":
184 if($session->isAdmin()){
185 CONTENIDO_cargar_pantallas();
186 break;
189 default:
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 () {
208 global $session;
209 switch ($session->userlevel) {
210 case ADMIN_LEVEL:
211 $s =
212 '<div class="chromestyle" id="chromemenu" style="font-size:0.8em">
213 <ul>'
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>&nbsp;&nbsp;&nbsp;&nbsp;</li>
223 <li>&nbsp;&nbsp;&nbsp;</li>
224 <li>&nbsp;&nbsp;</li>
225 <li>&nbsp;</li>
226 </ul>
227 </div>
229 //Herramientas
230 $s .= '
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")
239 .'</div>';
240 break;
242 case SALESMAN_LEVEL:
243 $s =
245 <div class="chromestyle" id="chromemenu">
246 <ul>
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>&nbsp;&nbsp;&nbsp;&nbsp;</li>
252 <li>&nbsp;&nbsp;&nbsp;</li>
253 <li>&nbsp;&nbsp;</li>
254 <li>&nbsp;</li>
255 </ul>
256 </div>
258 break;
260 CASE CLIENT_LEVEL:
261 $s =
263 <div class="chromestyle" id="chromemenu">
264 <ul>
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>&nbsp;&nbsp;&nbsp;&nbsp;</li>
272 <li>&nbsp;&nbsp;&nbsp;</li>
273 <li>&nbsp;&nbsp;</li>
274 <li>&nbsp;</li>
275 </ul>
276 </div>
278 break;
280 case DEMO_LEVEL:
281 $s =
283 <div class="chromestyle" id="chromemenu">
284 <ul>
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>&nbsp;&nbsp;&nbsp;&nbsp;</li>
289 <li>&nbsp;&nbsp;&nbsp;</li>
290 <li>&nbsp;&nbsp;</li>
291 <li>&nbsp;</li>
292 </ul>
293 </div>
295 break;
296 break;
298 case USER_LEVEL:
299 $s =
301 <div class="chromestyle" id="chromemenu">
302 <ul>
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>&nbsp;&nbsp;&nbsp;&nbsp;</li>
310 <li>&nbsp;&nbsp;&nbsp;</li>
311 <li>&nbsp;&nbsp;</li>
312 <li>&nbsp;</li>
313 </ul>
314 </div>
316 break;
318 default:
319 $s =
321 <div class="chromestyle" id="chromemenu">
322 <ul>
323 <li><a href="./?accion=salir">Cerrar sesión</a></li>
324 </ul>
325 </div>
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.
330 </p>
333 // Finalmente iniciamos el script.
334 $s .= '<script type="text/javascript">cssdropdown.startchrome("chromemenu")</script>';
335 return $s;
338 function Query2Table($result, $tableFeatures="") {
339 $table = "";
340 $table .= "<table $tableFeatures>\n\n";
341 $noFields = mysql_num_fields($result);
342 $table .= "<tr>\n";
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)) {
348 $table .= "<tr>\n";
349 foreach ($r as $column) {
350 $table .= "\t<td>$column</td>\n";
352 $table .= "</tr>\n";
354 $table .= "</table>\n\n";
355 return $table;
357 function db_ui_tabla($resultado, $CSS="") {
358 global $db_link;
359 if ( !mysql_num_rows($resultado) ) {
360 return "No se encontraron datos";
363 $table = "";
364 $table .= "<table $CSS>\n";
365 $noFields = mysql_num_fields($resultado);
366 $table .= "<tr>";
367 for ($i = 0; $i < $noFields; $i++) {
368 $field = mysql_field_name($resultado, $i);
369 $table .= "<th>$field</th>\n";
371 $table .= "</tr>\n";
372 while ($r = mysql_fetch_row($resultado)) {
373 $table .= "<tr>";
374 foreach ($r as $column) {
375 $table .= "<td>$column</td>";
377 $table .= "</tr>\n";
379 $table .= "</table>";
380 return $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) {
391 global $database;
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);
399 //print_ar($_FILES);
400 move_uploaded_file($_FILES[$NombreCampo]['tmp_name'],"img/$insert_id");
401 return $insert_id;
403 return NULL;
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){
419 switch ( $tipo ) {
420 case _M_INFO:
421 $id = "info";
422 break;
423 case _M_ERROR:
424 $id = "error";
425 break;
426 case _M_NOTA:
427 $id = "nota";
428 break;
429 default:
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)
441 return $string;
443 $leave = $max - strlen ($replacement);
444 return substr_replace($string, $replacement, $leave);
447 function EnNulidad($string, $reemplazo){
448 if (!$string) {
449 return $reemplazo;
451 return $string;
454 function CONTENIDO_listas( $usuario, $tipoDeLista ){
455 global $database;
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>";