<?php
//Incluimos conexion a la base de trader_cdlrisefall3methods
date_default_timezone_set('America/Lima');
require "../config/Conexion.php";

Class Usuario
{
  //Implementando nuestro constructor
  public function __construct()
  {
  }

  public function insertar($nombre,$idtipo_documento,$num_documento,$direccion,$telefono,$email,$idcargo,$login,$clavehash,$imagen,$condicion,$permisos) {
    $sql = "INSERT INTO usuario(nombre,idtipo_documento,num_documento,direccion,telefono,email,idcargo,login,clave,imagen,condicion) 
            VALUES ('$nombre','$idtipo_documento','$num_documento','$direccion','$telefono','$email','$idcargo','$login','$clavehash','$imagen','$condicion')";
    $idusuarionew=ejecutarConsulta_retornarID($sql);

      $num_elementos=0;
      $sw=true;

      while($num_elementos < count($permisos) )
      {
        $sql_detalle="INSERT INTO usuario_permiso(idusuario,idpermiso) VALUES('$idusuarionew','$permisos[$num_elementos]')";
        ejecutarConsulta($sql_detalle) or $sw=false;
        $num_elementos=$num_elementos+1;
      }
      return $sw;
}

// Método para editar
public function editar($idusuario,$nombre,$idtipo_documento,$num_documento,$direccion,$telefono,$email,$idcargo,$login,$clavehash,$imagen,$condicion,$permisos) {
    $estado_pedido = !empty($estado_pedido) ? intval($estado_pedido) : '0';
    //$clavehash = !empty($clavehash) ? intval($clavehash) : '0';

    if($clavehash > 0) {
      $sql = "UPDATE usuario SET 
                  nombre = '$nombre', 
                  idtipo_documento = '$idtipo_documento', 
                  num_documento = '$num_documento', 
                  direccion = '$direccion', 
                  telefono = '$telefono', 
                  email = '$email', 
                  idcargo = '$idcargo', 
                  login = '$login', 
                  clave = '$clavehash', 
                  imagen = '$imagen',
                  condicion='$condicion'
                  WHERE idusuario = '$idusuario'";
          ejecutarConsulta($sql);
     }else{
         $sql = "UPDATE usuario SET 
                  nombre = '$nombre', 
                  idtipo_documento = '$idtipo_documento', 
                  num_documento = '$num_documento', 
                  direccion = '$direccion', 
                  telefono = '$telefono', 
                  email = '$email', 
                  idcargo = '$idcargo', 
                  login = '$login', 
                  imagen = '$imagen',
                  condicion='$condicion'
                  WHERE idusuario = '$idusuario'";
                ejecutarConsulta($sql);
     }
   
   

      $sqldel="DELETE FROM usuario_permiso WHERE idusuario='$idusuario'";
		  ejecutarConsulta($sqldel);

      $num_elementos=0;
      $sw=true;

      while ($num_elementos < count($permisos))
      {
        $sql_detalle = "INSERT INTO usuario_permiso(idusuario, idpermiso) VALUES('$idusuario', '$permisos[$num_elementos]')";
        ejecutarConsulta($sql_detalle) or $sw = false;
        $num_elementos=$num_elementos+1;
      }

      return $sw;
}

    public function listarusuario()
    {
      $sql="SELECT u.idusuario,u.nombre,u.num_documento,u.direccion,u.telefono,u.email,u.imagen,u.condicion,t.nombre as documento,u.login,c.nombre as nombrecargo
            FROM usuario u 
            join tipo_documento t on u.idtipo_documento=t.idtipo_documento 
            join cargo c on u.idcargo=c.idcargo";
      return ejecutarConsulta($sql);

    }
   //implementar un metodo para listar los permisos marcados
   public function listarmarcados($idusuario)
   {
     $sql="SELECT * FROM usuario_permiso where idusuario='$idusuario'";
     return ejecutarConsulta($sql);
   }

   public function listarpermiso()
   {
     $sql="SELECT * FROM permiso ";
     return ejecutarConsulta($sql);
   }

   public function selectCargo()
   {
     $sql="SELECT * FROM cargo";
     return ejecutarConsulta($sql);
   }

   public function selectTecnico()
   {
     $sql="SELECT * FROM usuario WHERE cargo='4' and condicion='1'";
     return ejecutarConsulta($sql);
   }

   public function selectUsuario()
   {
     $sql="SELECT * FROM usuario WHERE  condicion='1'";
     return ejecutarConsulta($sql);
   }

   //Funcion para verificar el acceso al sistema
   public function verificar($logina,$clavehash)
   {
     $sql="SELECT u.idusuario, u.nombre, u.idtipo_documento,u.num_documento,u.telefono, u.email, c.nombre as nombrecargo, 
                 u.imagen, u.login 
          FROM usuario u 
          JOIN cargo c ON u.idcargo=c.idcargo 
          WHERE u.login='$logina' and u.clave='$clavehash' and u.condicion='1'";
     return ejecutarConsulta($sql);

   }

   public function mostrar($idusuario)
   {
     $sql="SELECT * FROM usuario WHERE idusuario='$idusuario' and condicion='1'";
     return ejecutarConsultaSimpleFila($sql);

   }

}