[], '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); ?>