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 endif; ?>
|
||||||
|
|
||||||
<?php if ($modul === 'digitasi' || $modul === 'utuh'): ?>
|
<?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">
|
<button class="tool-btn" id="btnToolJalan" data-mode="jalan" title="Gambar Jalan">
|
||||||
<span class="tool-icon">🛣️</span>
|
<span class="tool-icon">🛣️</span>
|
||||||
<span>Jalan</span>
|
<span>Jalan</span>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
session_start();
|
session_start();
|
||||||
include '../koneksi.php';
|
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']);
|
echo json_encode(['status' => 'error', 'message' => 'Unauthorized']);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user