'error', 'message' => 'Method tidak diizinkan.']); exit; } require_once 'koneksi.php'; $tipe = isset($_POST['tipe']) ? trim($_POST['tipe']) : ''; // Saat ini hanya menangani edit SPBU if ($tipe === 'spbu') { $id = isset($_POST['id']) ? intval($_POST['id']) : 0; $nama_spbu = isset($_POST['nama_spbu']) ? trim($_POST['nama_spbu']) : ''; $status_ramai = isset($_POST['status_ramai']) ? trim($_POST['status_ramai']) : ''; $buka_24_jam = isset($_POST['buka_24_jam']) ? trim($_POST['buka_24_jam']) : ''; $status_operasional = isset($_POST['status_operasional']) ? trim($_POST['status_operasional']) : ''; $nomor_hp = isset($_POST['nomor_hp']) ? trim($_POST['nomor_hp']) : ''; // Validasi if ($id <= 0 || empty($nama_spbu) || empty($status_ramai) || empty($buka_24_jam) || empty($status_operasional)) { echo json_encode(['status' => 'error', 'message' => 'Data tidak lengkap atau ID tidak valid.']); exit; } $valid_ramai = ['ramai', 'tidak_ramai']; $valid_24 = ['ya', 'tidak']; $valid_ops = ['buka', 'tutup']; if (!in_array($status_ramai, $valid_ramai) || !in_array($buka_24_jam, $valid_24) || !in_array($status_operasional, $valid_ops)) { echo json_encode(['status' => 'error', 'message' => 'Nilai enum tidak valid.']); exit; } // Update — latitude & longitude sengaja tidak diubah $stmt = $koneksi->prepare( "UPDATE spbu SET nama_spbu=?, status_ramai=?, buka_24_jam=?, status_operasional=?, nomor_hp=? WHERE id=?" ); $stmt->bind_param('sssssi', $nama_spbu, $status_ramai, $buka_24_jam, $status_operasional, $nomor_hp, $id); if ($stmt->execute()) { if ($stmt->affected_rows >= 0) { // Ambil data lengkap (termasuk lat/lng) untuk dikembalikan ke JS $sel = $koneksi->prepare("SELECT id, nama_spbu, status_ramai, buka_24_jam, status_operasional, nomor_hp, latitude, longitude FROM spbu WHERE id=?"); $sel->bind_param('i', $id); $sel->execute(); $res = $sel->get_result(); $data = $res->fetch_assoc(); $sel->close(); $data['id'] = (int)$data['id']; $data['latitude'] = (float)$data['latitude']; $data['longitude'] = (float)$data['longitude']; echo json_encode([ 'status' => 'success', 'message' => 'Data SPBU berhasil diupdate.', 'data' => $data ]); } else { echo json_encode(['status' => 'error', 'message' => 'Data tidak ditemukan.']); } } else { echo json_encode(['status' => 'error', 'message' => 'Gagal update: ' . $stmt->error]); } $stmt->close(); } else { echo json_encode(['status' => 'error', 'message' => 'Tipe tidak dikenali untuk edit.']); } $koneksi->close();