Initial Commit

This commit is contained in:
Vinlio Andriarles
2026-06-02 13:15:29 +07:00
commit 3ebceba0b8
31 changed files with 2058 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
<?php
include "../../config/koneksi.php";
if(isset($_GET['id_penduduk'])) {
$id_penduduk = $_GET['id_penduduk'];
$query =
"SELECT tanggal_penyaluran, beras_kg, minyak_l, gula_kg, telur_kg, susu_kaleng, uang_tunai, catatan, created_at
FROM log_bantuan
WHERE id_penduduk = '$id_penduduk'
ORDER BY created_at DESC";
$result = mysqli_query($koneksi, $query);
$data = array();
if($result) {
while($row = mysqli_fetch_assoc($result)) {
$row['tanggal_penyaluran'] = date("d/m/Y", strtotime($row['tanggal_penyaluran']));
$data[] = $row;
}
}
echo json_encode($data);
}
?>
+32
View File
@@ -0,0 +1,32 @@
<?php
include "../../config/koneksi.php";
$id_penduduk = isset($_GET['id_penduduk']) ? (int)$_GET['id_penduduk'] : 0;
// Query JOIN untuk mengambil data log pelatihan beserta nama anggota dan detail pelatihannya
$query = "SELECT
ak.nama_lengkap,
mp.nama_pelatihan,
mp.penyelenggara,
lp.tanggal_daftar,
lp.status_kelulusan
FROM log_pelatihan lp
JOIN anggota_keluarga ak ON lp.id_anggota = ak.id
JOIN master_pelatihan mp ON lp.id_pelatihan = mp.id
WHERE ak.id_penduduk = '$id_penduduk'
ORDER BY lp.tanggal_daftar DESC";
$result = mysqli_query($koneksi, $query);
$data = [];
if ($result) {
while ($row = mysqli_fetch_assoc($result)) {
// Format tanggal agar lebih mudah dibaca (opsional)
$row['tanggal_daftar'] = date('d-m-Y', strtotime($row['tanggal_daftar']));
$data[] = $row;
}
}
header('Content-Type: application/json');
echo json_encode($data);
?>
+14
View File
@@ -0,0 +1,14 @@
<?php
include "../../config/koneksi.php";
// Mengambil pelatihan yang masih aktif (belum melewati tanggal selesai)
$query = mysqli_query($koneksi, "SELECT * FROM master_pelatihan WHERE tanggal_selesai >= CURDATE() ORDER BY id DESC");
$data = [];
if($query){
while($row = mysqli_fetch_assoc($query)){
$data[] = $row;
}
}
header('Content-Type: application/json');
echo json_encode($data);
?>
+38
View File
@@ -0,0 +1,38 @@
<?php
session_start();
include "../../config/koneksi.php";
$id_penduduk = $_POST['id_penduduk'];
$id_ibadah = $_POST['id_ibadah'];
// Tangani string "null" dari JavaScript agar menjadi NULL SQL yang sesungguhnya
$id_musibah = (isset($_POST['id_musibah']) && $_POST['id_musibah'] !== 'null' && $_POST['id_musibah'] !== '') ? $_POST['id_musibah'] : "NULL";
$id_admin = $_SESSION['id'] ?? 0; // Mengambil ID dari Session Admin Tempat Ibadah
$beras_kg = (float)$_POST['beras_kg'];
$minyak_l = (float)$_POST['minyak_l'];
$gula_kg = (float)$_POST['gula_kg'];
$telur_kg = (float)$_POST['telur_kg'];
$susu_kaleng = (int)$_POST['susu_kaleng'];
$uang_tunai = (int)$_POST['uang_tunai'];
$catatan = mysqli_real_escape_string($koneksi, $_POST['catatan']);
$tanggal_penyaluran = date('Y-m-d');
// 1. Simpan Log Penyaluran Bantuan
// Perhatikan bahwa $id_musibah tidak pakai tanda kutip tunggal '' agar bisa membaca NULL
$query_log = "INSERT INTO log_bantuan (id_penduduk, id_ibadah, id_musibah, id_admin, tanggal_penyaluran, beras_kg, minyak_l, gula_kg, telur_kg, susu_kaleng, uang_tunai, catatan)
VALUES ('$id_penduduk', '$id_ibadah', $id_musibah, '$id_admin', '$tanggal_penyaluran', '$beras_kg', '$minyak_l', '$gula_kg', '$telur_kg', '$susu_kaleng', '$uang_tunai', '$catatan')";
if(mysqli_query($koneksi, $query_log)) {
// 2. OTOMATISASI: Jika ada musibah yang sedang "Menunggu Bantuan", ubah statusnya menjadi "Selesai Ditangani"
$query_update_musibah = "UPDATE laporan_musibah
SET status_penanganan = 'Selesai Ditangani'
WHERE id_penduduk = '$id_penduduk' AND status_penanganan = 'Menunggu Bantuan'";
mysqli_query($koneksi, $query_update_musibah);
echo json_encode(['status' => 'success']);
} else {
// Memberikan pesan error spesifik dari MySQL untuk debugging
echo json_encode(['status' => 'error', 'pesan' => mysqli_error($koneksi)]);
}
?>
+22
View File
@@ -0,0 +1,22 @@
<?php
include "../../config/koneksi.php";
$id_anggota = $_POST['id_anggota'];
$id_pelatihan = $_POST['id_pelatihan'];
// Validasi Anti-Duplikasi: Cek apakah sudah pernah didaftarkan ke pelatihan ini
$cek = mysqli_query($koneksi, "SELECT id FROM log_pelatihan WHERE id_anggota='$id_anggota' AND id_pelatihan='$id_pelatihan'");
if(mysqli_num_rows($cek) > 0){
echo json_encode(['status' => 'error', 'pesan' => 'Anggota ini sudah terdaftar di program pelatihan tersebut!']);
exit;
}
$query = "INSERT INTO log_pelatihan (id_anggota, id_pelatihan, status_kelulusan)
VALUES ('$id_anggota', '$id_pelatihan', 'Sedang Berjalan')";
if(mysqli_query($koneksi, $query)) {
echo json_encode(['status' => 'success']);
} else {
echo json_encode(['status' => 'error']);
}
?>
+18
View File
@@ -0,0 +1,18 @@
<?php
include "../../config/koneksi.php";
$nama_pelatihan = mysqli_real_escape_string($koneksi, $_POST['nama_pelatihan']);
$penyelenggara = mysqli_real_escape_string($koneksi, $_POST['penyelenggara']);
$tanggal_mulai = $_POST['tanggal_mulai'];
$tanggal_selesai = $_POST['tanggal_selesai'];
$deskripsi = mysqli_real_escape_string($koneksi, $_POST['deskripsi']);
$query = "INSERT INTO master_pelatihan (nama_pelatihan, penyelenggara, tanggal_mulai, tanggal_selesai, deskripsi)
VALUES ('$nama_pelatihan', '$penyelenggara', '$tanggal_mulai', '$tanggal_selesai', '$deskripsi')";
if(mysqli_query($koneksi, $query)) {
echo json_encode(['status' => 'success']);
} else {
echo json_encode(['status' => 'error', 'pesan' => mysqli_error($koneksi)]);
}
?>
+18
View File
@@ -0,0 +1,18 @@
<?php
include "../../config/koneksi.php";
$id_penduduk = $_POST['id_penduduk'];
$id_ibadah = $_POST['id_ibadah'];
$jenis_musibah = mysqli_real_escape_string($koneksi, $_POST['jenis_musibah']);
$deskripsi = mysqli_real_escape_string($koneksi, $_POST['deskripsi']);
// Status penanganan otomatis diatur ke 'Menunggu Bantuan' oleh database sesuai skema
$query = "INSERT INTO laporan_musibah (id_penduduk, id_ibadah, jenis_musibah, deskripsi)
VALUES ('$id_penduduk', '$id_ibadah', '$jenis_musibah', '$deskripsi')";
if(mysqli_query($koneksi, $query)) {
echo json_encode(['status' => 'success']);
} else {
echo json_encode(['status' => 'error', 'pesan' => mysqli_error($koneksi)]);
}
?>