<?php
//Incluimos conexion a la base de trader_cdlrisefall3methods
require "../config/Conexion.php";

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

  public function insertar($nombre,$idtipo_documento,$num_documento,$direccion,$telefono,$email,$cargo,$login,$clavehash,$imagen,$condicion,$permisos) {
    $sql = "INSERT INTO usuario(nombre,idtipo_documento,num_documento,direccion,telefono,email,cargo,login,clave,imagen,condicion) 
            VALUES ('$nombre','$idtipo_documento','$num_documento','$direccion','$telefono','$email','$cargo','$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,$cargo,$login,$clavehash,$imagen,$condicion,$permisos) {
    $sql = "UPDATE usuario SET 
            nombre = '$nombre', 
            idtipo_documento = '$idtipo_documento', 
            num_documento = '$num_documento', 
            direccion = '$direccion', 
            telefono = '$telefono', 
            email = '$email', 
            cargo = '$cargo', 
            login = '$login', 
            clave = '$clavehash', 
            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.cargo=c.idcargo WHERE u.condicion='1'";
      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);
   }

   public function selectUsuarioCuadrilla()
   {
     $sql="SELECT * FROM usuario WHERE cargo='4' and 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, u.estadocaja,j.idcaja,a.idalmacen 
          FROM usuario u 
          JOIN cargo c ON u.cargo=c.idcargo 
          LEFT JOIN caja j ON u.idusuario=j.idusuario 
          LEFT JOIN almacen a ON a.idusuario=u.idusuario
          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'";
     return ejecutarConsultaSimpleFila($sql);

   }

}