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

class WebMincit_Model extends CI_Model
{
    //Constructor 
    function __construct()
    {
        parent::__construct();
        //$this->load->library('encryption');
    }

	//Generar token para Requisiciones
    public function generarToken($url){

        // Inicia una nueva sesion URL
        $curl = curl_init($url);

        //Configura una opcion para una transferecia URL
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        
        $headers = array(
           "Content-Type: application/json",
        );
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        
        $data = <<<DATA
        {
            "Contraseña":"WS123456",
            "Usuario":"ConsultasWS"
        }
        DATA;
        
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

        $resp = json_decode(curl_exec($curl), true);
        $token =$resp['Token']['token'] ;

        curl_close($curl);

        return $token;

    }             
     
	//Crear Huesped Principal
    public function saveWSReporte($datarp)
	{
		//Inicio transaccion    
        $this->db->trans_begin();

		//recorrer el data.
        $NomHotel       = $datarp['NomHotel'];
        $NitHotel       = $datarp['NitHotel'];
        $RntHotel       = $datarp['RntHotel'];
        $Identificacion = $datarp['Identificacion'];
        $TipoDoc        = $datarp['TipoDoc'];
        $Nombres        = $datarp['Nombres'];
        $Apellidos      = $datarp['Apellidos'];
        $FechaNac       = $datarp['FechaNac'];
        $LugarNac       = $datarp['LugarNac'];
        $Genero         = $datarp['Genero'];
        $Nacionalidad   = $datarp['Nacionalidad'];
        $NomHabitacion  = $datarp['NomHabitacion'];           
        $Motivo         = $datarp['Motivo'];
        $Ocupacion      = $datarp['Ocupacion'];
        $Ciudad_Res     = $datarp['Ciudad_Res'];
		$Dpto_Res       = $datarp['Dpto_Res'];
		$Pais_Res       = $datarp['Pais_Res'];
        $Ciudad_Pro     = $datarp['Ciudad_Pro'];
        $Dpto_Pro       = $datarp['Dpto_Pro'];
        $Pais_Pro       = $datarp['Pais_Pro'];
        $FechaIni       = $datarp['FechaIni'];
        $FechaFin       = $datarp['FechaFin'];
        $ValorReserva   = $datarp['ValorReserva'];
        $Acompanantes   = $datarp['Acompanantes'];
        $MedioPago      = $datarp['MedioPago'];
        $MedioReserva   = $datarp['MedioReserva'];
        $Acomodacion    = $datarp['Acomodacion'];
        $NumHabitacion  = $datarp['NumHabitacion'];

		//generar token de acceso a la webservice
        //$token = $this->generarToken(APP_URLSERVICE."GenerarToken");
		
		//webservice para crear la orden de mudanza
        // $url ="https://traapi.mincit.gov.co/api/"; url anterior
        $url ="https://pms.mincit.gov.co/one/";

        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

        $headers = array(
            // "Authorization: token BXsbDvGAMYWdAahbWmXjSxVxVi3TR8O70plYhU6M",
            "Authorization: token 2b8ySv7SMuQ0iWS6SeREoBU9l4RsHyiNciPLZn2R",
            "Content-Type: application/json",
        );
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

        // ============== DATA ANTERIOR ==================== 
        // $data = <<<DATA
        // {
        //     "nombre_establecimiento":"$NomHotel",
        //     "nit_establecimiento":"$NitHotel",
        //     "rnt_establecimiento":"$RntHotel",
        //     "numero_identificacion":"$Identificacion",
        //     "tipo_identificacion":"$TipoDoc",
        //     "nombres":"$Nombres",
        //     "apellidos":"$Apellidos", 
        //     "lugar_nacimiento":"$LugarNac",
        //     "fecha_nacimiento":"$FechaNac", 
        //     "genero":"$Genero",
        //     "nacionalidad":"$Nacionalidad",
        //     "n_habitaciones":"$NomHabitacion", 
        //     "motivo":"$Motivo",
        //     "ocupacion":"$Ocupacion", 
        //     "pais_residencia":"$Pais_Res",
        //     "departamento_residencia":"$Dpto_Res",
        //     "cuidad_residencia":"$Ciudad_Res",
        //     "pais_procedencia":"$Pais_Pro",
        //     "departamento_procedencia":"$Dpto_Pro",
        //     "cuidad_procedencia":"$Ciudad_Pro",
        //     "check_in":"$FechaIni",
        //     "check_out":"$FechaFin",
        //     "costo":"$ValorReserva",
        //     "numero_acompanantes":"$Acompanantes", 
        //     "medio_pago":"$MedioPago",
        //     "medio_reserva":"$MedioReserva",
        //     "tipo_acomodacion":"$Acomodacion",
        //     "numero_habitacion":"$NumHabitacion"
        // }
        // DATA;

        $data = <<<DATA
        {
            "tipo_identificacion":"$TipoDoc",
            "numero_identificacion":"$Identificacion",
            "nombres":"$Nombres",
            "apellidos":"$Apellidos", 
            "cuidad_residencia":"$Ciudad_Res",
            "cuidad_procedencia":"$Ciudad_Pro",
            "numero_habitacion":"$NumHabitacion",
            "motivo":"$Motivo",
            "numero_acompanantes":"$Acompanantes", 
            "check_in":"$FechaIni",
            "check_out":"$FechaFin",
            "tipo_acomodacion":"$Acomodacion",
            "costo":"$ValorReserva",
            "nombre_establecimiento":"$NomHotel",
            "rnt_establecimiento":"$RntHotel"
        }
        DATA;
        // print_r($data); die();

        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        
        //for debug only!
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

        $resp = curl_exec($curl);
        $data = $resp;
    
        curl_close($curl);
        return $data;
	}

