Files

56 lines
3.0 KiB
PHP

<?php
require_once __DIR__ . '/auth.php';
require_login(true);
$user = current_user();
$role = $user['role'];
$data = ['rumah_ibadah' => [], 'penerima' => []];
// Ambil rumah ibadah sesuai role.
if ($role === 'super_admin') {
$sql = "SELECT ri.*, u.nama AS nama_admin FROM rumah_ibadah ri LEFT JOIN users u ON u.id=ri.user_id WHERE ri.status_pengajuan IN ('diterima','menunggu') AND COALESCE(ri.status_hapus,'normal')<>'disetujui' ORDER BY ri.id DESC";
$res = $koneksi->query($sql);
while ($row = $res->fetch_assoc()) $data['rumah_ibadah'][] = $row;
} elseif ($role === 'admin_rumah_ibadah') {
$uid = (int) $user['id'];
// Admin hanya melihat rumah ibadah miliknya, termasuk yang masih menunggu.
$stmt = $koneksi->prepare("SELECT ri.*, u.nama AS nama_admin FROM rumah_ibadah ri LEFT JOIN users u ON u.id=ri.user_id WHERE ri.user_id=? AND ri.status_pengajuan IN ('diterima','menunggu') AND COALESCE(ri.status_hapus,'normal')<>'disetujui' ORDER BY ri.id DESC");
$stmt->bind_param('i', $uid);
$data['rumah_ibadah'] = fetch_all_stmt($stmt);
} else {
$res = $koneksi->query("SELECT ri.*, NULL AS nama_admin FROM rumah_ibadah ri WHERE ri.status_pengajuan='diterima' AND COALESCE(ri.status_hapus,'normal')<>'disetujui' ORDER BY ri.id DESC");
while ($row = $res->fetch_assoc()) $data['rumah_ibadah'][] = $row;
}
// Ambil penerima sesuai role. Marker ditolak tidak dikirim.
if ($role === 'super_admin') {
$sql = "SELECT pb.*, ri.nama_rumah_ibadah, ri.agama FROM penerima_bantuan pb LEFT JOIN rumah_ibadah ri ON ri.id=pb.rumah_ibadah_id WHERE pb.status_pengajuan IN ('diterima','menunggu','dibatalkan') AND COALESCE(pb.status_hapus,'normal')<>'disetujui' ORDER BY pb.id DESC";
$res = $koneksi->query($sql);
while ($row = $res->fetch_assoc()) $data['penerima'][] = $row;
} elseif ($role === 'admin_rumah_ibadah') {
$ids = get_admin_rumah_ibadah_ids((int)$user['id'], true);
if (!empty($ids)) {
$types = '';
$params = [];
$in = build_in_condition('pb.rumah_ibadah_id', $ids, $types, $params);
$sql = "SELECT pb.*, ri.nama_rumah_ibadah, ri.agama
FROM penerima_bantuan pb
LEFT JOIN rumah_ibadah ri ON ri.id=pb.rumah_ibadah_id
WHERE $in
AND pb.status_pengajuan IN ('diterima','menunggu')
AND COALESCE(pb.status_hapus,'normal')<>'disetujui'
ORDER BY pb.id DESC";
$stmt = $koneksi->prepare($sql);
stmt_bind($stmt, $types, $params);
$data['penerima'] = fetch_all_stmt($stmt);
}
} else {
$uid = (int) $user['id'];
$stmt = $koneksi->prepare("SELECT pb.*, ri.nama_rumah_ibadah, ri.agama FROM penerima_bantuan pb LEFT JOIN rumah_ibadah ri ON ri.id=pb.rumah_ibadah_id WHERE pb.user_id=? AND pb.status_pengajuan IN ('diterima','menunggu','dibatalkan') AND COALESCE(pb.status_hapus,'normal')<>'disetujui' ORDER BY pb.id DESC");
$stmt->bind_param('i', $uid);
$data['penerima'] = fetch_all_stmt($stmt);
}
json_response('ok', 'Data peta berhasil diambil.', $data);
?>