protected function startFlightSearch($from, $to, DateTime $depart_date, DateTime $return_date, $travelers, $cabin, $oneWay = 'y') { $c = curl_init(); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json')); curl_setopt($c, CURLOPT_FOLLOWLOCATION, TRUE); $uri = new Uri('http://www.kayak.com/s/apisearch'); $uri->setQuery(array('basicmode' => BASIC_MODE, 'oneway' => $oneWay, 'origin' => $from, 'destination' => $to, 'depart_date' => $depart_date->format("m/d/Y"))); if ($return_date != null) { $uri->appendQuery(array('$return_date' => $return_date->format("m/d/Y"))); } $uri->appendQuery(array('depart_time' => ANY_TIME)); if ($return_date != null) { $uri->appendQuery(array('return_time' => ANY_TIME)); } $uri->appendQuery(array('travelers' => $travelers, 'cabin' => $cabin, 'action' => ACTION, 'apimode' => APIMODE, "_sid_" => $this->getSessionId(), 'version' => VERSION)); curl_setopt($c, CURLOPT_URL, (string) $uri); $result = curl_exec($c); curl_close($c); return $result; }
private function searchDetails($reference) { // curl initialization $c = curl_init(); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json')); curl_setopt($c, CURLOPT_FOLLOWLOCATION, TRUE); $uri = new Uri('https://maps.googleapis.com/maps/api/place/details/json'); $uri->setQuery(array('reference' => $reference)); $uri->appendQuery(array('signature' => $this->getSignature($uri))); curl_setopt($c, CURLOPT_URL, (string) $uri); $result = curl_exec($c); curl_close($c); $json = json_decode($result); if ($json == FALSE || $json->status != 'OK') { throw new InvalidStateException('Malformed JSON response.'); } return $json; }