fix: error geser titik spbu dan memunculkan alat digitasi lahan
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
include '../koneksi.php';
|
||||
header('Content-Type: application/json');
|
||||
|
||||
try {
|
||||
// 1. Fetch all fasilitas_publik
|
||||
$stmtFp = $pdo->query("SELECT * FROM fasilitas_publik ORDER BY id DESC");
|
||||
$fasilitasPublik = $stmtFp->fetchAll();
|
||||
|
||||
// 2. Fetch all penduduk_miskin (dengan nama FP jika ada join)
|
||||
$stmtPm = $pdo->query("
|
||||
SELECT p.*, f.nama as fp_nama
|
||||
FROM penduduk_miskin p
|
||||
LEFT JOIN fasilitas_publik f ON p.fasilitas_publik_id = f.id
|
||||
ORDER BY p.id DESC
|
||||
");
|
||||
$pendudukMiskin = $stmtPm->fetchAll();
|
||||
|
||||
echo json_encode([
|
||||
'status' => 'success',
|
||||
'fasilitasPublik' => $fasilitasPublik,
|
||||
'pendudukMiskin' => $pendudukMiskin
|
||||
]);
|
||||
} catch (PDOException $e) {
|
||||
echo json_encode([
|
||||
'status' => 'error',
|
||||
'message' => 'Database error: ' . $e->getMessage()
|
||||
]);
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
include '../koneksi.php';
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$id = (int)($_GET['id'] ?? 0);
|
||||
if (!$id) { echo json_encode(['status'=>'error','message'=>'ID tidak valid.']); exit; }
|
||||
|
||||
try {
|
||||
$stmt = $pdo->prepare("SELECT * FROM fasilitas_publik WHERE id=?");
|
||||
$stmt->execute([$id]);
|
||||
$data = $stmt->fetch();
|
||||
if ($data) {
|
||||
echo json_encode(['status'=>'success','data'=>$data]);
|
||||
} else {
|
||||
echo json_encode(['status'=>'error','message'=>'Data tidak ditemukan.']);
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
echo json_encode(['status'=>'error','message'=>$e->getMessage()]);
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
include '../koneksi.php';
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$id = (int)($_GET['id'] ?? 0);
|
||||
if (!$id) { echo json_encode(['status'=>'error','message'=>'ID tidak valid.']); exit; }
|
||||
|
||||
try {
|
||||
$stmt = $pdo->prepare(
|
||||
"SELECT pm.*, fp.nama AS fp_nama FROM penduduk_miskin pm
|
||||
LEFT JOIN fasilitas_publik fp ON pm.fasilitas_publik_id = fp.id
|
||||
WHERE pm.id=?"
|
||||
);
|
||||
$stmt->execute([$id]);
|
||||
$data = $stmt->fetch();
|
||||
if ($data) {
|
||||
echo json_encode(['status'=>'success','data'=>$data]);
|
||||
} else {
|
||||
echo json_encode(['status'=>'error','message'=>'Data tidak ditemukan.']);
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
echo json_encode(['status'=>'error','message'=>$e->getMessage()]);
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
include '../koneksi.php';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$id = $_GET['id'] ?? null;
|
||||
if (!$id) {
|
||||
echo json_encode(['status' => 'error', 'message' => 'ID tidak diberikan']);
|
||||
exit;
|
||||
}
|
||||
|
||||
try {
|
||||
$stmt = $pdo->prepare("SELECT * FROM points WHERE id = ?");
|
||||
$stmt->execute([$id]);
|
||||
$data = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if ($data) {
|
||||
echo json_encode(['status' => 'success', 'data' => $data]);
|
||||
} else {
|
||||
echo json_encode(['status' => 'error', 'message' => 'Data tidak ditemukan']);
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
include '../koneksi.php';
|
||||
header('Content-Type: application/json');
|
||||
|
||||
try {
|
||||
$totalFP = $pdo->query("SELECT COUNT(*) FROM fasilitas_publik")->fetchColumn();
|
||||
$totalPM = $pdo->query("SELECT COUNT(*) FROM penduduk_miskin")->fetchColumn();
|
||||
$ditangani= $pdo->query("SELECT COUNT(*) FROM penduduk_miskin WHERE status_jangkauan='Dalam Jangkauan'")->fetchColumn();
|
||||
$belum = $totalPM - $ditangani;
|
||||
$persen = $totalPM > 0 ? round(($ditangani / $totalPM) * 100, 1) : 0;
|
||||
|
||||
echo json_encode([
|
||||
'status' => 'success',
|
||||
'total_ri' => (int)$totalFP,
|
||||
'total_pm' => (int)$totalPM,
|
||||
'ditangani' => (int)$ditangani,
|
||||
'belum_ditangani'=> (int)$belum,
|
||||
'persentase' => $persen,
|
||||
]);
|
||||
} catch (PDOException $e) {
|
||||
echo json_encode(['status'=>'error','message'=>$e->getMessage()]);
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,28 @@
|
||||
<?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);
|
||||
$status_bantuan = trim($_POST['status_bantuan'] ?? '');
|
||||
|
||||
if (!$id || !$status_bantuan) {
|
||||
echo json_encode(['status'=>'error','message'=>'Data tidak valid.']);
|
||||
exit;
|
||||
}
|
||||
|
||||
try {
|
||||
$stmt = $pdo->prepare("UPDATE penduduk_miskin SET status_bantuan=? WHERE id=?");
|
||||
$stmt->execute([$status_bantuan, $id]);
|
||||
echo json_encode(['status'=>'success']);
|
||||
} catch (PDOException $e) {
|
||||
echo json_encode(['status'=>'error','message'=>$e->getMessage()]);
|
||||
}
|
||||
?>
|
||||
+1
-1
@@ -393,7 +393,7 @@ $modulTitle = $modulNames[$modul] ?? 'Analisis Spasial';
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($modul === 'digitasi' || $modul === 'utuh'): ?>
|
||||
<?php if ($currentRole === 'admin'): ?>
|
||||
<?php if ($currentRole === 'admin' || $currentRole === 'petugas'): ?>
|
||||
<button class="tool-btn" id="btnToolJalan" data-mode="jalan" title="Gambar Jalan">
|
||||
<span class="tool-icon">🛣️</span>
|
||||
<span>Jalan</span>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
session_start();
|
||||
include '../koneksi.php';
|
||||
|
||||
if (!isset($_SESSION['user_id'])) {
|
||||
if (!isset($_SESSION['role']) || !in_array($_SESSION['role'], ['admin', 'petugas'])) {
|
||||
echo json_encode(['status' => 'error', 'message' => 'Unauthorized']);
|
||||
exit;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user