<?php 
// Create connection
//$conn = new mysqli("localhost", "root", "","prestigevillas_new");
$conn = new mysqli("localhost", "prestige_ci_2", "jVcNW17t","prestige_prestigevillas_new");
// Check connection
if ($conn->connect_error) {
    escribirError("Error en la conexión con la base de datos: " . $conn->connect_error);
    die("Connection failed: <br>" . $conn->connect_error);
}

    function download_page($path) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $path);
        curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 15000);
        $retValue = curl_exec($ch);
        curl_close($ch);
        return $retValue;
    }
  function loadxml($url) {



        $data = download_page($url);
        $xml = new SimpleXMLElement($data);
        return $xml;
    }

function import_availability_llafranc($conn) {



        $url_xml = "http://ws.llvillas.com/Occupation.aspx";
        // $xml = simplexml_load_file($url_xml, 'SimpleXMLElement', LIBXML_NOCDATA);
        $xml = loadxml($url_xml);
        //$this->print_array($xml);
        $ranges = $xml->FacilityOccupation;

        

        for ($x = 0; $x < count($ranges); $x++) {
            $id = (string) $ranges[$x]->attributes()["facility_id"];
            $dates = $ranges[$x]->occupations->Occupation;
            for ($s = 0; $s < count($dates); $s++) {
                $fecha1 = (string) $dates[$s]->InitDate;
                $fecha2 = (string) $dates[$s]->FinalDate;
                $array[$id][$s] = array("fecha1" => $fecha1, "fecha2" => $fecha2);
            }
        }
        $data_array = json_encode($array);


 
         $query = "UPDATE tbl_availability SET xml ='".$data_array."', date_update = '".date("Y-m-d")."' WHERE av_agency='Llafranc';";
           // $conn->query($query);
            if (!$resultado = $conn->query($query)) {
    // ¡Oh, no! La consulta falló. 
    echo "Lo sentimos, este sitio web está experimentando problemas.";

    // De nuevo, no hacer esto en un sitio público, aunque nosotros mostraremos
    // cómo obtener información del error
    echo "Error: La ejecución de la consulta falló debido a: \n";
    echo "Query: " . $query . "\n";
    echo "Errno: " . $conn->errno . "\n";
    echo "Error: " . $conn->error . "\n";
    exit;
}

    }


    function import_availability_portvil($conn) {

        $user = "mallorca@prestigevillasspain.com";
        $password = "cHJlc3RpZ2U";
        $id_agencia = "201";
        $peticion = "IrqAvailability";

        $url = "http://www.portvil.com/interface/xml.php?us=" . $user . "&pw=" . $password . "=&id_agencia=" . $id_agencia . "&peticion=" . $peticion;
        $year = date("Y");
        if (date("m") >= "10") {


            $fecha = date('Y');
            $nuevafecha = strtotime('+1 year', strtotime($fecha));
            $year = date('Y', $nuevafecha);
        }



        $url .= "&year=" . $year;
        //echo $url ;
        // $xml = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);
        $xml = loadxml($url);
        $data = $xml->Hotel;
        for ($i = 0; $i < count($data); $i++) {

		            $id = (string) $data[$i]->attributes()["Id"];


		            $data1 = (string) $data[$i]->RoomType->Month1;
		            $data2 = (string) $data[$i]->RoomType->Month2;
		            $data3 = (string) $data[$i]->RoomType->Month3;
		            $data4 = (string) $data[$i]->RoomType->Month4;
		            $data5 = (string) $data[$i]->RoomType->Month5;
		            $data6 = (string) $data[$i]->RoomType->Month6;
		            $data7 = (string) $data[$i]->RoomType->Month7;
		            $data8 = (string) $data[$i]->RoomType->Month8;
		            $data9 = (string) $data[$i]->RoomType->Month9;
		            $data10 = (string) $data[$i]->RoomType->Month10;
		            $data11 = (string) $data[$i]->RoomType->Month11;
		            $data12 = (string) $data[$i]->RoomType->Month12;


		            $array = array("data1" => $data1
		                , "data2" => $data2, "data3" => $data3, "data4" => $data4, "data5" => $data5
		                , "data6" => $data6, "data7" => $data7, "data8" => $data8, "data9" => $data9
		                , "data10" => $data10, "data11" => $data11, "data12" => $data12
		            );


		            $data_array = json_encode($array);

		          
		            
		    $query = "select *
		            from  tbl_availability 
		            where av_import_id = ".$id." and av_agency='portvil';";

		    $result = $conn->query($query);

		    if ($result->num_rows > 0) {
		    	 $query = "UPDATE tbl_availability SET xml ='".$data_array."', date_update = '".date("Y-m-d")."' WHERE av_agency='portvil' and av_import_id= ".$id.";";

		    	 $conn->query($query);
		    }else{
		    	$query = "insert into tbl_availability
		                        (xml,reference,av_agency,av_import_id,date_update)
		                        values('".$data_array."','portvil',".$id.",'".date("Y-m-d")."');";

		        $conn->query($query);
		    }

        }
        //$this->print_array($array);
    }

    import_availability_llafranc($conn);
    import_availability_portvil($conn);

?>