<?php
require_once 'db.php';

class Usuarios extends conn { 


//Metodo para mostrar todas los usuarios
public function getAllusuarios(){
$conn = parent::crearconn();

$sql = "SELECT  u.ID, u.Username, u.Correo, u.Fecha, p.descripcion as Perfil_User FROM usuario u 
inner join perfil_usuario p on u.ID_Perfil = p.ID WHERE Estado = 1"; 

$result = $conn->query($sql);
$usuarios = array();
if ($result->num_rows > 0) {
     while ($row = $result->fetch_assoc()) {
         $usuarios[] = $row;
       }   
    }   
    return $usuarios;
}   
//Metodo para mostrar todas los usuarios eliminados logicamente
public function getAllusuariosElim(){
$conn = parent::crearconn();

$sql = "SELECT  u.ID, u.Username, u.Correo, u.Fecha, p.descripcion as Perfil_User FROM usuario u 
inner join perfil_usuario p on u.ID_Perfil = p.ID WHERE Estado = 0"; 

$result = $conn->query($sql);
$usuarios = array();
if ($result->num_rows > 0) {
     while ($row = $result->fetch_assoc()) {
         $usuarios[] = $row;
       }   
    }   
    return $usuarios;
}   


//Metodo para eliminar un usuario logicamente
public function eliminarusuarios($ID){
$conn = parent::crearconn();

$ID = $conn->real_escape_string($ID);

$sql = "UPDATE `usuario` set `Estado` = '0' WHERE ID = '$ID'";
$resultado = $conn->query($sql);
return $resultado;
}

//Metodo para editar los usuarios
public function updateusuarios($ID,$Username,$Correo,$NewClave,$Perfil){ 
 $conn = parent::crearconn();

    $ID = $conn->real_escape_string($ID);
    $Username = $conn->real_escape_string($Username);
    $Correo = $conn->real_escape_string($Correo);

    // Encriptar la contraseña antes de almacenarla en la base de datos 
    $hashedPassword = !empty($NewClave) ? password_hash($NewClave, PASSWORD_DEFAULT) : '';

    $sql = "UPDATE usuario SET  Username = '$Username', Correo = '$Correo', ID_Perfil = '$Perfil'";
    
    if(!empty($hashedPassword)){
        $sql .= ", Clave = '$hashedPassword'";
    }
    
    $sql .= " WHERE ID = '$ID'";
    $resultado = $conn->query($sql);
}

//Metodo para restaurar un usuario
public function restauraruser($userId)
{
$conn = parent::crearconn();
$userId = $conn->real_escape_string($userId);
$sql = "UPDATE `usuario` set `Estado` = '1' WHERE ID = '$userId'";
$resultado = $conn->query($sql);
  return $resultado;

} 

}    
?>