From 123425bf3959db68ecbfe6c4e2ee12289c9cdfd4 Mon Sep 17 00:00:00 2001 From: Kris Date: Tue, 2 Jun 2026 03:12:01 +0000 Subject: [PATCH] Upload files to "/" --- dashboard.php | 540 +++++++++++++++++++++++++++++++++++++++++++ export_blankspot.php | 27 +++ index.php | 146 ++++++++++++ login.php | 92 ++++++++ logout.php | 5 + 5 files changed, 810 insertions(+) create mode 100644 dashboard.php create mode 100644 export_blankspot.php create mode 100644 index.php create mode 100644 login.php create mode 100644 logout.php diff --git a/dashboard.php b/dashboard.php new file mode 100644 index 0000000..c537a67 --- /dev/null +++ b/dashboard.php @@ -0,0 +1,540 @@ + 'Administrator Sistem', + 'dinas' => 'Dinas Sosial', + 'rumah_ibadah' => 'Pengurus Rumah Ibadah', + 'relawan' => 'Relawan Lapangan', + 'masyarakat' => 'Masyarakat' +][$role] ?? 'Pengguna'; + +$canManageRI = in_array($role, ['admin','dinas','rumah_ibadah'], true); +$canCreateRI = in_array($role, ['admin','dinas'], true); +$canVerify = in_array($role, ['admin','dinas','relawan'], true); +$canAnalyze = in_array($role, ['admin','dinas'], true); +$canRecordBantuan = in_array($role, ['admin','dinas','rumah_ibadah','relawan'], true); +$canExport = in_array($role, ['admin','dinas'], true); +$canManageUsers = $role === 'admin'; +$canReportMusibah = true; +$canManageMusibah = in_array($role, ['admin','dinas','relawan','rumah_ibadah'], true); +$canManagePemberdayaan = in_array($role, ['admin','dinas','relawan','rumah_ibadah'], true); + +$tabLabels = [ + 'dashboard' => 'Ringkasan', + 'peta' => $role === 'masyarakat' ? 'Usulan Saya' : 'Peta Data', + 'input' => $role === 'masyarakat' ? 'Ajukan Bantuan' : 'Input Keluarga', + 'rumah_ibadah' => $role === 'rumah_ibadah' ? 'Layanan Saya' : 'Rumah Ibadah', + 'validasi' => 'Verifikasi', + 'bantuan' => 'Penyaluran', + 'laporan' => 'Laporan', + 'akun' => 'Akun Masuk', + 'musibah' => 'Musibah', + 'pemberdayaan' => 'Pemberdayaan' +]; + +$roleDescription = [ + 'admin' => 'Mengelola akun, data utama, verifikasi, dan laporan sistem.', + 'dinas' => 'Memantau cakupan bantuan dan menentukan prioritas wilayah.', + 'rumah_ibadah' => 'Mengatur radius layanan, kuota, dan pencatatan bantuan.', + 'relawan' => 'Membantu input data, survei, dan verifikasi lapangan.', + 'masyarakat' => 'Mengajukan data keluarga yang membutuhkan bantuan.' +][$role] ?? 'Mengakses fitur sesuai hak pengguna.'; +?> + + + + + + WebGIS SIPANTAS + + + + + + + +
+ + + + + +
+ + + +
+ +
+ Legenda
+ Rumah Ibadah
+ Ditanggung
+ Blank Spot
+ Menunggu Verifikasi
+ Tidak Valid +
+ +
+ Panduan peta + Geser atau zoom peta untuk melihat sebaran data. +
+ + + +
+ + + + + + + diff --git a/export_blankspot.php b/export_blankspot.php new file mode 100644 index 0000000..6ad6e3d --- /dev/null +++ b/export_blankspot.php @@ -0,0 +1,27 @@ +query('SELECT nama_kk, alamat, no_kk, nik, kerentanan, kebutuhan, status_verifikasi, status_bantuan, lat, lng, catatan + FROM keluarga + WHERE status_bantuan = "Blank Spot" + ORDER BY FIELD(kerentanan, "Miskin Ekstrem", "Sangat Miskin", "Miskin", "Rentan Miskin"), nama_kk ASC'); + +while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + fputcsv($output, $row); +} + +fclose($output); +exit; diff --git a/index.php b/index.php new file mode 100644 index 0000000..4bc518a --- /dev/null +++ b/index.php @@ -0,0 +1,146 @@ + + + + + + + SIPANTAS + + + + + +
+ + S + SIPANTAS + + + + +
+ + Keluar + Dashboard + + Daftar + Masuk + +
+
+ + +
Kamu berhasil keluar.
+ + +
+
+
+
WebGIS SIPANTAS
+

