first commit UasSIGWebgis
This commit is contained in:
+197
@@ -0,0 +1,197 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
$is_public_action = ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'simpan_pelaporan');
|
||||
$is_public_get = ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['data']));
|
||||
|
||||
|
||||
require 'db.php';
|
||||
|
||||
// Helper function to execute query and handle JSON error
|
||||
function executeQuery($conn, $sql) {
|
||||
if (!$conn->query($sql)) {
|
||||
echo json_encode(["status" => "error", "message" => "Terjadi kesalahan database: " . $conn->error]);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$role = $_SESSION['role'] ?? 'warga';
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$act = $_POST['action'] ?? '';
|
||||
$edit_id = (int)($_POST['edit_id'] ?? 0);
|
||||
|
||||
// Role validation
|
||||
$allowed_infra_actions = ['simpan_spbu', 'simpan_jalan', 'simpan_parsil'];
|
||||
$allowed_infra_tables = ['spbu', 'jalan', 'parsil'];
|
||||
$allowed_sosial_actions = ['simpan_warga', 'simpan_masjid', 'simpan_pelaporan'];
|
||||
$allowed_sosial_tables = ['warga', 'rumah_ibadah', 'pelaporan'];
|
||||
|
||||
$is_authorized = false;
|
||||
|
||||
if (in_array($role, ['admin', 'admin_infra', 'admin_sosial'])) {
|
||||
$is_authorized = true;
|
||||
} elseif ($role === 'warga' && $act === 'simpan_pelaporan') {
|
||||
$is_authorized = true;
|
||||
}
|
||||
|
||||
if (!$is_authorized) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(["status" => "error", "message" => "Akses ditolak. Anda tidak memiliki izin untuk tindakan atau data ini."]);
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($act == "simpan_warga") {
|
||||
$nama = $conn->real_escape_string($_POST['nama'] ?? '');
|
||||
$jkk = !empty($_POST['jumlah_kk']) ? (int)$_POST['jumlah_kk'] : 0;
|
||||
$alamat = $conn->real_escape_string($_POST['alamat'] ?? '');
|
||||
$lat = $conn->real_escape_string($_POST['lat'] ?? '');
|
||||
$lng = $conn->real_escape_string($_POST['lng'] ?? '');
|
||||
$tgl_lahir = !empty($_POST['tanggal_lahir']) ? "'" . $conn->real_escape_string($_POST['tanggal_lahir']) . "'" : "NULL";
|
||||
$pend = $conn->real_escape_string($_POST['pendidikan'] ?? '');
|
||||
$penyakit = $conn->real_escape_string($_POST['riwayat_penyakit'] ?? '');
|
||||
$bantuan = $conn->real_escape_string($_POST['histori_bantuan'] ?? '');
|
||||
$status_bantuan = $conn->real_escape_string($_POST['status_bantuan'] ?? 'Belum');
|
||||
|
||||
if ($edit_id > 0) {
|
||||
$sql = "UPDATE warga SET nama='$nama', jumlah_kk=$jkk, alamat='$alamat', latitude='$lat', longitude='$lng', tanggal_lahir=$tgl_lahir, pendidikan='$pend', riwayat_penyakit='$penyakit', status_bantuan='$status_bantuan', histori_bantuan='$bantuan' WHERE id=$edit_id";
|
||||
} else {
|
||||
$sql = "INSERT INTO warga (nama, jumlah_kk, alamat, latitude, longitude, tanggal_lahir, pendidikan, riwayat_penyakit, status_bantuan, histori_bantuan)
|
||||
VALUES ('$nama', $jkk, '$alamat', '$lat', '$lng', $tgl_lahir, '$pend', '$penyakit', '$status_bantuan', '$bantuan')";
|
||||
}
|
||||
executeQuery($conn, $sql);
|
||||
}
|
||||
elseif ($act == "simpan_pelaporan") {
|
||||
$nama = $conn->real_escape_string($_POST['nama'] ?? '');
|
||||
$laporan = $conn->real_escape_string($_POST['laporan'] ?? '');
|
||||
$lat = $conn->real_escape_string($_POST['lat'] ?? '');
|
||||
$lng = $conn->real_escape_string($_POST['lng'] ?? '');
|
||||
|
||||
if ($edit_id > 0) {
|
||||
$sql = "UPDATE pelaporan SET nama_pelapor='$nama', isi_laporan='$laporan', latitude='$lat', longitude='$lng' WHERE id=$edit_id";
|
||||
} else {
|
||||
$sql = "INSERT INTO pelaporan (nama_pelapor, isi_laporan, latitude, longitude) VALUES ('$nama', '$laporan', '$lat', '$lng')";
|
||||
}
|
||||
executeQuery($conn, $sql);
|
||||
}
|
||||
elseif ($act == "simpan_spbu") {
|
||||
$nama = $conn->real_escape_string($_POST['nama'] ?? '');
|
||||
$no_hp = $conn->real_escape_string($_POST['no_hp'] ?? '');
|
||||
$kategori = $conn->real_escape_string($_POST['kategori'] ?? '24jam');
|
||||
$lat = $conn->real_escape_string($_POST['lat'] ?? '');
|
||||
$lng = $conn->real_escape_string($_POST['lng'] ?? '');
|
||||
|
||||
if ($edit_id > 0) {
|
||||
$sql = "UPDATE spbu SET nama='$nama', no_hp='$no_hp', kategori='$kategori', latitude='$lat', longitude='$lng' WHERE id=$edit_id";
|
||||
} else {
|
||||
$sql = "INSERT INTO spbu (nama, no_hp, kategori, latitude, longitude) VALUES ('$nama', '$no_hp', '$kategori', '$lat', '$lng')";
|
||||
}
|
||||
executeQuery($conn, $sql);
|
||||
}
|
||||
elseif ($act == "simpan_masjid") {
|
||||
$nama = $conn->real_escape_string($_POST['nama'] ?? '');
|
||||
$jenis = $conn->real_escape_string($_POST['jenis'] ?? 'Masjid');
|
||||
$pic = $conn->real_escape_string($_POST['pic'] ?? '');
|
||||
$alamat = $conn->real_escape_string($_POST['alamat'] ?? '');
|
||||
$lat = $conn->real_escape_string($_POST['lat'] ?? '');
|
||||
$lng = $conn->real_escape_string($_POST['lng'] ?? '');
|
||||
|
||||
if ($edit_id > 0) {
|
||||
$sql = "UPDATE rumah_ibadah SET nama='$nama', jenis='$jenis', pic='$pic', alamat='$alamat', latitude='$lat', longitude='$lng' WHERE id=$edit_id";
|
||||
} else {
|
||||
$sql = "INSERT INTO rumah_ibadah (nama, jenis, pic, alamat, latitude, longitude) VALUES ('$nama', '$jenis', '$pic', '$alamat', '$lat', '$lng')";
|
||||
}
|
||||
executeQuery($conn, $sql);
|
||||
}
|
||||
elseif ($act == "simpan_jalan") {
|
||||
$nama = $conn->real_escape_string($_POST['nama'] ?? '');
|
||||
$status = $conn->real_escape_string($_POST['status_jalan'] ?? '');
|
||||
$panjang = (float)($_POST['panjang'] ?? 0);
|
||||
$koordinat = $conn->real_escape_string($_POST['koordinat'] ?? '');
|
||||
|
||||
if ($edit_id > 0) {
|
||||
$sql = "UPDATE jalan SET nama_jalan='$nama', status_jalan='$status', panjang_m=$panjang, koordinat='$koordinat' WHERE id=$edit_id";
|
||||
} else {
|
||||
$sql = "INSERT INTO jalan (nama_jalan, status_jalan, panjang_m, koordinat) VALUES ('$nama', '$status', $panjang, '$koordinat')";
|
||||
}
|
||||
executeQuery($conn, $sql);
|
||||
}
|
||||
elseif ($act == "simpan_parsil") {
|
||||
$nama = $conn->real_escape_string($_POST['nama'] ?? '');
|
||||
$status = $conn->real_escape_string($_POST['status_hak'] ?? '');
|
||||
$koordinat = $conn->real_escape_string($_POST['koordinat'] ?? '');
|
||||
|
||||
if ($edit_id > 0) {
|
||||
$sql = "UPDATE parsil SET nama_pemilik='$nama', status_hak='$status', koordinat='$koordinat' WHERE id=$edit_id";
|
||||
} else {
|
||||
$sql = "INSERT INTO parsil (nama_pemilik, status_hak, koordinat) VALUES ('$nama', '$status', '$koordinat')";
|
||||
}
|
||||
executeQuery($conn, $sql);
|
||||
}
|
||||
elseif ($act == "update_koordinat") {
|
||||
$id = (int)($_POST['id'] ?? 0);
|
||||
$tipe = $_POST['tipe'] ?? '';
|
||||
$koordinat = $conn->real_escape_string($_POST['koordinat'] ?? '');
|
||||
|
||||
if ($id > 0 && $koordinat != '') {
|
||||
if ($tipe == 'jalan') {
|
||||
$panjang = (float)($_POST['panjang_m'] ?? 0);
|
||||
$sql = "UPDATE jalan SET koordinat='$koordinat', panjang_m=$panjang WHERE id=$id";
|
||||
executeQuery($conn, $sql);
|
||||
} elseif ($tipe == 'parsil') {
|
||||
$sql = "UPDATE parsil SET koordinat='$koordinat' WHERE id=$id";
|
||||
executeQuery($conn, $sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif ($act == "hapus_data") {
|
||||
$id = (int)($_POST['id'] ?? 0);
|
||||
$tipe = $_POST['tipe'] ?? '';
|
||||
|
||||
$tabelMap = [
|
||||
'warga' => 'warga',
|
||||
'masjid' => 'rumah_ibadah',
|
||||
'pelaporan' => 'pelaporan',
|
||||
'spbu' => 'spbu',
|
||||
'jalan' => 'jalan',
|
||||
'parsil' => 'parsil'
|
||||
];
|
||||
|
||||
$tabel = $tabelMap[$tipe] ?? '';
|
||||
if($tabel && $id > 0) {
|
||||
$sql = "DELETE FROM $tabel WHERE id='$id'";
|
||||
executeQuery($conn, $sql);
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode(["status" => "ok"]);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Handle GET for JSON data
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['data'])) {
|
||||
header('Content-Type: application/json');
|
||||
|
||||
// Public data
|
||||
$masjid = $conn->query("SELECT * FROM rumah_ibadah")->fetch_all(MYSQLI_ASSOC);
|
||||
$pelaporan = $conn->query("SELECT * FROM pelaporan ORDER BY waktu DESC")->fetch_all(MYSQLI_ASSOC);
|
||||
$spbu = $conn->query("SELECT * FROM spbu")->fetch_all(MYSQLI_ASSOC);
|
||||
|
||||
$response = [
|
||||
'masjid' => $masjid,
|
||||
'pelaporan' => $pelaporan,
|
||||
'spbu' => $spbu
|
||||
];
|
||||
|
||||
$warga = $conn->query("SELECT * FROM warga")->fetch_all(MYSQLI_ASSOC);
|
||||
$jalan = $conn->query("SELECT * FROM jalan")->fetch_all(MYSQLI_ASSOC);
|
||||
$parsil = $conn->query("SELECT * FROM parsil")->fetch_all(MYSQLI_ASSOC);
|
||||
|
||||
$response['warga'] = $warga;
|
||||
$response['jalan'] = $jalan;
|
||||
$response['parsil'] = $parsil;
|
||||
|
||||
echo json_encode($response);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
+244
@@ -0,0 +1,244 @@
|
||||
<?php
|
||||
// ==========================================
|
||||
// KONFIGURASI DATABASE (Ubah saat Deployment)
|
||||
// ==========================================
|
||||
$db_host = "localhost";
|
||||
$db_user = "root";
|
||||
$db_pass = "radit123";
|
||||
$db_name = "sinergi_spasial_db"; // Database Pusat
|
||||
|
||||
// Matikan error expose ke frontend (Security)
|
||||
mysqli_report(MYSQLI_REPORT_OFF);
|
||||
|
||||
$conn = new mysqli($db_host, $db_user, $db_pass);
|
||||
if ($conn->connect_error) {
|
||||
die("Error: Koneksi database gagal. Silakan periksa kredensial di db.php.");
|
||||
}
|
||||
|
||||
// Buat database jika belum ada
|
||||
$conn->query("CREATE DATABASE IF NOT EXISTS `$db_name`");
|
||||
$conn->select_db($db_name);
|
||||
|
||||
// AUTO MIGRATIONS (Mencegah Error saat Deploy di Server Baru)
|
||||
$queries = [
|
||||
"CREATE TABLE IF NOT EXISTS warga (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama VARCHAR(150),
|
||||
jumlah_kk INT,
|
||||
alamat TEXT,
|
||||
latitude VARCHAR(50),
|
||||
longitude VARCHAR(50),
|
||||
tanggal_lahir DATE NULL,
|
||||
pendidikan VARCHAR(100) NULL,
|
||||
riwayat_penyakit TEXT NULL,
|
||||
status_bantuan ENUM('Sudah', 'Belum') DEFAULT 'Belum',
|
||||
histori_bantuan TEXT NULL
|
||||
)",
|
||||
"CREATE TABLE IF NOT EXISTS rumah_ibadah (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama VARCHAR(150),
|
||||
jenis VARCHAR(50) DEFAULT 'Masjid',
|
||||
pic VARCHAR(100),
|
||||
alamat TEXT,
|
||||
latitude VARCHAR(50),
|
||||
longitude VARCHAR(50)
|
||||
)",
|
||||
"CREATE TABLE IF NOT EXISTS pelaporan (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama_pelapor VARCHAR(100),
|
||||
isi_laporan TEXT,
|
||||
latitude VARCHAR(50),
|
||||
longitude VARCHAR(50),
|
||||
waktu TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)",
|
||||
"CREATE TABLE IF NOT EXISTS spbu (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama VARCHAR(150),
|
||||
no_hp VARCHAR(20),
|
||||
kategori ENUM('24jam', 'Tidak 24jam') DEFAULT '24jam',
|
||||
latitude VARCHAR(50),
|
||||
longitude VARCHAR(50)
|
||||
)",
|
||||
"CREATE TABLE IF NOT EXISTS jalan (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama_jalan VARCHAR(150),
|
||||
status_jalan ENUM('Nasional', 'Provinsi', 'Kabupaten'),
|
||||
panjang_m FLOAT,
|
||||
koordinat TEXT
|
||||
)",
|
||||
"CREATE TABLE IF NOT EXISTS parsil (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nama_pemilik VARCHAR(150),
|
||||
status_hak ENUM('SHM', 'HGB', 'HGU', 'HP'),
|
||||
koordinat TEXT
|
||||
)",
|
||||
"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', 'warga') DEFAULT 'warga',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)"
|
||||
];
|
||||
|
||||
foreach ($queries as $q) {
|
||||
$conn->query($q);
|
||||
}
|
||||
|
||||
// Alter warga jika belum ada field tambahan
|
||||
$cols = $conn->query("SHOW COLUMNS FROM warga LIKE 'tanggal_lahir'");
|
||||
if($cols && $cols->num_rows == 0) {
|
||||
$conn->query("ALTER TABLE warga ADD COLUMN tanggal_lahir DATE NULL");
|
||||
$conn->query("ALTER TABLE warga ADD COLUMN pendidikan VARCHAR(100) NULL");
|
||||
$conn->query("ALTER TABLE warga ADD COLUMN riwayat_penyakit TEXT NULL");
|
||||
$conn->query("ALTER TABLE warga ADD COLUMN histori_bantuan TEXT NULL");
|
||||
}
|
||||
|
||||
$cols_status = $conn->query("SHOW COLUMNS FROM warga LIKE 'status_bantuan'");
|
||||
if($cols_status && $cols_status->num_rows == 0) {
|
||||
$conn->query("ALTER TABLE warga ADD COLUMN status_bantuan ENUM('Sudah', 'Belum') DEFAULT 'Belum' AFTER riwayat_penyakit");
|
||||
}
|
||||
|
||||
// Alter spbu jika menggunakan schema lama
|
||||
$cols_spbu = $conn->query("SHOW COLUMNS FROM spbu LIKE 'kategori'");
|
||||
if($cols_spbu && $cols_spbu->num_rows == 0) {
|
||||
$conn->query("ALTER TABLE spbu CHANGE nama_spbu nama VARCHAR(150)");
|
||||
$conn->query("ALTER TABLE spbu ADD COLUMN kategori ENUM('24jam', 'Tidak 24jam') DEFAULT '24jam'");
|
||||
$conn->query("ALTER TABLE spbu DROP COLUMN is_24jam");
|
||||
} else {
|
||||
// Ubah definisi ENUM dan update data yang lama jika terlanjur menggunakan Aman/Tidak Aman
|
||||
$conn->query("ALTER TABLE spbu MODIFY COLUMN kategori ENUM('Aman', 'Tidak Aman', '24jam', 'Tidak 24jam')");
|
||||
$conn->query("UPDATE spbu SET kategori = '24jam' WHERE kategori = 'Aman'");
|
||||
$conn->query("UPDATE spbu SET kategori = 'Tidak 24jam' WHERE kategori = 'Tidak Aman'");
|
||||
$conn->query("ALTER TABLE spbu MODIFY COLUMN kategori ENUM('24jam', 'Tidak 24jam') DEFAULT '24jam'");
|
||||
}
|
||||
|
||||
// Tambahkan kolom jenis di rumah_ibadah jika belum ada (Migration)
|
||||
$check_jenis = $conn->query("SHOW COLUMNS FROM rumah_ibadah LIKE 'jenis'");
|
||||
if ($check_jenis && $check_jenis->num_rows == 0) {
|
||||
$conn->query("ALTER TABLE rumah_ibadah ADD COLUMN jenis VARCHAR(50) DEFAULT 'Masjid' AFTER nama");
|
||||
}
|
||||
|
||||
// Alter users jika belum ada role
|
||||
$cols_users = $conn->query("SHOW COLUMNS FROM users LIKE 'role'");
|
||||
if($cols_users && $cols_users->num_rows == 0) {
|
||||
$conn->query("ALTER TABLE users ADD COLUMN role ENUM('admin_infra', 'admin_sosial', 'admin', 'warga') DEFAULT 'warga' AFTER password");
|
||||
} else {
|
||||
// Modify ENUM if it already exists to include new roles
|
||||
$conn->query("ALTER TABLE users MODIFY COLUMN role ENUM('admin_infra', 'admin_sosial', 'admin', 'warga') DEFAULT 'warga'");
|
||||
}
|
||||
|
||||
// Seed SPBU data if empty
|
||||
$check_spbu = $conn->query("SELECT COUNT(*) as count FROM spbu");
|
||||
if ($check_spbu) {
|
||||
$row = $check_spbu->fetch_assoc();
|
||||
if ($row['count'] == 0) {
|
||||
$conn->query("INSERT INTO spbu (nama, no_hp, kategori, latitude, longitude) VALUES
|
||||
('SPBU Jl. Imam Bonjol', '08110000001', '24jam', '-0.0400', '109.3490'),
|
||||
('SPBU Kota Baru (Prof. M. Yamin)', '08110000002', '24jam', '-0.0460', '109.3240'),
|
||||
('SPBU Jl. Tanjungpura', '08110000003', '24jam', '-0.0305', '109.3444'),
|
||||
('SPBU Jl. Merdeka', '08110000004', '24jam', '-0.0267', '109.3361'),
|
||||
('SPBU 28 Oktober', '08110000008', '24jam', '-0.0031', '109.3667'),
|
||||
('SPBU Samping Makodam', '08110000009', '24jam', '-0.0890', '109.3800'),
|
||||
('SPBU Jl. A. Yani (Samping DPRD)', '08110000005', 'Tidak 24jam', '-0.0520', '109.3410'),
|
||||
('SPBU RE. Martadinata', '08110000006', 'Tidak 24jam', '-0.0160', '109.3105'),
|
||||
('SPBU Gusti Hamzah', '08110000007', 'Tidak 24jam', '-0.0350', '109.3225')");
|
||||
}
|
||||
}
|
||||
|
||||
// Seed Jalan data if empty
|
||||
$check_jalan = $conn->query("SELECT COUNT(*) as count FROM jalan");
|
||||
if ($check_jalan) {
|
||||
$row = $check_jalan->fetch_assoc();
|
||||
if ($row['count'] == 0) {
|
||||
$jalan1 = '[{"lat":-0.0528,"lng":109.3409},{"lat":-0.0556,"lng":109.3432},{"lat":-0.0601,"lng":109.3463}]';
|
||||
$jalan2 = '[{"lat":-0.0343,"lng":109.3431},{"lat":-0.0308,"lng":109.3411}]';
|
||||
$conn->query("INSERT INTO jalan (nama_jalan, status_jalan, panjang_m, koordinat) VALUES
|
||||
('Jl. Jenderal Ahmad Yani', 'Nasional', 1200, '$jalan1'),
|
||||
('Jl. Gajah Mada', 'Provinsi', 800, '$jalan2')");
|
||||
}
|
||||
}
|
||||
|
||||
// Seed Parsil data if empty
|
||||
$check_parsil = $conn->query("SELECT COUNT(*) as count FROM parsil");
|
||||
if ($check_parsil) {
|
||||
$row = $check_parsil->fetch_assoc();
|
||||
if ($row['count'] == 0) {
|
||||
$parsil1 = '[{"lat":-0.0520,"lng":109.3400},{"lat":-0.0520,"lng":109.3415},{"lat":-0.0535,"lng":109.3415},{"lat":-0.0535,"lng":109.3400}]';
|
||||
$parsil2 = '[{"lat":-0.0468,"lng":109.3361},{"lat":-0.0468,"lng":109.3385},{"lat":-0.0487,"lng":109.3385},{"lat":-0.0487,"lng":109.3361}]';
|
||||
$conn->query("INSERT INTO parsil (nama_pemilik, status_hak, koordinat) VALUES
|
||||
('Kompleks Kantor Gubernur Kalbar', 'HP', '$parsil1'),
|
||||
('Area Masjid Raya Mujahidin', 'SHM', '$parsil2')");
|
||||
}
|
||||
}
|
||||
|
||||
// Seed Masjid data if empty
|
||||
$check_masjid = $conn->query("SELECT COUNT(*) as count FROM rumah_ibadah");
|
||||
if ($check_masjid) {
|
||||
$row = $check_masjid->fetch_assoc();
|
||||
if ($row['count'] == 0) {
|
||||
$conn->query("INSERT INTO rumah_ibadah (nama, jenis, pic, alamat, latitude, longitude) VALUES
|
||||
('Masjid Raya Mujahidin', 'Masjid', 'Bapak Ahmad', 'Jl. Jenderal Ahmad Yani, Pontianak Selatan', '-0.0468', '109.3361'),
|
||||
('Masjid Jami Keraton Kadriyah', 'Masjid', 'Bapak Syarif', 'Beting, Pontianak Timur', '-0.0215', '109.3528'),
|
||||
('Masjid Darul Falah', 'Masjid', 'Bapak Budi', 'Jl. H. Rais A. Rahman', '-0.0354', '109.3242'),
|
||||
('Gereja Katedral St. Yosef', 'Gereja', 'Romo Yohanes', 'Jl. Pattimura, Pontianak Kota', '-0.0385', '109.3400'),
|
||||
('Vihara Bodhisatva Karaniya Metta', 'Vihara', 'Bapak Ahong', 'Jl. Kapten Marsan, Pontianak', '-0.0250', '109.3440')");
|
||||
}
|
||||
}
|
||||
|
||||
// Seed Warga data if empty
|
||||
$check_warga = $conn->query("SELECT COUNT(*) as count FROM warga");
|
||||
if ($check_warga) {
|
||||
$row = $check_warga->fetch_assoc();
|
||||
if ($row['count'] == 0) {
|
||||
$conn->query("INSERT INTO warga (nama, jumlah_kk, alamat, latitude, longitude, tanggal_lahir, pendidikan, riwayat_penyakit, histori_bantuan) VALUES
|
||||
('Bapak Rudi (Dekat Masjid)', 4, 'Jl. Sutoyo', '-0.0450', '109.3350', '1980-05-12', 'SMA', 'Hipertensi', 'Sembako 2025'),
|
||||
('Ibu Siti (Jauh dari Fasilitas)', 3, 'Jl. Perdamaian', '-0.0650', '109.3000', '1975-08-22', 'SD', 'Asma', 'BLT 2024'),
|
||||
('Bapak Ahmad (Dekat Gereja)', 5, 'Jl. Pattimura', '-0.0380', '109.3405', '1982-11-03', 'SMA', 'TBC', 'BLT 2025'),
|
||||
('Ibu Aminah (Dekat Vihara)', 2, 'Jl. Kapten Marsan', '-0.0245', '109.3445', '1990-01-15', 'SMP', '', 'PKH 2026'),
|
||||
('Kakek Joni (Pesisir Kapuas)', 1, 'Kawasan Pesisir', '-0.0150', '109.3300', '1955-06-30', 'Tidak Sekolah', 'Rematik', 'Raskin')");
|
||||
}
|
||||
}
|
||||
|
||||
// Seed Pelaporan data if empty
|
||||
$check_pelaporan = $conn->query("SELECT COUNT(*) as count FROM pelaporan");
|
||||
if ($check_pelaporan) {
|
||||
$row = $check_pelaporan->fetch_assoc();
|
||||
if ($row['count'] == 0) {
|
||||
$conn->query("INSERT INTO pelaporan (nama_pelapor, isi_laporan, latitude, longitude) VALUES
|
||||
('Pak Udin', 'Banjir parah air masuk ke rumah warga hingga lutut', '-0.0500', '109.3200'),
|
||||
('Ibu Rina', 'Warga lansia sakit parah butuh ambulans darurat', '-0.0400', '109.3350'),
|
||||
('Anonim', 'Jalanan ambles membahayakan pengendara', '-0.0250', '109.3600')");
|
||||
}
|
||||
}
|
||||
|
||||
// Pastikan akun admin_infra ada
|
||||
$check_infra = $conn->query("SELECT * FROM users WHERE username='admin_infra'");
|
||||
if ($check_infra && $check_infra->num_rows == 0) {
|
||||
$pw = password_hash('infra123', PASSWORD_DEFAULT);
|
||||
$conn->query("INSERT INTO users (username, password, role) VALUES ('admin_infra', '$pw', 'admin_infra')");
|
||||
}
|
||||
|
||||
// Pastikan akun admin_sosial ada
|
||||
$check_sosial = $conn->query("SELECT * FROM users WHERE username='admin_sosial'");
|
||||
if ($check_sosial && $check_sosial->num_rows == 0) {
|
||||
$pw = password_hash('sosial123', PASSWORD_DEFAULT);
|
||||
$conn->query("INSERT INTO users (username, password, role) VALUES ('admin_sosial', '$pw', 'admin_sosial')");
|
||||
}
|
||||
|
||||
// Pastikan akun admin (Superadmin lama) ada
|
||||
$check_admin = $conn->query("SELECT * FROM users WHERE username='admin'");
|
||||
if ($check_admin && $check_admin->num_rows == 0) {
|
||||
$default_password = password_hash('admin123', PASSWORD_DEFAULT);
|
||||
$conn->query("INSERT INTO users (username, password, role) VALUES ('admin', '$default_password', 'admin')");
|
||||
} else {
|
||||
$conn->query("UPDATE users SET role='admin' WHERE username='admin' AND role='warga'");
|
||||
}
|
||||
|
||||
// Pastikan akun warga ada
|
||||
$check_warga = $conn->query("SELECT * FROM users WHERE username='warga'");
|
||||
if ($check_warga && $check_warga->num_rows == 0) {
|
||||
$warga_password = password_hash('warga123', PASSWORD_DEFAULT);
|
||||
$conn->query("INSERT INTO users (username, password, role) VALUES ('warga', '$warga_password', 'warga')");
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user