164 lines
5.8 KiB
PHP
164 lines
5.8 KiB
PHP
<?php
|
|
session_start();
|
|
require_once "../modelos/Usuario.php";
|
|
|
|
$usuario=new Usuario();
|
|
|
|
$idusuario=isset($_POST["idusuario"])? limpiarCadena($_POST["idusuario"]):"";
|
|
$nombre=isset($_POST["nombre"])? limpiarCadena($_POST["nombre"]):"";
|
|
$tipo_documento=isset($_POST["tipo_documento"])? limpiarCadena($_POST["tipo_documento"]):"";
|
|
$num_documento=isset($_POST["num_documento"])? limpiarCadena($_POST["num_documento"]):"";
|
|
$direccion=isset($_POST["direccion"])? limpiarCadena($_POST["direccion"]):"";
|
|
$telefono=isset($_POST["telefono"])? limpiarCadena($_POST["telefono"]):"";
|
|
$email=isset($_POST["email"])? limpiarCadena($_POST["email"]):"";
|
|
$cargo=isset($_POST["cargo"])? limpiarCadena($_POST["cargo"]):"";
|
|
$login=isset($_POST["login"])? limpiarCadena($_POST["login"]):"";
|
|
$clave=isset($_POST["clave"])? limpiarCadena($_POST["clave"]):"";
|
|
$imagen=isset($_POST["imagen"])? limpiarCadena($_POST["imagen"]):"";
|
|
|
|
switch ($_GET["op"]) {
|
|
case 'guardaryeditar':
|
|
|
|
if (!file_exists($_FILES['imagen']['tmp_name'])|| !is_uploaded_file($_FILES['imagen']['tmp_name'])) {
|
|
$imagen=$_POST["imagenactual"];
|
|
}else{
|
|
$ext=explode(".", $_FILES["imagen"]["name"]);
|
|
if ($_FILES['imagen']['type']=="image/jpg" || $_FILES['imagen']['type']=="image/jpeg" || $_FILES['imagen']['type']=="image/png") {
|
|
$imagen=round(microtime(true)).'.'. end($ext);
|
|
move_uploaded_file($_FILES["imagen"]["tmp_name"], "../files/usuarios/".$imagen);
|
|
}
|
|
}
|
|
|
|
//Hash SHA256 para la contraseña
|
|
$clavehash=hash("SHA256", $clave);
|
|
if (empty($idusuario)) {
|
|
$rspta=$usuario->insertar($nombre,$tipo_documento,$num_documento,$direccion,$telefono,$email,$cargo,$login,$clavehash,$imagen,$_POST['permiso']);
|
|
echo $rspta ? "Datos registrados correctamente" : "No se pudo registrar todos los datos del usuario";
|
|
}else{
|
|
$rspta=$usuario->editar($idusuario,$nombre,$tipo_documento,$num_documento,$direccion,$telefono,$email,$cargo,$login,$clavehash,$imagen,$_POST['permiso']);
|
|
echo $rspta ? "Datos actualizados correctamente" : "No se pudo actualizar los datos";
|
|
}
|
|
break;
|
|
|
|
|
|
case 'desactivar':
|
|
$rspta=$usuario->desactivar($idusuario);
|
|
echo $rspta ? "Datos desactivados correctamente" : "No se pudo desactivar los datos";
|
|
break;
|
|
|
|
case 'activar':
|
|
$rspta=$usuario->activar($idusuario);
|
|
echo $rspta ? "Datos activados correctamente" : "No se pudo activar los datos";
|
|
break;
|
|
|
|
case 'mostrar':
|
|
$rspta=$usuario->mostrar($idusuario);
|
|
echo json_encode($rspta);
|
|
break;
|
|
|
|
case 'listar':
|
|
$rspta=$usuario->listar();
|
|
$data=Array();
|
|
|
|
while ($reg=$rspta->fetch_object()) {
|
|
$data[]=array(
|
|
"0"=>($reg->condicion)?'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idusuario.')"><i class="fa fa-pencil"></i></button>'.' '.'<button class="btn btn-danger btn-xs" onclick="desactivar('.$reg->idusuario.')"><i class="fa fa-close"></i></button>':'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idusuario.')"><i class="fa fa-pencil"></i></button>'.' '.'<button class="btn btn-primary btn-xs" onclick="activar('.$reg->idusuario.')"><i class="fa fa-check"></i></button>',
|
|
"1"=>$reg->nombre,
|
|
"2"=>$reg->tipo_documento,
|
|
"3"=>$reg->num_documento,
|
|
"4"=>$reg->telefono,
|
|
"5"=>$reg->email,
|
|
"6"=>$reg->login,
|
|
"7"=>"<img src='../files/usuarios/".$reg->imagen."' height='50px' width='50px'>",
|
|
"8"=>($reg->condicion)?'<span class="label bg-green">Activado</span>':'<span class="label bg-red">Desactivado</span>'
|
|
);
|
|
}
|
|
|
|
$results=array(
|
|
"sEcho"=>1,//info para datatables
|
|
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
|
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
|
"aaData"=>$data);
|
|
echo json_encode($results);
|
|
break;
|
|
|
|
case 'permisos':
|
|
//obtenemos toodos los permisos de la tabla permisos
|
|
require_once "../modelos/Permiso.php";
|
|
$permiso=new Permiso();
|
|
$rspta=$permiso->listar();
|
|
//obtener permisos asigandos
|
|
$id=$_GET['id'];
|
|
$marcados=$usuario->listarmarcados($id);
|
|
$valores=array();
|
|
|
|
//almacenar permisos asigandos
|
|
while ($per=$marcados->fetch_object()) {
|
|
array_push($valores, $per->idpermiso);
|
|
}
|
|
//mostramos la lista de permisos
|
|
while ($reg=$rspta->fetch_object()) {
|
|
$sw=in_array($reg->idpermiso,$valores)?'checked':'';
|
|
echo '<li><input type="checkbox" '.$sw.' name="permiso[]" value="'.$reg->idpermiso.'">'.$reg->nombre.'</li>';
|
|
}
|
|
break;
|
|
|
|
case 'verificar':
|
|
//validar si el usuario tiene acceso al sistema
|
|
$logina=$_POST['logina'];
|
|
$clavea=$_POST['clavea'];
|
|
|
|
//Hash SHA256 en la contraseña
|
|
$clavehash=hash("SHA256", $clavea);
|
|
|
|
$rspta=$usuario->verificar($logina, $clavehash);
|
|
|
|
$fetch=$rspta->fetch_object();
|
|
if (isset($fetch)) {
|
|
# Declaramos la variables de sesion
|
|
$_SESSION['idusuario']=$fetch->idusuario;
|
|
$_SESSION['nombre']=$fetch->nombre;
|
|
$_SESSION['imagen']=$fetch->imagen;
|
|
$_SESSION['login']=$fetch->login;
|
|
|
|
//obtenemos los permisos
|
|
$marcados=$usuario->listarmarcados($fetch->idusuario);
|
|
|
|
//declaramos el array para almacenar todos los permisos
|
|
$valores=array();
|
|
|
|
//almacenamos los permisos marcados en al array
|
|
while ($per = $marcados->fetch_object()) {
|
|
array_push($valores, $per->idpermiso);
|
|
}
|
|
|
|
//determinamos lo accesos al usuario
|
|
in_array(1, $valores)?$_SESSION['escritorio']=1:$_SESSION['escritorio']=0;
|
|
in_array(2, $valores)?$_SESSION['almacen']=1:$_SESSION['almacen']=0;
|
|
in_array(3, $valores)?$_SESSION['compras']=1:$_SESSION['compras']=0;
|
|
in_array(4, $valores)?$_SESSION['ventas']=1:$_SESSION['ventas']=0;
|
|
in_array(5, $valores)?$_SESSION['acceso']=1:$_SESSION['acceso']=0;
|
|
in_array(6, $valores)?$_SESSION['consultac']=1:$_SESSION['consultac']=0;
|
|
in_array(7, $valores)?$_SESSION['consultav']=1:$_SESSION['consultav']=0;
|
|
|
|
}
|
|
echo json_encode($fetch);
|
|
|
|
|
|
break;
|
|
case 'salir':
|
|
//limpiamos la variables de la secion
|
|
session_unset();
|
|
|
|
//destruimos la sesion
|
|
session_destroy();
|
|
//redireccionamos al login
|
|
header("Location: ../index.php");
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
?>
|