/home/desid573/public_html
Edit: /home/desid573/public_html/new_spatula_job.php (24849B)
connect_error);
$qcon=mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$result = mysqli_query($conn, "SELECT * FROM jobs WHERE reference = '".$_REQUEST['ref']."'");
if(!$result) {
error_log($conn->error);
}
while($row = mysqli_fetch_assoc($result)) {
$quote = $row['job_quote'];
$quote_km = $row['quote_km'];
$quote_time = $row['quote_time'];
$tokencustomerid = $row['token'];
$name = $row['job_name'];
$email = $row['job_email'];
$pickup = $row['job_pickup'];
$dropoff = $row['job_dropoff'];
$pickCoords = checkLocalCoords($pickup);
error_log(json_encode($pickCoords, true));
if($pickCoords == false) {
$pickplace = getplaceid($pickup);
if($pickplace) {
$pickCoords = getCoords($pickplace, $pickup);
}
}
$dropCoords = checkLocalCoords($dropoff);
if($dropCoords == false) {
$dropplace = getplaceid($dropoff);
if($dropplace) {
$dropCoords = getCoords($dropplace, $dropoff);
}
}
$ref = $row['reference'];
$code = "DD";
$mins_to = "";
$flightNum = "";
$phone = $row['job_phone'];
$token = $row['token'];
if($token == "" && $_GET['token'] != ""){
$token = $_GET['token'];
}
$xero = $row['xero_inv'];
$spatula_id = $row['spat_ref'];
date_default_timezone_set("Australia/Perth");
$d = date_create_from_format("jS M, Y", $row["job_date"]);
$date24 = date_format($d, "Y-m-d");
$time24 = date("G:i", strtotime($row["job_time"]));
$timeUTC = date("c", strtotime("$date24 $time24"));
$timestamp = strtotime("$date24 $time24") * 1000;
if($pickCoords && $dropCoords) {
$paymentlink = shortenLink($ref, $type, "payment");
$post = '[{"name": "DD ' . $name . '", "campaign": {"id": 5623765662}, "contact": {"name": "' . $name . '","phone": "' . $phone . '"},"tasks": [{"timeframe":{"by": '.$timestamp.'}, "zone": {"name": "' . $pickup . '","address": "' . $pickup . '","coords": {"lat": ' . $pickCoords["lat"] . ',"lon": ' . $pickCoords["lon"] . '},"radius": 100}},{"zone": {"name": "' . $dropoff . '","address": "' . $dropoff . '","coords": {"lat": ' . $dropCoords["lat"] . ',"lon": ' . $dropCoords["lon"] . '},"radius": 100}}],"attr": [{ "key": "Payment Link", "value": "' . $paymentlink . '" }]}]';
$json = createSpatulaJob($post);
$spatulalink = $json['items'][0]['tracking'];
$spatulaid = $json['items'][0]['id'];
$result = mysqli_query($conn, "UPDATE jobs SET spat_ref = ".$spatulaid.", spat_link = '".$spatulalink."' WHERE reference = '".$_REQUEST['ref']."' ");
if(!$result) {
error_log($conn->error);
}
if(strlen($spatulaid) > 1) {
$array = array("status" => "OK", "message" => "Success", "id" => $spatulaid, "link" => $spatulalink);
} else {
$array = array("status" => "error", "message" => "failed");
}
return $array;
}
}
}
if($type=="FC" or $type=="SF" or $type=="MF" or $type=="BF" or $type=="GC" or $type == "SC") {
$dbhost = "localhost";
$dbuser = "desid573_famcab";
$dbpass = "C]+6wQySxov(";
$dbname = "desid573_familycab";
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or die($conn->connect_error);
$qcon=mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$result = mysqli_query($conn, "SELECT * FROM jobs WHERE reference = '".$_REQUEST['ref']."'");
while($row = mysqli_fetch_assoc($result)){
$tokencustomerid = $row['token'];
$quote = $row['job_quote'];
$quote_km = $row['quote_km'];
$quote_time = $row['quote_time'];
$name = $row['job_name'];
$email = $row['job_email'];
$phone = $row['job_phone'];
$pickup = $row['job_pickup'];
$dropoff = $row['job_dropoff'];
$pickCoords = checkLocalCoords($pickup);
error_log(json_encode($pickCoords, true));
if($pickCoords == false) {
$pickplace = getplaceid($pickup);
if($pickplace) {
$pickCoords = getCoords($pickplace, $pickup);
}
}
$dropCoords = checkLocalCoords($dropoff);
if($dropCoords == false) {
$dropplace = getplaceid($dropoff);
if($dropplace) {
$dropCoords = getCoords($dropplace, $dropoff);
}
}
$postAddresses = '';
$ref = $row['reference'];
//$code = $row['type'];
$mins_to = $row['mins_post'];
$flightNum = $row['flight_num'];
$xero = $row['xero_inv'];
$spatula_id = $row['spat_ref'];
$date = $row['job_date'];
$time = $row['job_time'];
$d = date_create_from_format("jS M, Y", $date);
$date24 = date_format($d, "Y-m-d");
if($type == "SF") {
date_default_timezone_set("Australia/Sydney");
} else if($type == "MF") {
date_default_timezone_set("Australia/Melbourne");
} else if($type == "BF") {
date_default_timezone_set("Australia/Brisbane");
} else {
date_default_timezone_set("Australia/Perth");
}
$time24 = date("G:i", strtotime($time));
$timeUTC = date("c", strtotime("$date24 $time24"));
$timestamp = strtotime("$date24 $time24") * 1000;
$bookPax = $row['job_pax'];
$bookRF = $row['job_rf'];
$bookFF = $row['job_ff'];
$bookB = $row['job_boost'];
$luggage = $row['job_luggage'];
$paymentlink = shortenLink($ref, $type, "payment");
$flighttext = "$flightNum + $mins_to mins";
if($flightNum == ""){
$flighttext = "";
}
$seats = "$bookPax pax \\n$bookRF RF\\n$bookFF FF\\n$bookB Boost";
$post = '[{"name": "' .$type.' '. $name . '","campaign": {"id": 5623765662}, "contact": {"name": "' . $name . '","phone": "' .$phone . '"}, "tasks": [{"timeframe":{"by": '.$timestamp.'}, "zone": {"name": "' . $pickup . '","address": "' . $pickup . '","coords": {"lat": ' . $pickCoords["lat"] . ',"lon": ' . $pickCoords["lon"] . '},"radius": 100}},{"zone": {"name": "' . $dropoff . '","address": "' . $dropoff . '","coords": {"lat": ' . $dropCoords["lat"] . ',"lon": ' . $dropCoords["lon"] . '},"radius": 100}}],"attr": [{"key": "Flight", "value": "'.$flight.' + '.$mins.' mins"},{ "key": "Seats", "value": "' . $seats . '" },{"key": "Luggage", "value": "'.$luggage.'"}, {"key": "Payment Link", "value": "'.$paymentlink.'"}]}]';
error_log($post);
$json = createSpatulaJob($post);
$spatulalink = $json['items'][0]['tracking'];
$spatulaid = $json['items'][0]['id'];
$result = mysqli_query($conn, "UPDATE jobs SET spat_ref = ".$spatulaid.", spat_link = '".$spatulalink."' WHERE reference = '".$_REQUEST['ref']."' ");
if(!$result) {
error_log($conn->error);
}
if(strlen($spatulaid) > 1) {
$array = array("status" => "OK", "message" => "Success", "id" => $spatulaid, "link" => $spatulalink);
} else {
$array = array("status" => "error", "message" => "failed");
}
return $array;
}
}
if($type=="HK" OR $type=="SI") {
$dbhost = "localhost";
$dbuser = "desid573_inquiri";
$dbpass = "@G&{)0*&Ts^V";
$dbname = "desid573_new_pro_api";
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or die($conn->connect_error);
$qcon=mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$result = mysqli_query($conn, "SELECT * FROM booking WHERE reference = ".$_REQUEST['ref']);
while($row = mysqli_fetch_assoc($result)) {
$spatula_id = $row['spatula_id'];
$quote_km = $row['quote_km'];
$quote_time = $row['quote_time'];
$pickup = $row['pickup_addr'];
$dropoff = $row['pickoff_addr'];
$pickCoords = checkLocalCoords($pickup);
error_log(json_encode($pickCoords, true));
if($pickCoords == false) {
$pickplace = getplaceid($pickup);
if($pickplace) {
$pickCoords = getCoords($pickplace, $pickup);
}
}
$dropCoords = checkLocalCoords($dropoff);
if($dropCoords == false) {
$dropplace = getplaceid($dropoff);
if($dropplace) {
$dropCoords = getCoords($dropplace, $dropoff);
}
}
$ref = $row['reference'];
$code = $row['type'];
$mins_to = "";
$flightNum = "";
date_default_timezone_set("Australia/Perth");
$booking_date = $row['booking_date'];
$booking_time = $row['booking_time'];
$timeUTC = date("c", strtotime("$booking_date $booking_time"));
$timestamp = strtotime("$booking_date $booking_time") * 1000;
$quote = $row['quote'];
$cid = $row['cid'];
$result1 = mysqli_query($conn, "SELECT * FROM customers WHERE id='".$cid."'");
$row1 = mysqli_fetch_assoc($result1);
$name = $row1['name'];
$email = $row1['email'];
$phone = $row1['mobile'];
if(!$result1){
error_log($conn->error);
}
$paymentlink = shortenLink($ref, $type, "payment");
$post = '[{"name": "' .$type.' ' . $name . '", "campaign": {"id": 5622549795}, "contact": {"name": "' . $name . '","phone": "' .$phone . '"},"tasks": [{"timeframe":{"by": '.$timestamp.'}, "zone": {"name": "' . $pickup . '","address": "' . $pickup . '","coords": {"lat": ' . $pickCoords["lat"] . ',"lon": ' . $pickCoords["lon"] . '},"radius": 100}},{"zone": {"name": "' . $dropoff . '","address": "' . $dropoff . '","coords": {"lat": ' . $dropCoords["lat"] . ',"lon": ' . $dropCoords["lon"] . '},"radius": 100}}],"attr": [{ "key": "Payment Link", "value": "' . $paymentlink . '" }]}]';
error_log($post);
$json = createSpatulaJob($post);
$spatulalink = $json['items'][0]['tracking'];
$spatulaid = $json['items'][0]['id'];
$result = mysqli_query($conn, "UPDATE booking SET spatula_id = ".$spatulaid.", spatula_link = '".$spatulalink."' WHERE reference = '".$_REQUEST['ref']."' ");
if(!$result) {
error_log($conn->error);
}
if(strlen($spatulaid) > 1) {
$array = array("status" => "OK", "message" => "Success", "id" => $spatulaid, "link" => $spatulalink);
} else {
$array = array("status" => "error", "message" => "failed");
}
return $array;
}
}
if($type=="FA" or $type=="SA" or $type == "MA" or $type == "BA" or $type == "GA" or $type == "YA") {
$item = "FA";
$dbhost = "localhost";
$dbuser = "desid573_fam_app";
$dbpass = "TW#7CCqKReDn";
$dbname = "desid573_famcab_api";
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or die($conn->connect_error);
$qcon=mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$result = mysqli_query($conn, "SELECT * FROM booking WHERE reference = ".$_REQUEST['ref']);
while($row = mysqli_fetch_assoc($result)){
$spatula_id = $row['spatula_id'];
$quote_km = $row['quote_km'];
$quote_time = $row['quote_time'];
$pickup = $row['pickup_addr'];
$dropoff = $row['pickoff_addr'];
$pickCoords = checkLocalCoords($pickup);
error_log(json_encode($pickCoords, true));
if($pickCoords == false) {
$pickplace = getplaceid($pickup);
if($pickplace) {
$pickCoords = getCoords($pickplace, $pickup);
}
}
$dropCoords = checkLocalCoords($dropoff);
if($dropCoords == false) {
$dropplace = getplaceid($dropoff);
if($dropplace) {
$dropCoords = getCoords($dropplace, $dropoff);
}
}
$xero = $row['xero_inv'];
$ref = $row['reference'];
$code = $row['type'];
if($xero == "") {
$xero = "none";
}
if($type == "SA") {
date_default_timezone_set("Australia/Sydney");
} else if($type == "MA") {
date_default_timezone_set("Australia/Melbourne");
} else if($type == "BA" OR $type == "GA") {
date_default_timezone_set("Australia/Brisbane");
} else {
date_default_timezone_set("Australia/Perth");
}
$booking_date = $row['booking_date'];
$booking_time = $row['booking_time'];
$timeUTC = date("c", strtotime("$booking_date $booking_time"));
$timestamp = strtotime($booking_date." ".$booking_time) * 1000;
error_log($timestamp);
$mins_to = $row['mins_to'];
$flight_num = $row['flight_num'];
$book_pax = $row['book_pax'];
$book_rf = $row['book_rf'];
$book_ff = $row['book_ff'];
$book_b = $row['book_b'];
$luggage = $row['luggage'];
$quote = $row['quote'];
$cid = $row['cid'];
$result2 = mysqli_query($conn, "SELECT * FROM customers WHERE id='".$cid."'");
$row1 = mysqli_fetch_assoc($result2);
$name = $row1['name'];
$email = $row1['email'];
$phone = $row1['mobile'];
$longUrl = "https://www.desidrivers.com.au/payment/?ref=".$_REQUEST['ref']."&type=".$type;
$postData = array('longUrl' => $longUrl);
$jsonData = json_encode($postData);
$paymentlink = shortenLink($ref, $type, "payment");
$additional_string = "";
if($flight_num != ""){
$additional_string = $flight_num." +".$mins_to."mins";
}
if($luggage != ""){
$additional_string .= "\\nLuggage: ".str_replace("\n", "", $luggage);
}
$seats_string = $book_pax." pax\\n";
if($book_rf != "0") {
$seats_string .= $book_rf." RF\\n";
}
if($book_ff != "0") {
$seats_string .= $book_ff." FF\\n";
}
if($_REQUEST['book_b'] != "0") {
$seats_string .= $book_b." B\\n";
}
$post = '[{"name": "' .$type.' ' . $name . '","campaign": {"id": 5623765662}, "contact": {"name": "' . $name . '","phone": "' .$phone . '"},"tasks": [{"timeframe":{"by": '.$timestamp.'}, "zone": {"name": "' . $pickup . '","address": "' . $pickup . '","coords": {"lat": ' . $pickCoords["lat"] . ',"lon": ' . $pickCoords["lon"] . '},"radius": 100}},{"zone": {"name": "' . $dropoff . '","address": "' . $dropoff . '","coords": {"lat": ' . $dropCoords["lat"] . ',"lon": ' . $dropCoords["lon"] . '},"radius": 100}}],"attr": [{ "key": "Payment Link", "value": "' . $paymentlink . '" },{ "key": "Seats", "value": "' . $seats_string . '" },{ "key": "Additional", "value": "' . $additional_string . '" }]}]';
$json = createSpatulaJob($post);
$spatulalink = $json['items'][0]['tracking'];
$spatulaid = $json['items'][0]['id'];
$result = mysqli_query($conn, "UPDATE booking SET spatula_id = ".$spatulaid.", spatula_link = '".$spatulalink."' WHERE reference = '".$_REQUEST['ref']."' ");
if(!$result) {
error_log($conn->error);
}
if(strlen($spatulaid) > 1) {
$array = array("status" => "OK", "message" => "Success", "id" => $spatulaid, "link" => $spatulalink);
} else {
$array = array("status" => "error", "message" => "failed");
}
return $array;
}
}
//return $array;
}
function getplaceid($place) {
$url = "https://maps.googleapis.com/maps/api/place/findplacefromtext/json?key=AIzaSyCzDCB1H9ZvIgT4NHGqCXajVQlRXKwTVY4&inputtype=textquery&input=".urlencode($place);
//error_log($url);
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, $url);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlObj, CURLOPT_HEADER, 0);
curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
$response = curl_exec($curlObj);
error_log($response);
$json = json_decode($response, true);
curl_close($curlObj);
if($json["status"] == "OK") {
return $json["candidates"][0]["place_id"];
} else {
return false;
}
}
function getCoords($placeid, $name) {
$url = "https://maps.googleapis.com/maps/api/place/details/json?fields=name,geometry,place_id,formatted_address&key=AIzaSyCzDCB1H9ZvIgT4NHGqCXajVQlRXKwTVY4&placeid=".$placeid;
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, $url);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlObj, CURLOPT_HEADER, 0);
curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
$response = curl_exec($curlObj);
error_log($response);
$json = json_decode($response, true);
curl_close($curlObj);
if($json["status"] == "OK") {
updatePlace($json["result"]["formatted_address"], $json["result"]["geometry"]["location"]["lat"], $json["result"]["geometry"]["location"]["lng"]);
if($name != $json["result"]["formatted_address"]) {
updatePlace($name, $json["result"]["geometry"]["location"]["lat"], $json["result"]["geometry"]["location"]["lng"]);
}
return array("address" => $json["result"]["formatted_address"], "lat" => $json["result"]["geometry"]["location"]["lat"], "lon" => $json["result"]["geometry"]["location"]["lng"]);
} else {
return false;
}
}
function checkLocalCoords($place) {
$dbhost = "localhost";
$dbuser = "desid573_famcab";
$dbpass = "C]+6wQySxov(";
$dbname = "desid573_eway_codes";
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or die($conn->connect_error);
$sql = "SELECT * FROM `desid573_familycab`.`terminal_details` WHERE name = '".$place."'";
$result = $conn->query($sql);
if(!$result) {
error_log("terminal lookup error ".$conn->error);
}
if($result->num_rows > 0) {
$row = $result->fetch_assoc();
return array("name"=> $row["name"], "lat" => $row["lat"], "lon" => $row["long"]);
}
$sql = "SELECT * FROM `desid573_eway_codes`.`place_coords` WHERE name = '".$place."'";
error_log($sql);
$result = $conn->query($sql);
if(!$result) {
error_log("place lookup error ".$conn->error);
}
if($result->num_rows > 0) {
$row = $result->fetch_assoc();
return array("name"=> $row["name"], "lat" => $row["lat"], "lon" => $row["lon"]);
} else {
return false;
}
}
function createSpatulaJob($post) {
require("vromo.php");
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, 'https://api.vromo.io/v2/graph/role/jobs?access_token='.$vromo);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlObj, CURLOPT_HEADER, 0);
curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
curl_setopt($curlObj, CURLOPT_POST, 1);
curl_setopt($curlObj, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($curlObj);
error_log($response);
$json = json_decode($response, true);
curl_close($curlObj);
return $json;
}
function updatePlace($name, $lat, $lng) {
$dbhost = "localhost";
$dbuser = "desid573_fam_app";
$dbpass = "TW#7CCqKReDn";
$dbname = "desid573_eway_codes";
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or die($conn->connect_error);
$sql = "SELECT * FROM place_coords WHERE name = '".$name."'";
$result = $conn->query($sql);
if($result->num_rows > 0) {
$sql = "UPDATE `place_coords` SET `lat`=".$lat.",`lon`=".$lng.", date_added = NOW() WHERE `name`='".$name."'";
error_log($sql);
$result = $conn->query($sql);
if(!$result) {
error_log("Error updating coords ".$conn->error);
}
} else {
$sql = "INSERT INTO `place_coords`(`id`, `name`, `lat`, `lon`, `date_added`) VALUES (NULL,'".$name."',".$lat.",".$lng.",NOW())";
$result = $conn->query($sql);
if(!$result) {
error_log($sql);
error_log("Error inserting coords ".$conn->error);
}
}
}