'error']); exit; } function esc($conn, $v) { return mysqli_real_escape_string($conn, trim($v)); } switch ($type) { case 'spbu': $nama = esc($conn, $_POST['nama'] ?? ''); $nomor = esc($conn, $_POST['nomor'] ?? ''); $status = in_array($_POST['status'] ?? '', ['Ya', 'Tidak']) ? $_POST['status'] : 'Tidak'; $q = "UPDATE spbu SET nama='$nama', nomor='$nomor', status_24jam='$status' WHERE id=$id"; break; case 'kemiskinan': $nama_kk = esc($conn, $_POST['nama_kk'] ?? ''); $jumlah_kk = max(1, (int)($_POST['jumlah_kk'] ?? 1)); $alamat = esc($conn, $_POST['alamat'] ?? ''); $pkh = isset($_POST['pkh']) && $_POST['pkh'] == '1' ? 1 : 0; $bpnt = isset($_POST['bpnt']) && $_POST['bpnt'] == '1' ? 1 : 0; $blt = isset($_POST['blt']) && $_POST['blt'] == '1' ? 1 : 0; $fotoSet = ''; if (!empty($_FILES['foto']['name']) && $_FILES['foto']['error'] === UPLOAD_ERR_OK) { $ext = strtolower(pathinfo($_FILES['foto']['name'], PATHINFO_EXTENSION)); $allowed = ['jpg', 'jpeg', 'png', 'webp']; if (in_array($ext, $allowed) && $_FILES['foto']['size'] <= 5 * 1024 * 1024) { $dir = __DIR__ . '/uploads/kemiskinan/'; if (!is_dir($dir)) mkdir($dir, 0755, true); $fname = 'kk_' . $id . '_' . time() . '.' . $ext; if (move_uploaded_file($_FILES['foto']['tmp_name'], $dir . $fname)) { $fotoSet = ", foto='" . mysqli_real_escape_string($conn, $fname) . "'"; } } } $q = "UPDATE kemiskinan SET nama_kk='$nama_kk', jumlah_kk=$jumlah_kk, alamat='$alamat', pkh=$pkh, bpnt=$bpnt, blt=$blt{$fotoSet} WHERE id=$id"; break; case 'masjid': $nama = esc($conn, $_POST['nama_masjid'] ?? ''); $pic = esc($conn, $_POST['pic'] ?? ''); $alamat = esc($conn, $_POST['alamat'] ?? ''); $q = "UPDATE masjid SET nama_masjid='$nama', pic='$pic', alamat='$alamat' WHERE id=$id"; break; case 'jalan': $nama = esc($conn, $_POST['nama_jalan'] ?? ''); $status = in_array($_POST['status_jalan'] ?? '', ['Nasional', 'Provinsi', 'Kabupaten']) ? $_POST['status_jalan'] : 'Kabupaten'; $q = "UPDATE jalan SET nama_jalan='$nama', status_jalan='$status' WHERE id=$id"; break; case 'persil': $nomor = esc($conn, $_POST['nomor_persil'] ?? ''); $status = in_array($_POST['status_milik'] ?? '', ['SHM', 'HGB', 'HGU', 'HP']) ? $_POST['status_milik'] : 'SHM'; $q = "UPDATE persil SET nomor_persil='$nomor', status_milik='$status' WHERE id=$id"; break; case 'wilayah': $nama = esc($conn, $_POST['nama'] ?? ''); $tipe = in_array($_POST['tipe'] ?? '', ['RT','RW','Kelurahan','Kecamatan']) ? $_POST['tipe'] : 'RT'; $q = "UPDATE wilayah SET nama='$nama', tipe='$tipe' WHERE id=$id"; break; default: echo json_encode(['status' => 'error', 'message' => 'Tipe tidak dikenal.']); exit; } if (mysqli_query($conn, $q)) { echo json_encode(['status' => 'success']); } else { echo json_encode(['status' => 'error', 'message' => mysqli_error($conn)]); }