<?php
require_once "conexion.php";
class ModeloUsuario
{
  /* metodo de acceso al sistema */
  static public function mdlAccesoUsuario($usuario)
  {
    $stmt = Conexion::conectar()->prepare("select * from usuario where login_usuario='$usuario'");
    $stmt->execute();
    return $stmt->fetch();

    $stmt->close();
    $stmt->null;
  }

  static public function mdlInfoUsuarios()
  {
    $stmt = Conexion::conectar()->prepare("select * from usuario");
    $stmt->execute();

    return $stmt->fetchAll();

    $stmt->close();
    $stmt->null;
  }

  static public function mdlRegUsuario($data)
  {
    $loginUsuario = $data["loginUsuario"];
    $perfil = $data["perfil"];
    $nomUsuario = $data["nomUsuario"];
    $passUsuario = $data["passUsuario"];

    date_default_timezone_set("America/La_Paz");
    $fecha = date("Y-m-d");

    $stmt = Conexion::conectar()->prepare("insert into usuario(nombre, login_usuario, password, perfil) values('$nomUsuario','$loginUsuario','$passUsuario','$perfil')");

    if ($stmt->execute()) {
      return "ok";
    } else {
      return "error";
    }
    $stmt->close();
    $stmt->null;
  }

  static public function mdlInfoUsuario($id)
  {
    $stmt = Conexion::conectar()->prepare("select * from usuario where id_usuario=$id");
    $stmt->execute();
    return $stmt->fetch();
    $stmt->close();
    $stmt->null;
  }

  static public function mdlEditUsuario($data)
  {
    $idUsuario = $data["idUsuario"];
    $nomUsuario = $data["nomUsuario"];
    $passUsuario = $data["passUsuario"];
    $estadoUsuario = $data["estado"];
    $catUsuario = $data["perfil"];


    $stmt = Conexion::conectar()->prepare("update usuario set password='$passUsuario', nombre='$nomUsuario', perfil='$catUsuario', estado='$estadoUsuario' where id_usuario=$idUsuario");

    if ($stmt->execute()) {
      return "ok";
    } else {
      return "error";
    }

    $stmt->close();
    $stmt->null;
  }

  static public function mdlEliUsuario($id)
  {
    $stmt = Conexion::conectar()->prepare("delete from usuario where id_usuario=:id and estado=0");
    $stmt->bindParam(':id', $id, PDO::PARAM_INT); // Usar bindParam para mayor seguridad
    $stmt->execute();

    if ($stmt->rowCount() > 0) {
      return "ok";
    } else {
      return "error";
    }

    $stmt->close();
    $stmt->null;
  }

  static public function mdlCantidadUsuarios(){
    $stmt = Conexion::conectar()->prepare("select count(id_usuario) as usuarios from usuario");

    $stmt->execute();
    return $stmt->fetch();

    $stmt->close();
    $stmt->null;
  }
}