	//Crear Huesped Acompanante
    public function saveWSAcompanante($dataac, $Acompanantes)
	{
		//Inicio transaccion    
        $this->db->trans_begin();

		//recorrer el data.
        $Padre          = $dataac['Padre'];
        $NomHotel       = $dataac['NomHotel'];
        $NitHotel       = $dataac['NitHotel'];
        $RntHotel       = $dataac['RntHotel'];
        $FechaIni       = $dataac['FechaIni'];
        $FechaFin       = $dataac['FechaFin'];
        $NumHabitacion  = $dataac['NumHabitacion'];

		//generar token de acceso a la webservice
        //$token = $this->generarToken(APP_URLSERVICE."GenerarToken");
	
		foreach($Acompanantes as $k1)
		{
			$Nom    = $k1['Nombres']; 
			$Ape    = $k1['Apellidos'];
			$Ident  = $k1['Identificacion'];
			$FechaN = $k1['FechaNac'];
			$LugarN = $k1['CiudadNac'];
			$Gen    = $k1['Genero'];
			$Ocu    = $k1['Ocupacion'];
			$NDoc   = $k1['NomDoc'];
			$NPais  = $k1['NomPais'];
			$CRes   = $k1['CiudadRes'];
			$DRes   = $k1['DptoRes'];
			$PRes   = $k1['PaisRes'];
			$CPro   = $k1['CiudadPro'];
			$DPro   = $k1['DptoPro'];
			$PPro   = $k1['PaisPro'];
			
			//webservice para crear acompañantes
			//$url ="https://traapi.mincit.gov.co/apitwo/";
			$url ="https://pms.mincit.gov.co/two/";

			$curl = curl_init($url);
			curl_setopt($curl, CURLOPT_URL, $url);
			curl_setopt($curl, CURLOPT_POST, true);
			curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

			$headers = array(
				// "Authorization: token BXsbDvGAMYWdAahbWmXjSxVxVi3TR8O70plYhU6M",
				"Authorization: token 2b8ySv7SMuQ0iWS6SeREoBU9l4RsHyiNciPLZn2R",
                "Content-Type: application/json",
			);
			curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

            $data = <<<DATA
            {
                "tipo_identificacion":"$NDoc",
                "numero_identificacion":"$Ident",
                "nombres":"$Nom",
                "apellidos":"$Ape", 
                "cuidad_residencia":"$CRes",
                "cuidad_procedencia":"$CPro",
                "numero_habitacion":"$NumHabitacion",
                "check_in":"$FechaIni",
                "check_out":"$FechaFin",
                "padre":"$Padre"
            }
            DATA;
			
			curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

			//for debug only!
			curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
			curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
			
			$resp = curl_exec($curl);
			$data = $resp;
			curl_close($curl);
			
		}
		
		return $data;
	}

}

// $data = <<<DATA
            // {
            //     "numero_identificacion":"$Ident",
            //     "tipo_identificacion":"$NDoc",
            //     "nombres":"$Nom",
            //     "apellidos":"$Ape", 
            //     "lugar_nacimiento":"$LugarN",
            //     "fecha_nacimiento":"$FechaN", 
            //     "genero":"$Gen",
            //     "nacionalidad":"$NPais",
            //     "ocupacion":"$Ocu", 
            //     "pais_residencia":"$PRes",
            //     "departamento_residencia":"$DRes",
            //     "cuidad_residencia":"$CRes",
            //     "pais_procedencia":"$PPro",
            //     "departamento_procedencia":"$DPro",
            //     "cuidad_procedencia":"$CPro",
            //     "check_in":"$FechaIni",
            //     "check_out":"$FechaFin",
            //     "numero_habitacion":"$NumHabitacion",
            //     "padre":"$Padre"
            // }
            // DATA;

?>