<?php
//Incluir la conexion a la base de datos
require("../../config/Conexion.php");

class Usuario 
{
    //Definicion de todas las variables
  //---------------//
    var $usuario;
    var $contra;
  //---------------//
    var $usuarios;
    var $nombre;
    var $apellido;
    var $password;
    var $status;
    var $id_usuario;
    var $password_actual;
  //---------------//

    //constructor
    public function __construct(){
    }

//--------------------------------------------------------------------------------//

    //metodo para validar la existencia del usuario
    public function validarUsuario($usuarios)
    {
        
            $q2="SELECT COUNT(*) FROM usuario WHERE usuario = '$usuarios' LIMIT 1";

            //die($q2); 
            $rspta2 = ejecutarConsulta($q2);//Ejecutar consulta 2
            $num_rows2 = mysqli_fetch_row($rspta2)[0];

            if ($num_rows2 > 0) {
                return "existe_usuario"; // cedula existe en la tabla puser_usuarios
            }else{
                return "no_existe_usuario"; //cedula no existe en puser_usuarios
            }

        
    }

//--------------------------------------------------------------------------------//

    //metodo para guardar registros
    public function guardar($usuarios,$nombre, $apellido, $correo, $passwordMD5, $telefono, $tipo_usuario)
    {
       $q="INSERT INTO usuario (usuario,clave,nombre,apellido,correo,telefono,id_tipo) 
       VALUES ('$usuarios', '$passwordMD5', '$nombre', '$apellido', '$correo', '$telefono','$tipo_usuario')";

       //die($q);
       $rspta = ejecutarConsulta($q);//Ejecutar consulta
       return $rspta; 
    }

//--------------------------------------------------------------------------------//

    //metodo para mostrar registros que se van a editar
   public function mostrar($id_usuario)
    {
        $q = "SELECT A.id, A.nombre,A.apellido,A.usuario, A.correo,A.telefono, A.id_tipo, A.status
              FROM usuario A INNER JOIN tipo_usuario B ON A.id_tipo = B.id WHERE A.id = '$id_usuario'";

        //die($q);
        return ejecutarConsultaSimpleFila($q);//Ejecutar consulta simple
        return $rspta; 
    }

//--------------------------------------------------------------------------------//

    //metodo para editar registros
    public function editar($id_usuario,$usuarios,$nombre, $apellido, $correo, $password, $telefono, $tipo_usuario,$status)
    {

    $q = "UPDATE usuario SET
       status = '$status',
       nombre = '$nombre',
       apellido = '$apellido',
       usuario = '$usuarios'";

    //verificar si se ha ingresado una nueva contraseña para agregarla a la consulta, si no, obviarla
    if (!empty($password)) {
        $q .= ", clave = '$password'";
    }

    $q .= ", correo = '$correo',
       telefono = '$telefono',
       id_tipo = '$tipo_usuario'
       WHERE id = '$id_usuario'";

       //die($q);
       $rspta = ejecutarConsulta($q);//Ejecutar consulta
       return $rspta;
    }

//--------------------------------------------------------------------------------//

    //metodo para eliminar registros
    public function eliminar($id_usuario)
    {
        $q="UPDATE usuario SET
        status = 0
        WHERE id = '$id_usuario'";

        //die($q);
        $rspta = ejecutarConsulta($q);//Ejecutar consulta
        return $rspta;
    }

//--------------------------------------------------------------------------------//

    //metodo para listar los registros 
    public function listar(){

        $q = "SELECT A.id, A.nombre,A.apellido,A.usuario, A.correo,A.telefono, A.status,B.descripcion AS tipo_usuario
              FROM usuario A INNER JOIN tipo_usuario B ON A.id_tipo = B.id";
       //die($q);
       $rspta = ejecutarConsulta($q);//Ejecutar consulta
       return $rspta; 
    }

//--------------------------------------------------------------------------------//

public function cambio_clave($id_usuario, $login, $password_actual, $passwordMD5)
    {

    // Verificar el usuario y la contraseña actual
$qVerificar = "SELECT COUNT(*) AS total FROM usuario WHERE id = '$id_usuario' AND usuario = '$login' AND clave = '$password_actual'";
$resultado = ejecutarConsulta($qVerificar); // Ejecutar la consulta de verificación

// Obtener el valor del conteo de filas
if ($resultado) {
    $fila = $resultado->fetch_assoc(); // Obtener la fila del resultado
    $count = $fila['total']; // Extraer el valor del conteo

    // Si el conteo es 1, significa que el usuario y la contraseña son correctos
    if ($count == 1) {
        $q = "UPDATE usuario SET clave = '$passwordMD5' WHERE id = '$id_usuario'";
        $rspta = ejecutarConsulta($q); // Ejecutar consulta para actualizar la contraseña
        return $rspta;
    } else {
        return "Clave Actual Incorrecta"; // Mensaje de error
    }
} else {
    return "Error en la consulta."; // Mensaje de error en la consulta
}
}



}//Fin de la clase

?>