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
+28
View File
@@ -0,0 +1,28 @@
<?php
include "../../config/koneksi.php";
$id_penduduk = isset($_GET['id_penduduk']) ? (int)$_GET['id_penduduk'] : 0;
$query = mysqli_query($koneksi, "SELECT * FROM anggota_keluarga WHERE id_penduduk = '$id_penduduk'");
$data = [];
while($row = mysqli_fetch_assoc($query)) {
// 1. Hitung Umur dari Tanggal Lahir
$tanggal_lahir = new DateTime($row['tanggal_lahir']);
$sekarang = new DateTime('today');
$umur = $tanggal_lahir->diff($sekarang)->y;
$row['umur'] = $umur;
// 2. Logika Cerdas Rekomendasi Pelatihan
$pekerjaan = strtolower($row['pekerjaan']);
// Cek apakah ada kata "tidak bekerja", "menganggur", atau "belum bekerja"
$nganggur = (strpos($pekerjaan, 'tidak bekerja') !== false || strpos($pekerjaan, 'menganggur') !== false || strpos($pekerjaan, 'belum') !== false);
// Syarat: Umur 17-35 tahun DAN statusnya menganggur
$row['rekomendasi_pelatihan'] = ($umur >= 17 && $umur <= 35 && $nganggur) ? true : false;
$data[] = $row;
}
header('Content-Type: application/json');
echo json_encode($data);
?>
+11
View File
@@ -0,0 +1,11 @@
<?php
include "../../config/koneksi.php";
$id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
if (mysqli_query($koneksi, "DELETE FROM anggota_keluarga WHERE id = '$id'")) {
echo json_encode(['status' => 'success']);
mysqli_query($koneksi, "UPDATE penduduk_miskin SET tanggungan = (SELECT COUNT(id) FROM anggota_keluarga WHERE id_penduduk = '$id_penduduk') WHERE id = '$id_penduduk'");
} else {
echo json_encode(['status' => 'error']);
}
?>
+20
View File
@@ -0,0 +1,20 @@
<?php
include "../../config/koneksi.php";
$id_penduduk = $_POST['id_penduduk'];
$nik = mysqli_real_escape_string($koneksi, $_POST['nik']);
$nama_lengkap = mysqli_real_escape_string($koneksi, $_POST['nama_lengkap']);
$tanggal_lahir = $_POST['tanggal_lahir'];
$pendidikan = mysqli_real_escape_string($koneksi, $_POST['pendidikan_terakhir']);
$pekerjaan = mysqli_real_escape_string($koneksi, $_POST['pekerjaan']);
$query = "INSERT INTO anggota_keluarga (id_penduduk, nik, nama_lengkap, tanggal_lahir, pendidikan_terakhir, pekerjaan)
VALUES ('$id_penduduk', '$nik', '$nama_lengkap', '$tanggal_lahir', '$pendidikan', '$pekerjaan')";
if (mysqli_query($koneksi, $query)) {
echo json_encode(['status' => 'success']);
mysqli_query($koneksi, "UPDATE penduduk_miskin SET tanggungan = (SELECT COUNT(id) FROM anggota_keluarga WHERE id_penduduk = '$id_penduduk') WHERE id = '$id_penduduk'");
} else {
echo json_encode(['status' => 'error', 'pesan' => mysqli_error($koneksi)]);
}
?>
+24
View File
@@ -0,0 +1,24 @@
<?php
include "../../config/koneksi.php";
$id_anggota = $_POST['id_anggota'];
$nik = mysqli_real_escape_string($koneksi, $_POST['nik']);
$nama_lengkap = mysqli_real_escape_string($koneksi, $_POST['nama_lengkap']);
$tanggal_lahir = $_POST['tanggal_lahir'];
$pendidikan_terakhir = mysqli_real_escape_string($koneksi, $_POST['pendidikan_terakhir']);
$pekerjaan = mysqli_real_escape_string($koneksi, $_POST['pekerjaan']);
$query = "UPDATE anggota_keluarga SET
nik = '$nik',
nama_lengkap = '$nama_lengkap',
tanggal_lahir = '$tanggal_lahir',
pendidikan_terakhir = '$pendidikan_terakhir',
pekerjaan = '$pekerjaan'
WHERE id = '$id_anggota'";
if(mysqli_query($koneksi, $query)) {
echo json_encode(['status' => 'success']);
} else {
echo json_encode(['status' => 'error', 'pesan' => mysqli_error($koneksi)]);
}
?>
+13
View File
@@ -0,0 +1,13 @@
<?php
include "../../config/koneksi.php";
include "../../config/check_session.php";
$id = $_GET['id'];
$query = "DELETE FROM tempat_ibadah WHERE id = '$id'";
if(mysqli_query($koneksi, $query)) {
echo json_encode(['status' => 'success']);
} else {
echo json_encode(['status' => 'error']);
}
?>
+12
View File
@@ -0,0 +1,12 @@
<?php
include "../../config/koneksi.php";
include "../../config/check_session.php";
$nama = $_POST['nama']; $jenis = $_POST['jenis'];
$radius = $_POST['radius']; $alamat = $_POST['alamat'];
$lat = $_POST['latitude']; $lng = $_POST['longitude'];
$query = "INSERT INTO tempat_ibadah (nama, jenis, radius, alamat, latitude, longitude)
VALUES ('$nama', '$jenis', '$radius', '$alamat', '$lat', '$lng')";
echo json_encode(['status' => mysqli_query($koneksi, $query) ? 'success' : 'error']);
?>
+17
View File
@@ -0,0 +1,17 @@
<?php
include "../../config/koneksi.php";
include "../../config/check_session.php";
$id = $_POST['id'];
$nama = $_POST['nama'];
$jenis = $_POST['jenis'];
$radius = $_POST['radius'];
$alamat = $_POST['alamat'];
$query = "UPDATE tempat_ibadah SET nama='$nama', jenis='$jenis', radius='$radius', alamat='$alamat' WHERE id='$id'";
if(mysqli_query($koneksi, $query)) {
echo json_encode(['status' => 'success']);
} else {
echo json_encode(['status' => 'error', 'message' => mysqli_error($koneksi)]);
}
?>
+13
View File
@@ -0,0 +1,13 @@
<?php
include "../../config/koneksi.php";
include "../../config/check_session.php";
$id = $_GET['id'];
$query = "DELETE FROM penduduk_miskin WHERE id = '$id'";
if(mysqli_query($koneksi, $query)) {
echo json_encode(['status' => 'success']);
} else {
echo json_encode(['status' => 'error']);
}
?>
+23
View File
@@ -0,0 +1,23 @@
<?php
include "../../config/koneksi.php";
include "../../config/check_session.php";
$nama_kk = $_POST['nama_kk'];
$agama = $_POST['agama'];
$tanggungan = $_POST['tanggungan'];
$pengeluaran = $_POST ['pengeluaran'];
$lantai = $_POST ['lantai'];
$dinding = $_POST ['dinding'];
$sanitasi = $_POST ['sanitasi'];
$listrik = $_POST ['listrik'];
$air = $_POST ['air'];
$skor_aset = $_POST ['skor_aset'];
$status = $_POST ['status_kemiskinan'];
$alamat = $_POST['alamat'];
$lat = $_POST['latitude'];
$lng = $_POST['longitude'];
$query = "INSERT INTO penduduk_miskin (nama_kk, agama, tanggungan, pengeluaran, lantai, dinding, sanitasi, listrik, air, skor_aset, status_kemiskinan, alamat, latitude, longitude)
VALUES ('$nama_kk', '$agama', '$tanggungan', '$pengeluaran', '$lantai', '$dinding', '$sanitasi', '$listrik', '$air', '$skor_aset', '$status', '$alamat', '$lat', '$lng')";
echo json_encode(['status' => mysqli_query($koneksi, $query) ? 'success' : 'error']);
?>
+25
View File
@@ -0,0 +1,25 @@
<?php
include "../../config/koneksi.php";
include "../../config/check_session.php";
$id = $_POST["id"];
$nama_kk = $_POST['nama_kk'];
$agama = $_POST['agama'];
$tanggungan = $_POST['tanggungan'];
$pengeluaran = $_POST ['pengeluaran'];
$lantai = $_POST ['lantai'];
$dinding = $_POST ['dinding'];
$sanitasi = $_POST ['sanitasi'];
$listrik = $_POST ['listrik'];
$air = $_POST ['air'];
$skor_aset = $_POST ['skor_aset'];
$status = $_POST ['status_kemiskinan'];
$alamat = $_POST['alamat'];
$query = "UPDATE penduduk_miskin SET nama_kk='$nama_kk', agama='$agama', tanggungan='$tanggungan', pengeluaran='$pengeluaran', lantai='$lantai', dinding='$dinding', sanitasi='$sanitasi', listrik='$listrik', air='$air', skor_aset='$skor_aset', status_kemiskinan='$status', alamat='$alamat' WHERE id='$id'";
if(mysqli_query($koneksi, $query)) {
echo json_encode(['status' => 'success']);
} else {
echo json_encode(['status' => 'error', 'message' => mysqli_error($koneksi)]);
}
?>
+8
View File
@@ -0,0 +1,8 @@
<?php
include "../../config/koneksi.php";
include "../../config/check_session.php";
$gk = (int) $_POST['garis_kemiskinan'];
mysqli_query($koneksi, "UPDATE pengaturan SET garis_kemiskinan = '$gk' WHERE id = 1");
echo json_encode(['status' => 'success']);
?>
+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)]);
}
?>