45 lines
3.8 KiB
PHP
45 lines
3.8 KiB
PHP
<?php
|
|
require_once __DIR__ . '/auth.php';
|
|
require_login(true);
|
|
|
|
$role = $_SESSION['role'];
|
|
$data = ['pengajuan' => [], '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);
|
|
?>
|