Peta sosial untuk penyaluran bantuan yang lebih terarah.

+

Kelola titik keluarga, rumah ibadah, radius layanan, dan status bantuan dalam satu peta interaktif.

+ + +
+ +
+
+
+
+
+
+
RI
+
RI
+
+
+
+
+
+ Cakupan + 76% +
+
+
+
+ +
+
+ Fitur +

Ringkas, jelas, dan langsung dipakai.

+
+ +
+
+ +

Pemetaan Data

+

Titik rumah ibadah dan keluarga tampil langsung di peta.

+
+
+ +

Radius Layanan

+

Jangkauan rumah ibadah dapat disesuaikan sesuai kapasitas.

+
+
+ ! +

Blank Spot

+

Area yang belum tercakup dapat terlihat lebih cepat.

+
+
+ +

Rute Bantuan

+

Distribusi bantuan dapat diarahkan melalui jalur peta.

+
+
+
+ +
+
+ Alur +

Mulai dari data, lanjut ke verifikasi, lalu pemetaan.

+
+ +
+
01Input data
+
02Verifikasi
+
03Analisis peta
+
04Monitoring
+
+
+ +
+
+ Portal +

Masuk ke sistem

+

Buat akun sesuai peran, atau masuk dengan akun yang sudah terdaftar.

+
+
+ + Buka Dashboard + + Daftar + Masuk + +
+
+
+ + + + diff --git a/login.php b/login.php new file mode 100644 index 0000000..cd0b5e6 --- /dev/null +++ b/login.php @@ -0,0 +1,92 @@ +prepare('SELECT * FROM users WHERE email = ? LIMIT 1'); + $stmt->execute([$email]); + $user = $stmt->fetch(); + + $isValid = false; + if ($user) { + // Mendukung hash SHA-256 dari seed awal database. + $isValid = hash('sha256', $password) === $user['password_hash']; + // Jika nanti kamu memakai password_hash(), baris ini juga tetap mendukungnya. + if (!$isValid && password_verify($password, $user['password_hash'])) { + $isValid = true; + } + } + + if ($isValid) { + $statusAkun = $user['status_akun'] ?? 'Aktif'; + if ($statusAkun !== 'Aktif') { + if ($statusAkun === 'Menunggu Verifikasi') { + $error = 'Akun kamu masih menunggu verifikasi administrator.'; + } else { + $error = 'Akun kamu belum dapat digunakan. Silakan hubungi administrator.'; + } + } else { + $_SESSION['user'] = [ + 'id' => (int)$user['id'], + 'nama' => $user['nama'], + 'email' => $user['email'], + 'role' => $user['role'], + 'rumah_ibadah_id' => $user['rumah_ibadah_id'] ? (int)$user['rumah_ibadah_id'] : null, + 'status_akun' => $statusAkun, + ]; + header('Location: dashboard.php'); + exit; + } + } + + if ($error === '') { + $error = 'Email atau password salah.'; + } +} +?> + + + + + + Login - SIPANTAS + + + + + +
+
SIPANTAS
+

Masuk

+

Gunakan akun yang sudah terdaftar.

+ + + +
+ + +
+ + + + + + + +
+ +

Belum punya akun? Daftar akun.

+ +
+ + diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..dd3d398 --- /dev/null +++ b/logout.php @@ -0,0 +1,5 @@ +