public function search(TDispatch $td, $q = "", $limit = 10, $type = "") { $url2 = 'https://maps.googleapis.com/maps/api/geocode/json?address=' . $q . '&sensor=false'; $json = file_get_contents(str_replace(" ", "%20", $url2)); $obj = json_decode($json); $count = 0; $jsonNew = new stdClass(); $jsonNew->locations = array(); $jsonNew->status = $obj->status; foreach ($obj->results as $key) { if (++$count > 5) { break; } $jsonTemp = new stdClass(); $jsonTemp->address = $key->formatted_address; $jsonTemp->location = array('lat' => $key->geometry->location->lat, 'lng' => $key->geometry->location->lng); $jsonTemp->postcode = ""; array_push($jsonNew->locations, $jsonTemp); } $jsonss = json_encode($jsonNew); $res = $jsonNew; if (!isset($res->status) || $res->status !== 'OK') { $td->setError($res); return false; } return $res; }
public function vehicles_list(TDispatch $td, $limit = 4) { $data = array("access_token" => $td->getToken()); $url = $td->getFullApiUrl() . 'vehicletypes?' . http_build_query($data); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($ch); $res = json_decode($result, true); $info = curl_getinfo($ch); curl_close($ch); if (!isset($res['status']) || $res['status'] !== 'OK') { $td->setError($res); return false; } return array_slice($res['vehicle_types'], 0, $limit); }
public function nearby(TDispatch $td, $limit, $location, $radius, $offset) { $data = array("access_token" => $td->getToken()); $url = $td->getFullApiUrl() . 'drivers/nearby?' . http_build_query($data); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); $dataSend = array('limit' => $limit, 'location' => $location, 'radius' => $radius, 'offset' => $offset); curl_setopt($ch, CURLOPT_POST, count($dataSend)); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($dataSend)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($ch); $res = json_decode($result, true); $info = curl_getinfo($ch); curl_close($ch); if (!isset($res['status']) || $res['status'] !== 'OK') { $td->setError($res); return false; } return $res['drivers']; }
public function changePassword(TDispatch $td, $requestBody) { $data = array("key" => $td->getApiKey()); $url = $td->getFullApiUrl() . 'accounts/change-password?' . http_build_query($data); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, count($requestBody)); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($requestBody)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); if ($td->debug) { error_log(__FILE__ . ' in line ' . __LINE__); error_log(__CLASS__ . ' in method ' . __METHOD__); error_log("URL: " . $url); error_log("DATA BODY: " . json_encode($requestBody)); } $result = curl_exec($ch); $res = json_decode($result, true); $info = curl_getinfo($ch); curl_close($ch); if (!isset($res['status']) || $res['status'] !== 'OK') { $td->setError($res); return false; } return true; }
/** Obtain an Authorization Code from the API */ public function obtainAutorizationCode(TDispatch $td, $anonimously = true, $CLUsername = "", $CLPassword = "", $fbLogin = false) { //URL parameters data $buildparams = array("client_id" => $this->client_id, "response_type" => "code", "key" => $this->key, "scope" => ""); //For anonimously requests if ($anonimously) { $buildparams["grant_type"] = "anonymous"; $buildparams["response_format"] = "json"; $databody = json_encode(array()); } else { $buildparams["grant_type"] = "user"; $buildparams["response_format"] = "json"; $databody = json_encode(array("username" => $CLUsername, "password" => $CLPassword)); } //TD url $url = $this->url . "auth?" . http_build_query($buildparams); //Open connection $ch = curl_init(); //Set the url, Number of POST vars, POST data curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $databody); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //WRITE URL //Execute post $authrezult = curl_exec($ch); $info = curl_getinfo($ch); //Close connection curl_close($ch); $authcode = json_decode($authrezult, true); //New call for access_token if ($info["http_code"] == "200") { //Decode response if ($authcode['status'] === 'Failed') { $td->setError($authcode); return false; } else { //TD url $url = $this->url . "token"; //Access token parameters $data = array("code" => $authcode["auth_code"], "client_id" => $this->client_id, "client_secret" => $this->secret, "redirect_uri" => $this->callback_url, "grant_type" => "authorization_code"); //Open connection $token = curl_init(); //Set the url, Number of POST vars, POST data curl_setopt($token, CURLOPT_RETURNTRANSFER, true); curl_setopt($token, CURLOPT_URL, $url); curl_setopt($token, CURLOPT_POST, count($data)); curl_setopt($token, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($token, CURLOPT_SSL_VERIFYPEER, false); //Execute post $result = curl_exec($token); $info = curl_getinfo($token); //Close connection curl_close($token); $response = json_decode($result, true); //Check result if ($info["http_code"] == "200") { //Revoke anonimous first if (isset($_SESSION['TDISPATCH']['access']["anonimously"])) { $revoke = $this->revokeAuthorization(); if ($revoke["status_code"] == "200") { unset($_SESSION['TDISPATCH']['access']["anonimously"]); unset($_SESSION['TDISPATCH']['access']["refresh"]); if (isset($_SESSION['TDISPATCH']['access']) && count($_SESSION['TDISPATCH']['access']) == 0) { unset($_SESSION['TDISPATCH']['access']); } if (isset($_SESSION['TDISPATCH']) && count($_SESSION['TDISPATCH']) == 0) { unset($_SESSION['TDISPATCH']); } } } //Decode json response //Auth info if (!$anonimously) { $_SESSION['TDISPATCH']['access']["refresh"] = $response["refresh_token"]; $_SESSION['TDISPATCH']['access']["access_token"] = $response["access_token"]; } else { $_SESSION['TDISPATCH']['access']["anonimously"] = $response["access_token"]; $_SESSION['TDISPATCH']['access']["refresh"] = $response["refresh_token"]; } $this->access_token = $response["access_token"]; return true; } else { //Show error message $td->setError($response); return false; } } } else { //Show error message $td->setError($authcode); return false; } }
public function Bookings_customfields(TDispatch $td) { $data = array("access_token" => $td->getToken()); $url = $td->getFullApiUrl() . 'bookings/custom-fields?' . http_build_query($data); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($ch); $res = json_decode($result, true); $info = curl_getinfo($ch); curl_close($ch); if (!isset($res['status']) || $res['status'] !== 'OK') { $td->setError($res); return false; } return $res['custom_fields']; }