Deploy WebGIS 01-05 dengan Docker
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
require_once __DIR__ . '/auth.php';
|
||||
require_login(true);
|
||||
require_post();
|
||||
require_role(['super_admin','admin_rumah_ibadah'], true);
|
||||
|
||||
$id = (int) post('id', 0);
|
||||
$alasan = clean_text(post('alasan_hapus', post('alasan', '')), 1000);
|
||||
$rumah = get_rumah_ibadah_by_id($id);
|
||||
if (!$rumah) json_response('err', 'Rumah ibadah tidak ditemukan.', [], 404);
|
||||
|
||||
if ($_SESSION['role'] === 'super_admin') {
|
||||
// Super admin langsung menghapus marker rumah ibadah dari peta.
|
||||
// Data dibuat tidak aktif, bukan dihapus permanen, supaya riwayat tetap aman.
|
||||
$status = 'ditolak';
|
||||
$hapus = 'disetujui';
|
||||
$catatan = $alasan ?: 'Marker rumah ibadah dihapus oleh super admin.';
|
||||
$stmt = $koneksi->prepare("UPDATE rumah_ibadah SET status_pengajuan=?, status_hapus=?, alasan_hapus=?, keterangan=? WHERE id=?");
|
||||
$stmt->bind_param('ssssi', $status, $hapus, $catatan, $catatan, $id);
|
||||
if (!$stmt->execute()) json_response('err', 'Gagal menghapus marker rumah ibadah: ' . $koneksi->error);
|
||||
$jumlahLepas = detach_penerima_from_rumah_ibadah($id);
|
||||
$row = get_rumah_ibadah_by_id($id);
|
||||
$row['jumlah_penerima_dilepas'] = $jumlahLepas;
|
||||
json_response('ok', 'Marker rumah ibadah berhasil dihapus oleh super admin.', $row);
|
||||
}
|
||||
|
||||
// Admin rumah ibadah hanya boleh mengajukan hapus untuk rumah ibadah miliknya.
|
||||
if ((int)$rumah['user_id'] !== (int)$_SESSION['user_id']) json_response('err', 'Akses ditolak. Admin hanya boleh mengajukan hapus rumah ibadah miliknya.', [], 403);
|
||||
if ($alasan === '') json_response('err', 'Alasan penghapusan wajib diisi.');
|
||||
|
||||
$statusHapus = 'menunggu';
|
||||
$stmt = $koneksi->prepare("UPDATE rumah_ibadah SET status_hapus=?, alasan_hapus=? WHERE id=?");
|
||||
$stmt->bind_param('ssi', $statusHapus, $alasan, $id);
|
||||
if (!$stmt->execute()) json_response('err', 'Gagal mengajukan penghapusan rumah ibadah: ' . $koneksi->error);
|
||||
json_response('ok', 'Pengajuan hapus marker rumah ibadah dikirim. Menunggu persetujuan super admin.', get_rumah_ibadah_by_id($id));
|
||||
?>
|
||||
Reference in New Issue
Block a user