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

class PerfilesHotel 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('PerfilesHotel_Model');
        
    }

    //Listar Bitacora
    public function listPerfilesHotel($offset = 0)
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }
        
        $this->load->model('PerfilesHotel_Model');
        
         //Armando el arreglo del dato
		$dato = array('1','null','null'); 
        $perfiles = $this->PerfilesHotel_Model->getPerfilesHotelforParameter(null,null,$dato);
        
		//Enviar Arreglo
        $data['perfiles'] = $perfiles;

		//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/PerfilesHotel/list', $data);
    }

	//Buscar perfil por Id
    public function searchPerfilesHotel ()
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

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

    //Buscar perfil por nombre
    public function searchPerfilesHotelNombre ()
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        $this->load->model('PerfilesHotel_Model');
        
        //capturar datos
        $Opcion = $this->input->post('Opcion')==''?'null':$this->input->post('Opcion');
        $Nombre = "'".strval($this->input->post('NombrePerfil')==''?'null':$this->input->post('NombrePerfil'))."'";
        
        //arreglo
        $dato = array($Opcion,'null',$Nombre); 
        $query = $this->PerfilesHotel_Model->getPerfilesHotelforParameter(null,null,$dato);
        //retornar los valores
        echo json_encode($query);
        
    }

	//Crear perfil
    public function insertPerfil()
    {     
        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('PerfilesHotel_Model');
        $this->load->model('Bitacora_Model');

        //Solo los datos validos  
		$Opcion      = $this->input->post('Opcion')==''?false:$this->input->post('Opcion');
		$Nombre      = "'".strval($this->input->post('Nombre')==''?false:$this->input->post('Nombre'))."'";
		$Descripcion = "'".strval($this->input->post('Descripcion')==''?false:$this->input->post('Descripcion'))."'";
		$IdEstado    = $this->input->post('IdEstado')==''?false:$this->input->post('IdEstado');
		$Clase       = "'".strval($this->input->post('Clase')==''?null:$this->input->post('Clase'))."'";
		
		$IdUsuario = $this->session->userdata('iduser');

		//Armar Arreglo
		$data = array(
            'Opcion'      => $Opcion,
            'Nombre'      => $Nombre, 
			'IdEstado'    => $IdEstado,
			'Descripcion' => $Descripcion,
            'Clase'       => $Clase);

        $datob = array( 'IdEvento ' => '10', 
                        'Fecha'     => $Date,
                        'Hora'      => $Time, 
                        'IdUsuario' => $IdUsuario);
        
		$this->PerfilesHotel_Model->savePerfiles($data);
        $this->Bitacora_Model->saveBitacora($datob);
		print_r('ok'); 	
    }

	//Actualizar Perfil
    public function updatePerfil()
    {     
        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('PerfilesHotel_Model');
        $this->load->model('Bitacora_Model');
        
        //Solo los datos validos  
        $Opcion      = $this->input->post('Opcion')==''?false:$this->input->post('Opcion');
        $IdPerfil    = $this->input->post('IdPerfil')==''?false:$this->input->post('IdPerfil');
		$Nombre      = "'".strval($this->input->post('Nombre')==''?false:$this->input->post('Nombre'))."'";
		$Descripcion = "'".strval($this->input->post('Descripcion')==''?false:$this->input->post('Descripcion'))."'";
		$IdEstado    = $this->input->post('IdEstado')==''?false:$this->input->post('IdEstado');
		$Clase       = "'".strval($this->input->post('Clase')==''?null:$this->input->post('Clase'))."'";
		
		$IdUsuario      = $this->session->userdata('iduser');

		//Armar Arreglo
		$data = array(
            'IdPerfil'    => $IdPerfil, 
            'Nombre'      => $Nombre, 
			'Descripcion' => $Descripcion, 
			'IdEstado'    => $IdEstado,
            'Clase'       => $Clase   
        );
		
        $datob = array( 'IdEvento ' => '11', 
                        'Fecha'     => $Date,
                        'Hora'      => $Time, 
                        'IdUsuario' => $IdUsuario);
		
        //validar si existe el registro en la base de datos
        $resultado=$this->PerfilesHotel_Model->updatePerfiles($data);
                
        if($resultado)
        {   
            $this->Bitacora_Model->saveBitacora($datob);
            print_r(json_encode(array("res"=>"ok","msg"=>"Perfil actualizado satisfactoriamente")));
             
        }else{
            
            print_r(json_encode(array("res"=>"bad","msg"=>"Perfil no existe")));
             
        }
            
    }
}
