feat: memisahkan monorepo jadi 2 project (Kemiskinan & Publik)

This commit is contained in:
2026-06-11 14:38:22 +07:00
parent 4cbbd3c718
commit d77596f62b
48 changed files with 7277 additions and 36 deletions
+23
View File
@@ -0,0 +1,23 @@
<?php
session_start();
// Role check: hanya admin yang boleh menghapus
if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
header('Content-Type: application/json');
http_response_code(403);
echo json_encode(['status'=>'error','message'=>'Akses ditolak. Hanya admin yang dapat menghapus data.']);
exit;
}
include '../koneksi.php';
header('Content-Type: application/json');
$id = (int)($_POST['id'] ?? $_GET['id'] ?? 0);
if (!$id) { echo json_encode(['status'=>'error','message'=>'ID tidak valid.']); exit; }
try {
$pdo->prepare("DELETE FROM points WHERE id=?")->execute([$id]);
echo json_encode(['status'=>'success']);
} catch (PDOException $e) {
echo json_encode(['status'=>'error','message'=>$e->getMessage()]);
}
?>
+47
View File
@@ -0,0 +1,47 @@
<?php
session_start();
// Role check: hanya admin dan petugas yang boleh menyimpan
if (!isset($_SESSION['role']) || !in_array($_SESSION['role'], ['admin', 'petugas'])) {
header('Content-Type: application/json');
http_response_code(403);
echo json_encode(['status'=>'error','message'=>'Akses ditolak. Hanya admin/petugas yang dapat menambah data.']);
exit;
}
// point/simpan.php
include '../koneksi.php';
header('Content-Type: application/json');
$nama = trim($_POST['nama'] ?? '');
$no_wa = trim($_POST['no_wa'] ?? '');
$buka_24 = trim($_POST['buka_24_jam']?? '');
$latitude = trim($_POST['latitude'] ?? '');
$longitude = trim($_POST['longitude'] ?? '');
if (!$nama || !$no_wa || !$buka_24 || !$latitude || !$longitude) {
echo json_encode(['status'=>'error','message'=>'Semua field wajib diisi.']);
exit;
}
if (!in_array($buka_24, ['Ya','Tidak'])) {
echo json_encode(['status'=>'error','message'=>'Nilai buka_24_jam tidak valid.']);
exit;
}
try {
$stmt = $pdo->prepare(
"INSERT INTO points (nama, no_wa, buka_24_jam, latitude, longitude)
VALUES (?, ?, ?, ?, ?)"
);
$stmt->execute([$nama, $no_wa, $buka_24, $latitude, $longitude]);
$id = $pdo->lastInsertId();
$stmtSelect = $pdo->prepare("SELECT * FROM points WHERE id = ?");
$stmtSelect->execute([$id]);
$data = $stmtSelect->fetch(PDO::FETCH_ASSOC);
echo json_encode(['status'=>'success','data'=>$data]);
} catch (PDOException $e) {
echo json_encode(['status'=>'error','message'=>'Gagal menyimpan: '.$e->getMessage()]);
}
?>
+39
View File
@@ -0,0 +1,39 @@
<?php
session_start();
if (!isset($_SESSION['role']) || !in_array($_SESSION['role'], ['admin', 'petugas'])) {
header('Content-Type: application/json');
http_response_code(403);
echo json_encode(['status'=>'error','message'=>'Akses ditolak.']);
exit;
}
include '../koneksi.php';
header('Content-Type: application/json');
$id = (int)($_POST['id'] ?? 0);
$nama = trim($_POST['nama'] ?? '');
$no_wa = trim($_POST['no_wa'] ?? '');
$buka_24 = trim($_POST['buka_24_jam'] ?? '');
$latitude = trim($_POST['latitude'] ?? '');
$longitude = trim($_POST['longitude'] ?? '');
if (!$id || !$nama || !$no_wa || !$buka_24 || !$latitude || !$longitude) {
echo json_encode(['status'=>'error','message'=>'Data tidak lengkap.']);
exit;
}
try {
$stmt = $pdo->prepare(
"UPDATE points SET nama=?, no_wa=?, buka_24_jam=?, latitude=?, longitude=? WHERE id=?"
);
$stmt->execute([$nama, $no_wa, $buka_24, $latitude, $longitude, $id]);
$stmtSelect = $pdo->prepare("SELECT * FROM points WHERE id=?");
$stmtSelect->execute([$id]);
$data = $stmtSelect->fetch(PDO::FETCH_ASSOC);
echo json_encode(['status'=>'success','data'=>$data]);
} catch (PDOException $e) {
echo json_encode(['status'=>'error','message'=>$e->getMessage()]);
}
?>
+26
View File
@@ -0,0 +1,26 @@
<?php
session_start();
include '../koneksi.php';
if (!isset($_SESSION['user_id'])) {
echo json_encode(['status' => 'error', 'message' => 'Unauthorized']);
exit;
}
$id = $_POST['id'] ?? '';
$latitude = $_POST['latitude'] ?? '';
$longitude = $_POST['longitude'] ?? '';
if (!$id || !$latitude || !$longitude) {
echo json_encode(['status' => 'error', 'message' => 'Data tidak lengkap']);
exit;
}
try {
$stmt = $pdo->prepare("UPDATE points SET latitude = ?, longitude = ? WHERE id = ?");
$stmt->execute([$latitude, $longitude, $id]);
echo json_encode(['status' => 'success']);
} catch (PDOException $e) {
echo json_encode(['status' => 'error', 'message' => 'Database error']);
}