exec("CREATE TABLE IF NOT EXISTS paket_wisata ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(255) NOT NULL, deskripsi TEXT, durasi VARCHAR(100), harga INT NOT NULL, gambar VARCHAR(255) )"); // Kendaraan Table $pdo->exec("CREATE TABLE IF NOT EXISTS kendaraan ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(255) NOT NULL, jenis VARCHAR(100), transmisi VARCHAR(50), harga INT NOT NULL, status VARCHAR(50) DEFAULT 'Tersedia', gambar VARCHAR(255) )"); } catch (PDOException $e) { die("Error creating table: " . $e->getMessage()); } // --- HANDLE ACTIONS (DELETE & EDIT) --- if (isset($_GET['action'])) { $action = $_GET['action']; $id = isset($_GET['id']) ? (int)$_GET['id'] : 0; // Paket Wisata Actions if ($action == 'delete_paket' && $id > 0) { $stmt = $pdo->prepare("SELECT gambar FROM paket_wisata WHERE id = ?"); $stmt->execute([$id]); $item = $stmt->fetch(); if ($item && !empty($item['gambar']) && file_exists($item['gambar'])) { unlink($item['gambar']); } $stmt = $pdo->prepare("DELETE FROM paket_wisata WHERE id = ?"); if ($stmt->execute([$id])) { $message .= '
Paket wisata berhasil dihapus.
'; } } elseif ($action == 'edit_paket' && $id > 0) { $stmt = $pdo->prepare("SELECT * FROM paket_wisata WHERE id = ?"); $stmt->execute([$id]); $paket_to_edit = $stmt->fetch(); if ($paket_to_edit) $edit_mode_paket = true; } // Kendaraan Actions if ($action == 'delete_kendaraan' && $id > 0) { $stmt = $pdo->prepare("SELECT gambar FROM kendaraan WHERE id = ?"); $stmt->execute([$id]); $item = $stmt->fetch(); if ($item && !empty($item['gambar']) && file_exists($item['gambar'])) { unlink($item['gambar']); } $stmt = $pdo->prepare("DELETE FROM kendaraan WHERE id = ?"); if ($stmt->execute([$id])) { $message .= '
Kendaraan berhasil dihapus.
'; } } elseif ($action == 'edit_kendaraan' && $id > 0) { $stmt = $pdo->prepare("SELECT * FROM kendaraan WHERE id = ?"); $stmt->execute([$id]); $kendaraan_to_edit = $stmt->fetch(); if ($kendaraan_to_edit) $edit_mode_kendaraan = true; } } // --- FORM PROCESSING (ADD, UPDATE, LOGO) --- if ($_SERVER["REQUEST_METHOD"] == "POST") { $upload_dir = 'assets/images/'; $allowed_types = ['image/png', 'image/jpeg', 'image/gif', 'image/x-icon']; $action = $_POST['action'] ?? ''; // Handle Logo Upload if ($action == 'upload_logo') { if (isset($_FILES['main_logo']) && $_FILES['main_logo']['error'] == 0) { if (in_array($_FILES['main_logo']['type'], $allowed_types)) { if (move_uploaded_file($_FILES['main_logo']['tmp_name'], $upload_dir . 'logo.png')) { $message .= '
Logo utama berhasil diunggah.
'; } } } if (isset($_FILES['logo_icon']) && $_FILES['logo_icon']['error'] == 0) { if (in_array($_FILES['logo_icon']['type'], $allowed_types)) { if (move_uploaded_file($_FILES['logo_icon']['tmp_name'], $upload_dir . 'favicon.png')) { $message .= '
Ikon logo berhasil diunggah.
'; } } } } // Handle Add/Update Tour Package if (in_array($action, ['add_paket', 'update_paket'])) { $nama = $_POST['nama'] ?? ''; $harga = $_POST['harga'] ?? 0; $id = isset($_POST['id']) ? (int)$_POST['id'] : 0; if (!empty($nama) && $harga > 0) { $deskripsi = $_POST['deskripsi'] ?? ''; $durasi = $_POST['durasi'] ?? ''; $gambar = $_POST['gambar_existing'] ?? ''; if (isset($_FILES['gambar']) && $_FILES['gambar']['error'] == 0) { if ($id > 0 && !empty($gambar) && file_exists($gambar)) unlink($gambar); $img_name = time() . '_' . basename($_FILES['gambar']['name']); $img_path = $upload_dir . $img_name; if (move_uploaded_file($_FILES['gambar']['tmp_name'], $img_path)) $gambar = $img_path; } if ($action == 'add_paket') { $stmt = $pdo->prepare("INSERT INTO paket_wisata (nama, deskripsi, durasi, harga, gambar) VALUES (?, ?, ?, ?, ?)"); if ($stmt->execute([$nama, $deskripsi, $durasi, $harga, $gambar])) $message .= '
Paket wisata berhasil ditambahkan.
'; } elseif ($action == 'update_paket' && $id > 0) { $stmt = $pdo->prepare("UPDATE paket_wisata SET nama = ?, deskripsi = ?, durasi = ?, harga = ?, gambar = ? WHERE id = ?"); if ($stmt->execute([$nama, $deskripsi, $durasi, $harga, $gambar, $id])) $message .= '
Paket wisata berhasil diperbarui.
'; } } else { $message .= '
Nama dan Harga wajib diisi.
'; } } // Handle Add/Update Kendaraan if (in_array($action, ['add_kendaraan', 'update_kendaraan'])) { $nama = $_POST['nama_kendaraan'] ?? ''; $harga = $_POST['harga_kendaraan'] ?? 0; $id = isset($_POST['id_kendaraan']) ? (int)$_POST['id_kendaraan'] : 0; if (!empty($nama) && $harga > 0) { $jenis = $_POST['jenis_kendaraan'] ?? ''; $transmisi = $_POST['transmisi_kendaraan'] ?? ''; $status = $_POST['status_kendaraan'] ?? 'Tersedia'; $gambar = $_POST['gambar_kendaraan_existing'] ?? ''; if (isset($_FILES['gambar_kendaraan']) && $_FILES['gambar_kendaraan']['error'] == 0) { if ($id > 0 && !empty($gambar) && file_exists($gambar)) unlink($gambar); $img_name = 'kendaraan_' . time() . '_' . basename($_FILES['gambar_kendaraan']['name']); $img_path = $upload_dir . $img_name; if (move_uploaded_file($_FILES['gambar_kendaraan']['tmp_name'], $img_path)) $gambar = $img_path; } if ($action == 'add_kendaraan') { $stmt = $pdo->prepare("INSERT INTO kendaraan (nama, jenis, transmisi, harga, status, gambar) VALUES (?, ?, ?, ?, ?, ?)"); if ($stmt->execute([$nama, $jenis, $transmisi, $harga, $status, $gambar])) $message .= '
Kendaraan berhasil ditambahkan.
'; } elseif ($action == 'update_kendaraan' && $id > 0) { $stmt = $pdo->prepare("UPDATE kendaraan SET nama = ?, jenis = ?, transmisi = ?, harga = ?, status = ?, gambar = ? WHERE id = ?"); if ($stmt->execute([$nama, $jenis, $transmisi, $harga, $status, $gambar, $id])) $message .= '
Kendaraan berhasil diperbarui.
'; } } else { $message .= '
Nama dan Harga Kendaraan wajib diisi.
'; } } // To prevent re-submission on refresh, we redirect. if ($_SERVER["REQUEST_METHOD"] == "POST") { header("Location: admin.php"); exit; } } // Fetch all data $paket_wisata = $pdo->query("SELECT * FROM paket_wisata ORDER BY id DESC")->fetchAll(); $kendaraan = $pdo->query("SELECT * FROM kendaraan ORDER BY id DESC")->fetchAll(); ?> Admin Dashboard - JatimTour

Manajemen Paket Wisata

Daftar Paket Wisata
GambarNamaHargaDurasiAksi
Belum ada paket wisata.
Rp Edit Hapus

Manajemen Kendaraan

Daftar Kendaraan
GambarNamaJenisHarga/HariStatusAksi
Belum ada kendaraan.
Rp Edit Hapus
Pengaturan Logo