From 731ac62c835ab79994f7d7227c91d24460f8a66b Mon Sep 17 00:00:00 2001 From: NASYA KHAIRA ADINIA Date: Thu, 11 Jun 2026 01:41:05 +0700 Subject: [PATCH] remove setup script for security --- setup_db.php | 257 --------------------------------------------------- 1 file changed, 257 deletions(-) delete mode 100644 setup_db.php diff --git a/setup_db.php b/setup_db.php deleted file mode 100644 index 9c537ed..0000000 --- a/setup_db.php +++ /dev/null @@ -1,257 +0,0 @@ -body{font-family:monospace;background:#0b1120;color:#e0e6f0;padding:20px} .ok{color:#00c9aa} .err{color:#f03e5a} .info{color:#f59e0b} h2{color:#1a5fff}"; -echo "

🔧 WebGIS Database Installer

"; - -// Koneksi tanpa pilih database -$conn = new mysqli($host, $user, $pass); -if ($conn->connect_error) { - die("

❌ Gagal konek ke MySQL: " . $conn->connect_error . "

"); -} -echo "

✅ Koneksi ke MySQL berhasil! (Host: $host)

"; - -// ── 1. Buat database webgis ────────────────────────────────── -$conn->query("CREATE DATABASE IF NOT EXISTS webgis CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); -echo "

✅ Database webgis dibuat/sudah ada.

"; - -// ── 2. Buat database geososial ─────────────────────────────── -$conn->query("CREATE DATABASE IF NOT EXISTS geososial CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); -echo "

✅ Database geososial dibuat/sudah ada.

"; - -// ── 3. Import tabel webgis ─────────────────────────────────── -echo "

📦 Import Database SPBU (webgis)

"; -$conn->select_db('webgis'); -$webgis_sql = " -SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO'; -SET time_zone = '+00:00'; - -CREATE TABLE IF NOT EXISTS `spbu` ( - `id` int NOT NULL AUTO_INCREMENT, - `nama_spbu` varchar(100) DEFAULT NULL, - `no_wa` varchar(20) DEFAULT NULL, - `buka_24jam` enum('Ya','Tidak') DEFAULT NULL, - `latitude` double DEFAULT NULL, - `longitude` double DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - -CREATE TABLE IF NOT EXISTS `jalan` ( - `id` int NOT NULL AUTO_INCREMENT, - `nama_jalan` varchar(150) DEFAULT NULL, - `geojson` longtext, - `created_at` timestamp DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE IF NOT EXISTS `parsil` ( - `id` int NOT NULL AUTO_INCREMENT, - `nama_parsil` varchar(150) DEFAULT NULL, - `geojson` longtext, - `created_at` timestamp DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -INSERT IGNORE INTO `spbu` (`id`, `nama_spbu`, `no_wa`, `buka_24jam`, `latitude`, `longitude`) VALUES -(1, 'SPBU TanjungPura', '12345678', 'Ya', -0.028881894870255782, 109.3369621038437), -(2, 'SPBU tak tau', '1111111', 'Ya', -0.019509077149319303, 109.33181762695314), -(3, 'SPBU TanjungPura', '1111', 'Tidak', -0.027379988581930446, 109.34041678905488); -"; - -$stmts = array_filter(array_map('trim', explode(';', $webgis_sql))); -$ok = 0; $fail = 0; -foreach ($stmts as $stmt) { - if (empty($stmt)) continue; - if ($conn->query($stmt)) { - $ok++; - } else { - echo "

⚠️ " . htmlspecialchars(substr($stmt,0,80)) . "... → " . $conn->error . "

"; - $fail++; - } -} -echo "

✅ webgis: $ok query berhasil, $fail gagal.

"; - -// ── 4. Import tabel geososial ──────────────────────────────── -echo "

📦 Import Database GeoSosial (geososial)

