72 lines
1.7 KiB
PHP
72 lines
1.7 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
require_once __DIR__ . '/db.php';
|
|
|
|
$input = json_decode(file_get_contents('php://input'), true);
|
|
|
|
if (!is_array($input)) {
|
|
http_response_code(400);
|
|
echo json_encode([
|
|
'success' => false,
|
|
'message' => 'Format request tidak valid.',
|
|
]);
|
|
exit;
|
|
}
|
|
|
|
$nama = trim((string) ($input['nama'] ?? ''));
|
|
$no = trim((string) ($input['no'] ?? ''));
|
|
$status24jam = trim((string) ($input['status_24jam'] ?? ''));
|
|
$latitude = (float) ($input['latitude'] ?? 0);
|
|
$longitude = (float) ($input['longitude'] ?? 0);
|
|
|
|
if ($nama === '' || $no === '' || $status24jam === '') {
|
|
http_response_code(422);
|
|
echo json_encode([
|
|
'success' => false,
|
|
'message' => 'Nama, no, dan status wajib diisi.',
|
|
]);
|
|
exit;
|
|
}
|
|
|
|
if (!in_array($status24jam, ['24jam', 'tidak'], true)) {
|
|
http_response_code(422);
|
|
echo json_encode([
|
|
'success' => false,
|
|
'message' => 'Status harus 24jam atau tidak.',
|
|
]);
|
|
exit;
|
|
}
|
|
|
|
$stmt = $connection->prepare('INSERT INTO spbu_points (nama, no, status_24jam, latitude, longitude) VALUES (?, ?, ?, ?, ?)');
|
|
|
|
if (!$stmt) {
|
|
http_response_code(500);
|
|
echo json_encode([
|
|
'success' => false,
|
|
'message' => 'Gagal menyiapkan query: ' . $connection->error,
|
|
]);
|
|
exit;
|
|
}
|
|
|
|
$stmt->bind_param('sssdd', $nama, $no, $status24jam, $latitude, $longitude);
|
|
|
|
if (!$stmt->execute()) {
|
|
http_response_code(500);
|
|
echo json_encode([
|
|
'success' => false,
|
|
'message' => 'Gagal menyimpan data: ' . $stmt->error,
|
|
]);
|
|
$stmt->close();
|
|
exit;
|
|
}
|
|
|
|
$stmt->close();
|
|
|
|
echo json_encode([
|
|
'success' => true,
|
|
'message' => 'Data berhasil disimpan.',
|
|
'id' => $connection->insert_id,
|
|
]); |