<?php
    class Permisos {
        private $con;
        private $codigo_vehiculo;
        private $int = "#*INT$";
        private $grupo;
        private $usuario_session;
        private $accion;

        public function __construct($con) {
            $this->con = $con;
        }

        //1.Codigo del vehiculo, 2.Grupo de usuarios, 3.Usuario conectado
        public function permisos($codigo_vehiculo, $grupo, $usuario_session) {
            //1 = TOTAL
            //2 = ESCRITURA
            //3 = LECTURA

            $this->codigo_vehiculo = $codigo_vehiculo;
            $this->grupo = $grupo;
            $this->usuario_session = $usuario_session;

            $sql = "SELECT V.*, S.ACCESO
            FROM VEHICULOS_STOCKS S
            INNER JOIN VEHICULOS V ON S.CODIGO = V.STOCK AND V.CODIGO = " . $this->codigo_vehiculo . "
            WHERE (S.ACCESO = '' OR S.ACCESO IS NULL OR S.ACCESO LIKE '%" . $this->int . "%' OR S.ACCESO LIKE '%#" . $this->grupo . "$%' OR S.ACCESO LIKE '%#" . $this->usuario_session . "$%')";
            $res = $this->con->query($sql);
            if($res->num_rows) {
                return TRUE;
            } else {
                return FALSE;
            }
        }

        public function permisosACC($accion, $cod_perfil) {
            $Schema = new Schema($this->con);
            $this->accion = $accion;
            //$this->codigo_contacto = $cod_perfil;// SE CAMBIO POR EL PERFIL, PUEDE DAR PROBLEMAS. Creo que no se utiliza - MANU 11/12/2020
            $res = $Schema->executeQuery('SELECT USUARIO FROM VEHICULOS_PERMISOS WHERE ACCION = ? AND CODIGO = ?', 'ii', [$accion, $cod_perfil]);
            return !empty($res->num_rows);
        }

        public function rol($grupo) {
            $Schema = new Schema($this->con);
            $this->grupo = $grupo;
            $row = $Schema->executeQuery('SELECT IVO_ROL FROM USUARIOS_GRUPOS WHERE CODIGO = ?', 'i', [$this->grupo])->fetch_assoc();
            return (int)$row['IVO_ROL'];
        }
    }
