<?php 
defined('BASEPATH') OR exit('No direct script access allowed');
header('Access-Control-Allow-Origin: *');

class RolesHotel extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
    
        //cargar la base de datos
        $this->load->database();
        //parser de json y xml
        $this->load->library("parser");

        //$this->load->model('Sesion_Model');
        $this->load->library('form_validation');
        //$this->load->library("Form_validation");
        $this->load->helper("url");
        $this->load->helper('form');
        $this->load->helper('text');
        
        //Cargando los modelos para gestion de la data sistema pena
        $this->load->model('Roles_Model');
        $this->load->model('PerfilesHotel_Model');
    }
    
    //Listar PuntosControl
    public function listRolesHotel($offset = 0)
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        $this->load->model('RolesHotel_Model');
        $this->load->model('PerfilesHotel_Model');
        $this->load->model('Usuarios_Model');
        
        $dato = array('1','null','null','null'); 
        $rol = $this->RolesHotel_Model->getRolesHotelforParameter(null,null,$dato);

        $datop = array('1','null','null','null'); 
        $perfiles = $this->PerfilesHotel_Model->getPerfilesHotelforParameter(null,null,$datop);

        $datou = array('1', 'null','null', 'null', 'null', 'null', 'null');
		$usuario =  $this->Usuarios_Model->getUsuarioforParameter(null,null,$datou);	
       
		//Enviar Arreglo
        $data['rol']      = $rol;
        $data['perfiles'] = $perfiles;
        $data['usuario']  = $usuario;

		//Cargar los permisos
        $this->load->model('Security_Model');
        $profile = $this->session->userdata('profile');
        $modulo  = "all";
        $datos   = array('1', $profile, $modulo); 
		$permiso = $this->Security_Model->getAllSecurityProfile($datos);
        $data['permisos'] = $permiso;
    
		$this->load->view('admin/RolesHotel/list', $data);
    }     
    
    public function insertRoles()
    {     
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        } 

        date_default_timezone_set("America/Bogota");
        setlocale(LC_ALL,"es_CO");

        $meses = array("01","02","03","04","05","06","07","08","09","10","11","12");
        $Date = (date('Y')."-".$meses[date('n')-1]."-".date('d'));  
        $Time = (date('H').":".date('i').":".date('s')); 

		//Cargar Modal
        $this->load->model('Roles_Model');
        $this->load->model('Bitacora_Model');

        //Solo los datos validos  
		$Rol       = $this->input->post('Rol')==''?false:$this->input->post('Rol');
		$IdPerfil  = $this->input->post('IdPerfil')==''?false:$this->input->post('IdPerfil');
		$IdUsuario = $this->input->post('IdUsuario')==''?false:$this->input->post('IdUsuario');
		
		$IdUsuario = $this->session->userdata('iduser');

		//Armar Arreglo
		$data = array(
            'IdPerfil'  => $IdPerfil, 
			'IdUsuario' => $IdUsuario,
			'Nombre'    => $Rol);
        
        $datob = array( 'IdEvento ' => '12', 
                        'Fecha'     => $Date,
                        'Hora'      => $Time, 
                        'IdUsuario' => $IdUsuario);
		 
		$this->Roles_Model->saveRoles($data);
        $this->Bitacora_Model->saveBitacora($datob);
		print_r('ok'); 

		
    }

    public function updateRoles()
    {     
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        } 

        date_default_timezone_set("America/Bogota");
        setlocale(LC_ALL,"es_CO");

        $meses = array("01","02","03","04","05","06","07","08","09","10","11","12");
        $Date = (date('Y')."-".$meses[date('n')-1]."-".date('d'));  
        $Time = (date('H').":".date('i').":".date('s')); 
        
        //Cargar Modal
        $this->load->model('Roles_Model');
        $this->load->model('Bitacora_Model');
        
        //Solo los datos validos  
		$IdRol    = $this->input->post('IdRol')==''?null:$this->input->post('IdRol');
		$Rol      = $this->input->post('Rol')==''?null:$this->input->post('Rol');
		$IdPerfil = $this->input->post('IdPerfil')==''?null:$this->input->post('IdPerfil');
		$IdUsu    = $this->input->post('IdUsu')==''?null:$this->input->post('IdUsu');
		
		$IdUsuario      = $this->session->userdata('iduser');

		//Armar Arreglo
		$data = array(
            'IdRol'     => $IdRol, 
            'IdPerfil'  => $IdPerfil, 
			'IdUsuario' => $IdUsu, 
			'Nombre'    => $Rol);

        $datob = array( 'IdEvento ' => '13', 
                        'Fecha'     => $Date,
                        'Hora'      => $Time, 
                        'IdUsuario' => $IdUsuario);

		
        //validar si existe el registro en la base de datos
        $resultado=$this->Roles_Model->updateRoles($data);
                
        if($resultado)
        {   
            $this->Bitacora_Model->saveBitacora($datob);
            print_r(json_encode(array("res"=>"ok","msg"=>"Rol actualizado satisfactoriamente")));
             
        }else{
            
            print_r(json_encode(array("res"=>"bad","msg"=>"Rol no existe")));
             
        }
            
    }

    public function searchRolesHotel()
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        $this->load->model('Roles_Model');
        
        //capturar datos
        $IdRol = $this->input->post('IdRol')==''?'null':$this->input->post('IdRol');
        
        //arreglo
        $dato = array('2',$IdRol,'null','null'); 
        $query = $this->Roles_Model->getRolesHotelforParameter(null,null,$dato);
        //retornar los valores
        echo json_encode($query);
        
    }

}
