[], 'status' => [], 'penyaluran' => []]; if ($role === 'super_admin') { $sql = "SELECT pb.*, ri.nama_rumah_ibadah FROM penerima_bantuan pb LEFT JOIN rumah_ibadah ri ON ri.id=pb.rumah_ibadah_id ORDER BY pb.created_at DESC LIMIT 100"; $res = $koneksi->query($sql); while($row=$res->fetch_assoc()) $data['pengajuan'][]=$row; $sql = "SELECT rw.*, pb.nama_penerima, u.nama AS nama_user FROM riwayat_status rw JOIN penerima_bantuan pb ON pb.id=rw.penerima_id JOIN users u ON u.id=rw.user_id ORDER BY rw.created_at DESC LIMIT 100"; $res = $koneksi->query($sql); while($row=$res->fetch_assoc()) $data['status'][]=$row; $sql = "SELECT pn.*, pb.nama_penerima, ri.nama_rumah_ibadah, pr.nama_program FROM penyaluran_bantuan pn JOIN penerima_bantuan pb ON pb.id=pn.penerima_id JOIN rumah_ibadah ri ON ri.id=pn.rumah_ibadah_id LEFT JOIN program_bantuan pr ON pr.id=pn.program_id ORDER BY pn.tanggal_penyaluran DESC, pn.id DESC LIMIT 100"; $res = $koneksi->query($sql); while($row=$res->fetch_assoc()) $data['penyaluran'][]=$row; } elseif ($role === 'admin_rumah_ibadah') { $ids = get_admin_rumah_ibadah_ids((int)$_SESSION['user_id'], true); if (!empty($ids)) { $types = ''; $params = []; $inPb = build_in_condition('pb.rumah_ibadah_id', $ids, $types, $params); $stmt = $koneksi->prepare("SELECT pb.*, ri.nama_rumah_ibadah FROM penerima_bantuan pb LEFT JOIN rumah_ibadah ri ON ri.id=pb.rumah_ibadah_id WHERE $inPb ORDER BY pb.created_at DESC LIMIT 100"); stmt_bind($stmt, $types, $params); $data['pengajuan'] = fetch_all_stmt($stmt); $types = ''; $params = []; $inPb = build_in_condition('pb.rumah_ibadah_id', $ids, $types, $params); $stmt = $koneksi->prepare("SELECT rw.*, pb.nama_penerima, u.nama AS nama_user FROM riwayat_status rw JOIN penerima_bantuan pb ON pb.id=rw.penerima_id JOIN users u ON u.id=rw.user_id WHERE $inPb ORDER BY rw.created_at DESC LIMIT 100"); stmt_bind($stmt, $types, $params); $data['status'] = fetch_all_stmt($stmt); $types = ''; $params = []; $inPn = build_in_condition('pn.rumah_ibadah_id', $ids, $types, $params); $stmt = $koneksi->prepare("SELECT pn.*, pb.nama_penerima, ri.nama_rumah_ibadah, pr.nama_program FROM penyaluran_bantuan pn JOIN penerima_bantuan pb ON pb.id=pn.penerima_id JOIN rumah_ibadah ri ON ri.id=pn.rumah_ibadah_id LEFT JOIN program_bantuan pr ON pr.id=pn.program_id WHERE $inPn ORDER BY pn.tanggal_penyaluran DESC, pn.id DESC LIMIT 100"); stmt_bind($stmt, $types, $params); $data['penyaluran'] = fetch_all_stmt($stmt); } } else { $uid = (int)$_SESSION['user_id']; $stmt = $koneksi->prepare("SELECT pb.*, ri.nama_rumah_ibadah FROM penerima_bantuan pb LEFT JOIN rumah_ibadah ri ON ri.id=pb.rumah_ibadah_id WHERE pb.user_id=? ORDER BY pb.created_at DESC LIMIT 100"); $stmt->bind_param('i', $uid); $data['pengajuan'] = fetch_all_stmt($stmt); $stmt = $koneksi->prepare("SELECT rw.*, pb.nama_penerima, u.nama AS nama_user FROM riwayat_status rw JOIN penerima_bantuan pb ON pb.id=rw.penerima_id JOIN users u ON u.id=rw.user_id WHERE pb.user_id=? ORDER BY rw.created_at DESC LIMIT 100"); $stmt->bind_param('i', $uid); $data['status'] = fetch_all_stmt($stmt); $stmt = $koneksi->prepare("SELECT pn.*, pb.nama_penerima, ri.nama_rumah_ibadah, pr.nama_program FROM penyaluran_bantuan pn JOIN penerima_bantuan pb ON pb.id=pn.penerima_id JOIN rumah_ibadah ri ON ri.id=pn.rumah_ibadah_id LEFT JOIN program_bantuan pr ON pr.id=pn.program_id WHERE pb.user_id=? ORDER BY pn.tanggal_penyaluran DESC, pn.id DESC LIMIT 100"); $stmt->bind_param('i', $uid); $data['penyaluran'] = fetch_all_stmt($stmt); } json_response('ok', 'Riwayat berhasil diambil.', $data); ?>