"; -$conn->select_db('geososial'); - -$queries = [ - "CREATE TABLE IF NOT EXISTS users ( - id INT AUTO_INCREMENT PRIMARY KEY, - username VARCHAR(50) NOT NULL UNIQUE, - password VARCHAR(255) NOT NULL, - role ENUM('admin','petugas','walikota','viewer') NOT NULL DEFAULT 'viewer', - jabatan VARCHAR(100), - can_edit TINYINT(1) NOT NULL DEFAULT 0, - is_admin TINYINT(1) NOT NULL DEFAULT 0, - is_wali TINYINT(1) NOT NULL DEFAULT 0, - aktif TINYINT(1) NOT NULL DEFAULT 1, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP - ) ENGINE=InnoDB", - - "CREATE TABLE IF NOT EXISTS kelurahan ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama VARCHAR(100) NOT NULL, - kecamatan VARCHAR(100) NOT NULL - ) ENGINE=InnoDB", - - "CREATE TABLE IF NOT EXISTS rumah_ibadah ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama VARCHAR(150) NOT NULL, - tipe ENUM('masjid','gereja','pura','vihara','klenteng') NOT NULL, - ikon VARCHAR(10) DEFAULT '🕌', - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - kapasitas INT DEFAULT 0, - kelurahan_id INT, - alamat TEXT, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (kelurahan_id) REFERENCES kelurahan(id) ON DELETE SET NULL - ) ENGINE=InnoDB", - - "CREATE TABLE IF NOT EXISTS warga ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama VARCHAR(150) NOT NULL, - nik VARCHAR(16), - kelurahan_id INT, - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - kategori ENUM('sangat_miskin','miskin','hampir_miskin') NOT NULL, - jumlah_anggota INT DEFAULT 1, - penghasilan BIGINT DEFAULT 0, - tgl_lahir DATE, - pendidikan ENUM('tidak_sekolah','sd','smp','sma','d3','s1','s2','') DEFAULT '', - keterangan TEXT, - status ENUM('aktif','nonaktif') DEFAULT 'aktif', - pelapor VARCHAR(150), - no_laporan VARCHAR(20), - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - FOREIGN KEY (kelurahan_id) REFERENCES kelurahan(id) ON DELETE SET NULL - ) ENGINE=InnoDB", - - "CREATE TABLE IF NOT EXISTS anggota_keluarga ( - id INT AUTO_INCREMENT PRIMARY KEY, - warga_id INT NOT NULL, - nama VARCHAR(150) NOT NULL, - usia INT DEFAULT 0, - hubungan VARCHAR(50) DEFAULT 'Anak', - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (warga_id) REFERENCES warga(id) ON DELETE CASCADE - ) ENGINE=InnoDB", - - "CREATE TABLE IF NOT EXISTS riwayat_penyakit ( - id INT AUTO_INCREMENT PRIMARY KEY, - anggota_id INT NOT NULL, - penyakit ENUM('hipertensi','diabetes','tbc','asma','stroke','jantung','odgj','stunting','kanker') NOT NULL, - FOREIGN KEY (anggota_id) REFERENCES anggota_keluarga(id) ON DELETE CASCADE - ) ENGINE=InnoDB", - - "CREATE TABLE IF NOT EXISTS histori_bantuan ( - id INT AUTO_INCREMENT PRIMARY KEY, - warga_id INT NOT NULL, - tanggal DATE NOT NULL, - jenis VARCHAR(50) NOT NULL, - nominal BIGINT DEFAULT 0, - sumber_dana VARCHAR(100), - keterangan TEXT, - created_by INT, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (warga_id) REFERENCES warga(id) ON DELETE CASCADE, - FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE SET NULL - ) ENGINE=InnoDB", - - "CREATE TABLE IF NOT EXISTS laporan ( - id INT AUTO_INCREMENT PRIMARY KEY, - no_laporan VARCHAR(20) NOT NULL UNIQUE, - nama_pelapor VARCHAR(100), - hp_pelapor VARCHAR(20), - nama_dilaporkan VARCHAR(150) NOT NULL, - nik VARCHAR(16), - kelurahan_id INT, - kategori ENUM('sangat_miskin','miskin','hampir_miskin') NOT NULL, - jumlah_anggota INT DEFAULT 0, - penghasilan BIGINT DEFAULT 0, - keterangan TEXT NOT NULL, - lat DECIMAL(10,7), - lng DECIMAL(10,7), - status ENUM('menunggu','disetujui','ditolak') DEFAULT 'menunggu', - warga_id INT, - approved_by INT, - tgl_laporan DATE NOT NULL, - tgl_proses TIMESTAMP NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (kelurahan_id) REFERENCES kelurahan(id) ON DELETE SET NULL, - FOREIGN KEY (warga_id) REFERENCES warga(id) ON DELETE SET NULL, - FOREIGN KEY (approved_by) REFERENCES users(id) ON DELETE SET NULL - ) ENGINE=InnoDB", - - "CREATE TABLE IF NOT EXISTS fasilitas_umum ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama VARCHAR(150) NOT NULL, - kategori VARCHAR(50) NOT NULL, - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - alamat TEXT, - keterangan TEXT, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP - ) ENGINE=InnoDB", - - "INSERT IGNORE INTO users (username, password, role, jabatan, can_edit, is_admin, is_wali) VALUES - ('admin', '\$2y\$10\$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin', 'Kadis Sosial', 1, 1, 0), - ('petugas', '\$2y\$10\$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'petugas', 'Staf Verifikasi', 1, 0, 0), - ('walikota', '\$2y\$10\$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'walikota', 'Walikota Pontianak', 0, 0, 1), - ('viewer', '\$2y\$10\$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'viewer', 'Pemangku Kepentingan', 0, 0, 0)", - - "INSERT IGNORE INTO kelurahan (nama, kecamatan) VALUES - ('Kel. Tengah', 'Pontianak Kota'),('Kel. Darat Sekip', 'Pontianak Kota'), - ('Kel. Sungai Bangkong', 'Pontianak Kota'),('Kel. Mariana', 'Pontianak Kota'), - ('Kel. Sungai Jawi', 'Pontianak Kota'),('Kel. Parit Tokaya', 'Pontianak Selatan'), - ('Kel. Benua Melayu Darat', 'Pontianak Selatan'),('Kel. Benua Melayu Laut', 'Pontianak Selatan'), - ('Kel. Kota Baru', 'Pontianak Selatan'),('Kel. Sungai Beliung', 'Pontianak Barat'), - ('Kel. Pal Lima', 'Pontianak Barat'),('Kel. Akcaya', 'Pontianak Barat'), - ('Kel. Sungai Jawi Luar', 'Pontianak Barat'),('Kel. Siantan Hulu', 'Pontianak Utara'), - ('Kel. Batu Layang', 'Pontianak Utara'),('Kel. Saigon', 'Pontianak Utara'), - ('Kel. Siantan Hilir', 'Pontianak Utara'),('Kel. Tanjung Hulu', 'Pontianak Timur'), - ('Kel. Banjar Serasan', 'Pontianak Timur'),('Kel. Dalam Bugis', 'Pontianak Timur'), - ('Kel. Bangka Belitung Darat', 'Pontianak Tenggara'),('Kel. Bangka Belitung Laut', 'Pontianak Tenggara'), - ('Kel. Bansir Laut', 'Pontianak Tenggara'),('Kel. Bansir Darat', 'Pontianak Tenggara')", - - "INSERT IGNORE INTO rumah_ibadah (nama, tipe, ikon, lat, lng, kapasitas, kelurahan_id, alamat) VALUES - ('Masjid Al-Ikhlas','masjid','🕌',-0.0180000,109.3320000,150,4,'Jl. Mariana, Pontianak Kota'), - ('Masjid Raya Mujahidin','masjid','🕌',-0.0428000,109.3373000,500,12,'Jl. Jend. Ahmad Yani, Pontianak Selatan'), - ('Masjid Jami Sultan','masjid','🕌',-0.0400000,109.3440000,300,20,'Jl. Tanjungpura, Pontianak Timur'), - ('Masjid Nurul Hidayah','masjid','🕌',-0.0100000,109.3360000,100,14,'Jl. Siantan Hulu, Pontianak Utara'), - ('Gereja GPIB Immanuel','gereja','⛪',-0.0130000,109.3480000,200,14,'Jl. Sisingamangaraja, Pontianak Utara'), - ('Gereja Bethel Indonesia','gereja','⛪',-0.0300000,109.3370000,180,6,'Jl. Parit Tokaya, Pontianak Selatan'), - ('Gereja Katedral','gereja','⛪',-0.0350000,109.3620000,350,15,'Jl. Diponegoro, Pontianak Utara'), - ('Pura Girinatha','pura','🛕',-0.0220000,109.3550000,80,3,'Jl. Sungai Bangkong, Pontianak Kota'), - ('Vihara Bodhisatva','vihara','🏛️',-0.0080000,109.3400000,60,14,'Jl. Siantan, Pontianak Utara'), - ('Klenteng Tua Pek Kong','klenteng','🏯',-0.0260000,109.3420000,70,1,'Jl. Diponegoro, Pontianak Kota')", -]; - -$ok2 = 0; $fail2 = 0; -foreach ($queries as $q) { - if ($conn->query(trim($q))) { - $ok2++; - } else { - echo "

⚠️ " . htmlspecialchars(substr(trim($q),0,80)) . "... → " . $conn->error . "

"; - $fail2++; - } -} -echo "

✅ geososial: $ok2 query berhasil, $fail2 gagal.

"; - -$conn->close(); - -echo "
"; -echo "

🎉 Setup Selesai!

"; -echo "

Database webgis dan geososial sudah siap digunakan.

"; -echo "

⚠️ PENTING: Segera hapus file ini setelah setup selesai!
Akses ke file ini bisa berbahaya jika dibiarkan terbuka.

"; -echo "

Kembali ke Portal WebGIS

"; -?>