0){ $accuracy = intVal($_GET['accuracy']); }else{ $accuracy = $_config['default_accuracy']; } $time_from = strptime($_GET['dateFrom'], '%Y-%m-%d'); $time_from = mktime(0, 0, 0, $time_from['tm_mon']+1, $time_from['tm_mday'], $time_from['tm_year']+1900); $time_to = strptime($_GET['dateTo'], '%Y-%m-%d'); $time_to = mktime(23, 59, 59, $time_to['tm_mon']+1, $time_to['tm_mday'], $time_to['tm_year']+1900); //$time_to = strtotime('+1 day', $time_to); $markers = $sql->getMarkers($time_from, $time_to, $accuracy); if ($markers === false) { $response['status'] = false; $response['error'] = 'Database query error'; http_response_code(500); } else { $response['status'] = true; $response['markers'] = json_encode($markers); } }else if($_REQUEST['action'] === 'deleteMarker'){ if(!array_key_exists('epoch', $_REQUEST)){ $response['error'] = "No epoch provided for marker removal"; $response['status'] = false; http_response_code(204); }else{ $result = $sql->deleteMarker($_REQUEST['epoch']); if ($result === false) { $response['error'] = 'Unable to delete marker from database.'; $response['status'] = false; http_response_code(500); } else { $response['msg'] = "Marker deleted from database"; $response['status'] = true; } } } elseif ($_REQUEST['action'] === 'geoDecode') { if (!array_key_exists('epoch', $_REQUEST)) { $response['error'] = "No epoch provided for marker removal"; $response['status'] = false; http_response_code(204); } else { // GET MARKER'S LAT & LONG DATA $marker = $sql->getMarkerLatLon($_REQUEST['epoch']); if ($marker === false) { $response['error'] = 'Unable to get marker from database.'; $response['status'] = false; } else { $latitude = $marker['latitude']; $longitude = $marker['longitude']; // GEO DECODE LAT & LONG $geo_decode_url = $_config['geo_reverse_lookup_url'] . 'lat=' .$latitude. '&lon='.$longitude; $geo_decode_json = file_get_contents($geo_decode_url); $geo_decode = @json_decode($geo_decode_json, true); $place_id = intval($geo_decode['place_id']); $osm_id = intval($geo_decode['osm_id']); $location = strval($geo_decode['display_name']); if($location == '') { $location = @json_encode($geo_decode); } //UPDATE MARKER WITH GEODECODED LOCATION $result = $sql->updateLocationData($epoch, $latitude, $longitude, $location_name, $place_id, $osm_id); if ($result === false) { $response['error'] = 'Unable to update marker in database.'; $response['status'] = false; http_response_code(500); } else { $response['msg'] = 'Marker\'s location fetched and saved to database'; $response['location'] = $location; $response['status'] = true; } } } }else{ $response['error'] = "No action to perform"; $response['status'] = false; http_response_code(404); } }else{ $response['error'] = "Invalid request type or no action"; $response['status'] = false; http_response_code(404); } echo json_encode($response);