first commit
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
// api/rumah_ibadah.php — CRUD Rumah Ibadah
|
||||
require_once __DIR__ . '/config.php';
|
||||
$method = $_SERVER['REQUEST_METHOD'];
|
||||
$db = getDB();
|
||||
|
||||
if ($method === 'GET') {
|
||||
$rows = $db->query(
|
||||
"SELECT ri.*, k.nama AS kelurahan, k.kecamatan
|
||||
FROM rumah_ibadah ri
|
||||
LEFT JOIN kelurahan k ON ri.kelurahan_id = k.id
|
||||
ORDER BY ri.tipe, ri.nama"
|
||||
)->fetchAll();
|
||||
jsonOk($rows);
|
||||
}
|
||||
|
||||
if ($method === 'POST') {
|
||||
requireEdit();
|
||||
$d = body();
|
||||
if (empty($d['nama'])) jsonError('Nama wajib diisi.');
|
||||
if (!isset($d['lat'], $d['lng'])) jsonError('Koordinat wajib diisi.');
|
||||
$ikonMap = ['masjid'=>'🕌','gereja'=>'⛪','pura'=>'🛕','vihara'=>'🏛️','klenteng'=>'🏯'];
|
||||
$tipe = $d['tipe'] ?? 'masjid';
|
||||
$stmt = $db->prepare(
|
||||
"INSERT INTO rumah_ibadah (nama, tipe, ikon, lat, lng, kapasitas, kelurahan_id, alamat)
|
||||
VALUES (?,?,?,?,?,?,?,?)"
|
||||
);
|
||||
$stmt->execute([
|
||||
$d['nama'], $tipe, $ikonMap[$tipe] ?? '🛕',
|
||||
$d['lat'], $d['lng'],
|
||||
$d['kapasitas'] ?? 0,
|
||||
!empty($d['kelurahan_id']) ? $d['kelurahan_id'] : null,
|
||||
$d['alamat'] ?? ''
|
||||
]);
|
||||
jsonOk(['id' => $db->lastInsertId()], 'Rumah ibadah berhasil ditambahkan');
|
||||
}
|
||||
|
||||
if ($method === 'PUT') {
|
||||
requireEdit();
|
||||
$id = getParam('id');
|
||||
if (!$id) jsonError('ID wajib disertakan.');
|
||||
$d = body();
|
||||
if (empty($d['nama'])) jsonError('Nama wajib diisi.');
|
||||
if (!isset($d['lat'], $d['lng'])) jsonError('Koordinat wajib diisi.');
|
||||
$ikonMap = ['masjid'=>'🕌','gereja'=>'⛪','pura'=>'🛕','vihara'=>'🏛️','klenteng'=>'🏯'];
|
||||
$tipe = $d['tipe'] ?? 'masjid';
|
||||
$stmt = $db->prepare(
|
||||
"UPDATE rumah_ibadah
|
||||
SET nama=?, tipe=?, ikon=?, lat=?, lng=?, kapasitas=?, kelurahan_id=?, alamat=?
|
||||
WHERE id=?"
|
||||
);
|
||||
$stmt->execute([
|
||||
$d['nama'], $tipe, $ikonMap[$tipe] ?? '🛕',
|
||||
$d['lat'], $d['lng'],
|
||||
$d['kapasitas'] ?? 0,
|
||||
!empty($d['kelurahan_id']) ? $d['kelurahan_id'] : null,
|
||||
$d['alamat'] ?? '',
|
||||
$id
|
||||
]);
|
||||
jsonOk(null, 'Rumah ibadah berhasil diperbarui');
|
||||
}
|
||||
|
||||
if ($method === 'DELETE') {
|
||||
requireEdit();
|
||||
$id = getParam('id');
|
||||
if (!$id) jsonError('ID wajib disertakan.');
|
||||
$db->prepare("DELETE FROM rumah_ibadah WHERE id=?")->execute([$id]);
|
||||
jsonOk(null, 'Rumah ibadah berhasil dihapus');
|
||||
}
|
||||
|
||||
jsonError('Method tidak valid', 405);
|
||||
Reference in New Issue
Block a user