75 lines
2.9 KiB
PHP
75 lines
2.9 KiB
PHP
|
<?php
|
||
|
function fill_record($id, $data) {
|
||
|
global $response;
|
||
|
$response['records'][$id] = array();
|
||
|
$response['records'][$id]['id'] = $data['id'];
|
||
|
$response['records'][$id]['author_id'] = $data['author_id'];
|
||
|
$response['records'][$id]['recordist_name'] = $data['recordist_name'];
|
||
|
$response['records'][$id]['file_name'] = $data['file_name'];
|
||
|
$response['records'][$id]['url'] = "https://".$_SERVER['SERVER_NAME']."/storage/records/".$data['file_name'];
|
||
|
$response['records'][$id]['license'] = $data['license'];
|
||
|
$response['records'][$id]['species'] = $data['species'];
|
||
|
$response['records'][$id]['subspecies'] = $data['subspecies'];
|
||
|
$response['records'][$id]['sound'] = array();
|
||
|
$response['records'][$id]['sound']['type'] = $data['sound_type'];
|
||
|
$response['records'][$id]['sound']['duration'] = $data['duration'];
|
||
|
$response['records'][$id]['sound']['sample_rate'] = $data['sample_rate'];
|
||
|
$response['records'][$id]['sound']['time_expansion'] = $data['time_expansion'];
|
||
|
$response['records'][$id]['recorder'] = array();
|
||
|
$response['records'][$id]['recorder']['make'] = $data['make'];
|
||
|
$response['records'][$id]['recorder']['model'] = $data['model'];
|
||
|
$response['records'][$id]['recorder']['serial'] = $data['serial'];
|
||
|
$response['records'][$id]['location'] = array();
|
||
|
$response['records'][$id]['location']['country'] = $data['country'];
|
||
|
$response['records'][$id]['location']['lat'] = $data['lat'];
|
||
|
$response['records'][$id]['location']['lng'] = $data['lng'];
|
||
|
$response['records'][$id]['datetime'] = array();
|
||
|
$response['records'][$id]['datetime']['date'] = $data['date'];
|
||
|
$response['records'][$id]['datetime']['time'] = $data['time'];
|
||
|
$response['records'][$id]['remarks'] = $data['remarks'];
|
||
|
}
|
||
|
|
||
|
ini_set('display_errors', 1);
|
||
|
ini_set('display_startup_errors', 1);
|
||
|
error_reporting(E_ALL);
|
||
|
session_start();
|
||
|
header("Content-Type: application/json");
|
||
|
$root = realpath($_SERVER["DOCUMENT_ROOT"]);
|
||
|
require "$root/database/credentials.php";
|
||
|
// Connect the database
|
||
|
try{
|
||
|
$db = new PDO("mysql:host=$host;dbname=$database;charset=utf8",
|
||
|
$user,
|
||
|
$password,
|
||
|
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
|
||
|
));
|
||
|
}catch (Exception $e){
|
||
|
die("Error : ".$e->getMessage());
|
||
|
}
|
||
|
|
||
|
$response = array();
|
||
|
|
||
|
if (isset($_GET['id'])) {
|
||
|
$req = $db->prepare('SELECT * FROM records WHERE id=:id');
|
||
|
$req->execute(array(
|
||
|
"id"=>$_GET['id']
|
||
|
));
|
||
|
if ($data = $req->fetch()) {
|
||
|
$response['records'] = array();
|
||
|
fill_record(0, $data);
|
||
|
} else {
|
||
|
$response['status'] = "Not found";
|
||
|
$response['message'] = "Can't fetch data for this record id.";
|
||
|
}
|
||
|
} else {
|
||
|
$req = $db->prepare('SELECT * FROM records');
|
||
|
$req->execute();
|
||
|
$result = $req->fetchAll();
|
||
|
$i = 0;
|
||
|
foreach($result as $row) {
|
||
|
fill_record($i, $row);
|
||
|
$i++;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
echo json_encode($response);
|