From 0f85e69e03123814a9159fdeaf2e308d67913544 Mon Sep 17 00:00:00 2001 From: administrador User Date: Mon, 9 Feb 2009 17:48:34 +0100 Subject: [PATCH] Implementado niveles de usuario. Niveles: Usuario->1 Cliente->3 Vendedor->5 Administrador->9 --- contenido/adminprocess.php | 12 +++++++----- contenido/mupis+calles.php | 2 +- contenido/sub.php | 38 ++++++++++++++++++++++++++++++++++++-- contenido/usuario+ingresar.php | 17 ++++++++++++++--- contenido/usuario.php | 6 +++--- include/const.php | 4 +++- include/database.php | 2 +- include/x.php | 6 +++--- 8 files changed, 68 insertions(+), 19 deletions(-) diff --git a/contenido/adminprocess.php b/contenido/adminprocess.php index 6ef6ee0..e5f4669 100755 --- a/contenido/adminprocess.php +++ b/contenido/adminprocess.php @@ -1,5 +1,7 @@ isAdmin()){ @@ -44,12 +46,12 @@ require_once("../include/sesion.php"); if($form->num_errors > 0){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); - header("Location: ../?accion=admin"); + header("Location: ../?accion=gestionar+clientes"); } /* Update user level */ else{ $database->updateUserField($subuser, "userlevel", (int)$_POST['updlevel']); - header("Location: ../?accion=admin"); + header("Location: ../?accion=gestionar+clientes"); } } @@ -154,15 +156,15 @@ require_once("../include/sesion.php"); $subuser = $_POST[$uname]; $field = $uname; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ - $form->setError($field, "* Username not entered
"); + $form->setError($field, "* Usuario no ingresado
"); } else{ /* Make sure username is in database */ $subuser = stripslashes($subuser); if(strlen($subuser) < 5 || strlen($subuser) > 30 || !eregi("^([0-9a-z])+$", $subuser) || - (!$ban && !$database->usernameTaken($subuser))){ - $form->setError($field, "* Username does not exist
"); + (!$ban && !$database->codigoTaken($subuser))){ + $form->setError($field, "* Usuario no existe
"); } } return $subuser; diff --git a/contenido/mupis+calles.php b/contenido/mupis+calles.php index 21d289d..2735966 100644 --- a/contenido/mupis+calles.php +++ b/contenido/mupis+calles.php @@ -124,7 +124,7 @@ global $database,$form; $q = "INSERT INTO ".TBL_STREETS." (codigo_calle, ubicacion, impactos ) VALUES ('".$_POST['codigo_calle']."', '" . $_POST['ubicacion']. "', '" . $_POST['impactos']. "') ON DUPLICATE KEY UPDATE ubicacion=VALUES(ubicacion), impactos=VALUES(impactos);"; DEPURAR ($q); if ( $database->query($q) == 1 ) { - echo Mensaje("Exito al registrar calle de ". $_POST['ubicacion'],_M_INFO); + echo Mensaje("Exito al registrar calle de ". $_POST['ubicacion'], _M_INFO); } else { echo Mensaje("Falló el registro el calle de " . $_POST['ubicacion'], _M_ERROR); } diff --git a/contenido/sub.php b/contenido/sub.php index 93f3481..aa78b9f 100755 --- a/contenido/sub.php +++ b/contenido/sub.php @@ -208,7 +208,8 @@ function CONTENIDO_mostrar_logo_cliente() { function INICIAR_MENUES () { global $session; - if ( $session->isAdmin() ) { + switch ($session->userlevel) { + case ADMIN_LEVEL: $s = '
@@ -232,7 +233,22 @@ function INICIAR_MENUES () { . CREAR_LINK_GET("gestionar+calles","Gestionar calles", "Eliminar o modificar calles") . CREAR_LINK_GET("ver+eventos","Gestionar eventos", "Agregar, Eliminar o modificar eventos") .'
'; - } else { + break; + + case SALESMAN_LEVEL: + $s = + ' +
+ +
+ '; + break; + + CASE CLIENT_LEVEL: $s = '
@@ -246,12 +262,30 @@ function INICIAR_MENUES () {
'; + break; + + case USER_LEVEL: + $s = + ' +
+ +
+ '; + break; } // Finalmente iniciamos el script. $s .= ''; return $s; } + function Query2Table($result, $tableFeatures="") { $table = ""; $table .= "\n\n"; diff --git a/contenido/usuario+ingresar.php b/contenido/usuario+ingresar.php index a70bf0a..3713360 100755 --- a/contenido/usuario+ingresar.php +++ b/contenido/usuario+ingresar.php @@ -5,17 +5,28 @@ function CONTENIDO_usuario_ingresar() { /* Ya se encuentra registrado */ if($session->logged_in){ - CONTENIDO_global_estadisticas(); /* Limpiamos todo lo que podamos */ unset($_SESSION['reguname']); unset($_SESSION['regsuccess']); + + /* Lo mandamos a su respectiva página de inicio */ + + switch ( $session->userlevel ) { + case ADMIN_LEVEL: + case CLIENT_LEVEL: + CONTENIDO_global_estadisticas(); + break; + case SALESMAN_LEVEL: + case USER_LEVEL: + CONTENIDO_mupis_ubicaciones(); + break; + } return; - } echo '

Iniciar sesión en el sistema de '._NOMBRE_.'


'; /* Fallo en el registro */ if(isset($_SESSION['regsuccess']) && $_SESSION['regsuccess'] == false){ - echo "

Error - Por favor intentelo de nuevo.


"; + echo Mensaje("Datos de acceso incorrectos, por favor intente de nuevo.",_M_ERROR); } /* Empezar en limpio */ unset($_SESSION['regsuccess']); diff --git a/contenido/usuario.php b/contenido/usuario.php index 653a8ab..3ca7ce8 100755 --- a/contenido/usuario.php +++ b/contenido/usuario.php @@ -46,7 +46,7 @@ displayUsers(); echo '

Establecer permisos a cliente/usuario

'; echo $form->error("upduser"); echo ' - +
Código: @@ -54,8 +54,8 @@ echo ' Nivel:
diff --git a/include/const.php b/include/const.php index c542784..79c3d02 100755 --- a/include/const.php +++ b/include/const.php @@ -24,7 +24,9 @@ define("TBL_IMG","emupi_imagenes"); define("ADMIN_NAME", "admin"); define("GUEST_NAME", "Visitante"); define("ADMIN_LEVEL", 9); -define("USER_LEVEL", 1); +define("SALESMAN_LEVEL", 5); +define("CLIENT_LEVEL", 3); +define("USER_LEVEL", 1); define("GUEST_LEVEL", 0); define("TRACK_VISITORS", true); define("USER_TIMEOUT", 10); diff --git a/include/database.php b/include/database.php index c4bcfd4..ac9e359 100755 --- a/include/database.php +++ b/include/database.php @@ -138,7 +138,7 @@ class MySQLDB if(strcasecmp($codigo, ADMIN_NAME) == 0){ $ulevel = ADMIN_LEVEL; }else{ - $ulevel = USER_LEVEL; + $ulevel = CLIENT_LEVEL; } $q = "INSERT INTO ".TBL_USERS." VALUES ('$codigo', '$clave', '$nombre', '$razon', '$email', '$telefono1', '$telefono2', '$telefono3', '$logotipo', '$notas', 0, 0, ".time().")"; DEPURAR($q); diff --git a/include/x.php b/include/x.php index 0b8a2f3..1251285 100755 --- a/include/x.php +++ b/include/x.php @@ -122,15 +122,15 @@ class Process $subuser = $_POST['codigo']; $field = "user"; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ - $form->setError($field, "* Username not entered
"); + $form->setError($field, "* Nombre de usuario no ingresado
"); } else{ /* Make sure username is in database */ $subuser = stripslashes($subuser); if(strlen($subuser) < 5 || strlen($subuser) > 30 || !eregi("^([0-9a-z])+$", $subuser) || - (!$database->usernameTaken($subuser))){ - $form->setError($field, "* Username does not exist
"); + (!$database->codigoTaken($subuser))){ + $form->setError($field, "* El usuario no existe
"); } } -- 2.11.4.GIT