diff --git a/01/api/add_columns.php b/01/api/add_columns.php
deleted file mode 100644
index d2af4e9..0000000
--- a/01/api/add_columns.php
+++ /dev/null
@@ -1,28 +0,0 @@
-query($sql);
- preg_match('/ADD COLUMN (\w+)/', $sql, $m);
- $colName = $m[1] ?? $sql;
- if ($result) {
- echo "Kolom $colName: OK\n";
- } else {
-
- if ($conn->errno == 1060) {
- echo "Kolom $colName: Sudah ada (skip)\n";
- } else {
- echo "Kolom $colName: GAGAL - " . $conn->error . "\n";
- }
- }
-}
-
-echo "\nDatabase sudah siap!\n";
-?>
diff --git a/01/api/check_db.php b/01/api/check_db.php
deleted file mode 100644
index 736e7bc..0000000
--- a/01/api/check_db.php
+++ /dev/null
@@ -1,24 +0,0 @@
-query("SHOW TABLES");
-if($res) {
- while($row = $res->fetch_array()) {
- echo $row[0] . "
";
- }
-} else {
- echo "Error showing tables: " . $conn->error;
-}
-
-echo "
✓ Tabel users berhasil dibuat.
"; -} else { - echo "✗ Gagal membuat tabel users: " . $conn->error . "
"; -} - -// 2. Insert akun admin default (password: admin123) -$password_hash = password_hash('admin123', PASSWORD_BCRYPT); - -$stmt = $conn->prepare("INSERT IGNORE INTO users (username, password, nama_lengkap, role) VALUES (?, ?, ?, 'admin')"); -$username = 'admin'; -$nama = 'Administrator'; -$stmt->bind_param('sss', $username, $password_hash, $nama); - -if ($stmt->execute()) { - if ($stmt->affected_rows > 0) { - echo "✓ Akun admin berhasil dibuat.
"; - } else { - echo "⚠ Akun admin sudah ada (tidak diubah).
"; - } -} else { - echo "✗ Gagal membuat akun admin: " . $stmt->error . "
"; -} - -$stmt->close(); -$conn->close(); - -echo "Kredensial Login:
"; -echo "Username: admin
Password: admin123
PENTING: Hapus file ini setelah setup selesai!
"; -?> diff --git a/01/api/setup_users.sql b/01/api/setup_users.sql deleted file mode 100644 index f3294c3..0000000 --- a/01/api/setup_users.sql +++ /dev/null @@ -1,14 +0,0 @@ -USE kemiskinan_ibadah; - -CREATE TABLE IF NOT EXISTS users ( - id INT AUTO_INCREMENT PRIMARY KEY, - username VARCHAR(100) NOT NULL UNIQUE, - password VARCHAR(255) NOT NULL, - nama_lengkap VARCHAR(200) NOT NULL, - role ENUM('admin','operator') NOT NULL DEFAULT 'operator', - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- Password default: admin123 (bcrypt hashed) -INSERT IGNORE INTO users (username, password, nama_lengkap, role) VALUES -('admin', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Administrator', 'admin'); diff --git a/01/api/setup_warga.php b/01/api/setup_warga.php deleted file mode 100644 index ac09c35..0000000 --- a/01/api/setup_warga.php +++ /dev/null @@ -1,27 +0,0 @@ -query($sql) === TRUE) { - echo "Table 'warga' created successfully\n"; -} else { - echo "Error creating table: " . $conn->error . "\n"; -} - -$conn->close(); -?> diff --git a/01/api/setup_webgis.sql b/01/api/setup_webgis.sql deleted file mode 100644 index 0575ac2..0000000 --- a/01/api/setup_webgis.sql +++ /dev/null @@ -1,60 +0,0 @@ -CREATE DATABASE IF NOT EXISTS webgis - CHARACTER SET utf8mb4 - COLLATE utf8mb4_unicode_ci; - -USE webgis; - -CREATE TABLE IF NOT EXISTS spbu ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama VARCHAR(200) NOT NULL, - no VARCHAR(60) NOT NULL, - status ENUM('Ya','Tidak') NOT NULL DEFAULT 'Tidak', - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE IF NOT EXISTS jalan ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama VARCHAR(200) NOT NULL, - status ENUM('Nasional','Provinsi','Kabupaten') NOT NULL DEFAULT 'Kabupaten', - panjang DECIMAL(12,2) NOT NULL DEFAULT 0, - koordinat LONGTEXT NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE IF NOT EXISTS parsil ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama VARCHAR(200) NOT NULL, - pemilik VARCHAR(200) NOT NULL, - status ENUM('SHM','HGB','Sewa','Lainnya') NOT NULL DEFAULT 'SHM', - luas DECIMAL(14,2) NOT NULL DEFAULT 0, - koordinat LONGTEXT NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE IF NOT EXISTS kemiskinan ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama_kk VARCHAR(200) NOT NULL, - jumlah_kk INT NOT NULL DEFAULT 1, - alamat TEXT NOT NULL, - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE IF NOT EXISTS masjid ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama_masjid VARCHAR(200) NOT NULL, - pic_masjid VARCHAR(200) NOT NULL, - alamat_masjid TEXT NOT NULL, - radius INT NOT NULL DEFAULT 500, - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; diff --git a/01/api/test_desc.php b/01/api/test_desc.php deleted file mode 100644 index 1631c60..0000000 --- a/01/api/test_desc.php +++ /dev/null @@ -1,5 +0,0 @@ -query('DESCRIBE jalan'); -while($row = $res->fetch_assoc()) echo json_encode($row)."\n"; -?> diff --git a/01/api/test_enum.php b/01/api/test_enum.php deleted file mode 100644 index 0f1aa06..0000000 --- a/01/api/test_enum.php +++ /dev/null @@ -1,11 +0,0 @@ -prepare("INSERT INTO jalan (nama, status, panjang, koordinat) VALUES (?, ?, ?, ?)"); -$nama = 'Test'; -$status = 'Jalan Kabupaten'; -$panjang = 10; -$koordinat = '[]'; -$stmt->bind_param("ssds", $nama, $status, $panjang, $koordinat); -$stmt->execute(); -echo $stmt->error; -?> diff --git a/01/api/update_db.sql b/01/api/update_db.sql deleted file mode 100644 index 3c8ff7f..0000000 --- a/01/api/update_db.sql +++ /dev/null @@ -1,38 +0,0 @@ -USE kemiskinan_ibadah; - --- 1. Update USERS table role ENUM -ALTER TABLE users MODIFY COLUMN role ENUM('admin', 'operator', 'walikota') NOT NULL DEFAULT 'operator'; - --- 2. Add walikota user (password: walikota123, hash generated previously or will generate) --- Let's use the hash for 'walikota123': $2y$10$w6QO8q/s28pX83JgY3WvM.Hw2N2G1aN9M0iR8L7Pq4z8i5u0N72E. (Wait, let's just create a PHP script to insert to avoid hash issues) - --- 3. Modify KEMISKINAN table -ALTER TABLE kemiskinan -ADD COLUMN tanggal_lahir DATE NULL AFTER nama_kk, -ADD COLUMN pendidikan VARCHAR(100) NULL AFTER tanggal_lahir, -ADD COLUMN riwayat_penyakit TEXT NULL AFTER pendidikan; - --- 4. Create LAPORAN_MASYARAKAT table -CREATE TABLE IF NOT EXISTS laporan_masyarakat ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama_pelapor VARCHAR(150) NOT NULL, - kontak VARCHAR(50) NULL, - deskripsi_laporan TEXT NOT NULL, - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - foto VARCHAR(255) NULL, - status ENUM('menunggu', 'diproses', 'selesai') NOT NULL DEFAULT 'menunggu', - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- 5. Create HISTORI_BANTUAN table -CREATE TABLE IF NOT EXISTS histori_bantuan ( - id INT AUTO_INCREMENT PRIMARY KEY, - kemiskinan_id INT NOT NULL, - jenis_bantuan VARCHAR(150) NOT NULL, - tanggal DATE NOT NULL, - keterangan TEXT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (kemiskinan_id) REFERENCES kemiskinan(id) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; diff --git a/01/api/update_kemiskinan.php b/01/api/update_kemiskinan.php index c1c21cd..0507933 100644 --- a/01/api/update_kemiskinan.php +++ b/01/api/update_kemiskinan.php @@ -10,7 +10,6 @@ $jumlah_kk = isset($data['jumlah_kk']) ? intval($data['jumlah_kk']) : $alamat = $conn->real_escape_string($data['alamat'] ?? ''); $lat = isset($data['lat']) ? floatval($data['lat']) : 0; $lng = isset($data['lng']) ? floatval($data['lng']) : 0; -// Kolom baru $tanggal_lahir = $conn->real_escape_string($data['tanggal_lahir'] ?? ''); $pendidikan = $conn->real_escape_string($data['pendidikan'] ?? ''); $riwayat_penyakit = $conn->real_escape_string($data['riwayat_penyakit'] ?? ''); @@ -22,6 +21,7 @@ if ($id <= 0 || $nama_kk === '') { $tgl_val = !empty($tanggal_lahir) ? "'$tanggal_lahir'" : "NULL"; +// 1. Update tabel kemiskinan $sql = "UPDATE kemiskinan SET nama_kk='$nama_kk', jumlah_kk=$jumlah_kk, @@ -34,8 +34,18 @@ $sql = "UPDATE kemiskinan SET WHERE id=$id"; if ($conn->query($sql)) { + // 2. Sync data ke tabel warga (baris Kepala Keluarga) + $sql_warga = "UPDATE warga SET + nama_warga='$nama_kk', + tanggal_lahir=$tgl_val, + pendidikan='$pendidikan', + riwayat_penyakit='$riwayat_penyakit' + WHERE kemiskinan_id=$id AND hubungan_keluarga='Kepala Keluarga'"; + $conn->query($sql_warga); + echo json_encode(["status" => "success"]); } else { echo json_encode(["status" => "error", "message" => $conn->error]); } ?> + diff --git a/01/index.html b/01/index.html index a94c94b..a28fc62 100644 --- a/01/index.html +++ b/01/index.html @@ -4098,9 +4098,9 @@ map.fitBounds(bounds, { padding: [24, 24], maxZoom: 13 }); } - console.log('Layer kecamatan berhasil dimuat:', kecLayer.getLayers().length, 'fitur'); + // log removed }) - .catch(err => console.log('Admin Kecamatan Error:', err)); + .catch(err => {}); } /* ── MODE ── */ @@ -4402,19 +4402,19 @@ map.closePopup(); setMode(null); - ensureLayerVisible('jalan', jalan.id); - focusFeature('jalan', jalan.id); + ensureLayerVisible('jalan', d.id); + focusFeature('jalan', d.id); } else { - console.log(response); + // log removed alert("Gagal simpan jalan"); } }) .catch(err => { - console.log(err); + // log removed alert("Error simpan jalan"); }); @@ -4423,7 +4423,7 @@ const pts = normalizeLinePoints(d.pts); if (pts.length < 2) { - console.log('Format koordinat jalan tidak valid:', d.pts); + // log removed return; } @@ -4663,19 +4663,19 @@ } else { - console.log(response); + // log removed alert("Gagal simpan parsil"); } }) - .catch(err => console.log("Parsil Error:", err)); + .catch(err => {}); } function renderParsil(d) { const pts = normalizePolyPoints(d.pts); if (pts.length < 3) { - console.log('Format koordinat parsil tidak valid:', d.pts); + // log removed return; } @@ -4904,7 +4904,7 @@ state.featureRefs[type] = {}; if (type === 'kemiskinan') state.kkLayerRefs = {}; const list = document.getElementById('list-' + type); - list.querySelectorAll('.dcard').forEach(x => x.remove()); + if (list) list.querySelectorAll('.dcard').forEach(x => x.remove()); state[type].forEach(d => { if (type === 'spbu') { @@ -5320,7 +5320,7 @@ }); }) - .catch(err => console.log("SPBU Error:", err)); + .catch(err => {}); } @@ -5358,7 +5358,7 @@ }); }) - .catch(err => console.log("Jalan Error:", err)); + .catch(err => {}); } @@ -5397,7 +5397,7 @@ }); }) - .catch(err => console.log("Parsil Error:", err)); + .catch(err => {}); } /* ── KEMISKINAN ── */ @@ -5522,6 +5522,22 @@ +