diff --git a/admin/kategori.php b/admin/kategori.php new file mode 100644 index 0000000..83d3ea5 --- /dev/null +++ b/admin/kategori.php @@ -0,0 +1,146 @@ + 0) { + header('Location: kategori.php?msg=Kategori tidak bisa dihapus karena masih digunakan di menu&type=danger'); + exit; + } + + $stmt = db()->prepare("DELETE FROM kategori_menu WHERE id = ?"); + $stmt->execute([$id]); + header('Location: kategori.php?msg=Kategori berhasil dihapus'); + exit; +} + +// Handle Form Submit (Add/Edit) +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $nama_kategori = $_POST['nama_kategori']; + $deskripsi = $_POST['deskripsi']; + $urutan = $_POST['urutan'] ?? 0; + $status = isset($_POST['status']) ? 1 : 0; + + // Simple slug generator + $slug = strtolower(trim(preg_replace('/[^A-Za-z0-9-]+/', '-', $nama_kategori))); + + if ($id) { + // Edit + $stmt = db()->prepare("UPDATE kategori_menu SET nama_kategori=?, slug=?, deskripsi=?, urutan=?, status=? WHERE id=?"); + $stmt->execute([$nama_kategori, $slug, $deskripsi, $urutan, $status, $id]); + $msg = "Kategori berhasil diperbarui"; + } else { + // Add + $stmt = db()->prepare("INSERT INTO kategori_menu (nama_kategori, slug, deskripsi, urutan, status) VALUES (?, ?, ?, ?, ?)"); + $stmt->execute([$nama_kategori, $slug, $deskripsi, $urutan, $status]); + $msg = "Kategori berhasil ditambahkan"; + } + header('Location: kategori.php?msg=' . $msg); + exit; +} + +// Fetch data for form +$edit_data = null; +if (($action === 'edit' || $action === 'tambah') && $id) { + $edit_data = fetch_one("SELECT * FROM kategori_menu WHERE id = ?", [$id]); +} + +$kategori_list = fetch_all("SELECT * FROM kategori_menu ORDER BY urutan ASC, nama_kategori ASC"); +?> + +
+

Kelola Kategori

+ + Tambah Kategori Baru + + Kembali ke Daftar + +
+ + +
+ + + +
+
+
+
+
+
+ + +
+
+ + +
+
+
+ > + +
+
+
+ + +
+
+ + +
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
UrutanNama KategoriSlugStatusAksi
+ + Aktif + + Non-aktif + + + Edit + Hapus +
Belum ada kategori.
+
+
+
+ + + diff --git a/admin/pesanan.php b/admin/pesanan.php new file mode 100644 index 0000000..e85eae9 --- /dev/null +++ b/admin/pesanan.php @@ -0,0 +1,199 @@ +prepare("UPDATE pesanan SET status = ? WHERE id = ?"); + $stmt->execute([$new_status, $id]); + header("Location: pesanan.php?action=detail&id=$id&msg=Status pesanan berhasil diperbarui"); + exit; +} + +// Handle Delete +if ($action === 'hapus' && $id) { + // Delete items first + $stmt = db()->prepare("DELETE FROM pesanan_item WHERE pesanan_id = ?"); + $stmt->execute([$id]); + + // Delete order + $stmt = db()->prepare("DELETE FROM pesanan WHERE id = ?"); + $stmt->execute([$id]); + + header('Location: pesanan.php?msg=Pesanan berhasil dihapus'); + exit; +} + +// Fetch Data +if ($action === 'detail' && $id) { + $order = fetch_one("SELECT * FROM pesanan WHERE id = ?", [$id]); + $items = fetch_all("SELECT pi.*, m.nama_menu FROM pesanan_item pi JOIN menu m ON pi.menu_id = m.id WHERE pi.pesanan_id = ?", [$id]); +} + +$pesanan_list = fetch_all("SELECT * FROM pesanan ORDER BY id DESC"); +?> + +
+

Kelola Pesanan

+
+ + +
+ + + +
+
+
+
+
Detail Pesanan #
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Nama Pelanggan
WhatsApp + + + +
Alamat Pengiriman
Tanggal Kirim
Catatan
Waktu Pesan
+ +
Item Pesanan
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
MenuQtyHarga SatuanSubtotal
Total
+
+
+ +
+
+
+
+
+
Update Status
+
+
+
+ +
+ + +
+ +
+
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDPelangganWATotalStatusWaktuAksi
# + 'bg-info', + 'Proses' => 'bg-warning', + 'Selesai' => 'bg-success', + 'Batal' => 'bg-danger' + ]; + ?> + + + + + Detail + Hapus +
Belum ada pesanan.
+
+
+
+ + + diff --git a/admin/profil.php b/admin/profil.php new file mode 100644 index 0000000..14ff455 --- /dev/null +++ b/admin/profil.php @@ -0,0 +1,119 @@ +prepare("UPDATE profil_usaha SET nama_usaha=?, tagline=?, deskripsi=?, alamat=?, whatsapp=?, email=?, instagram=?, logo=? WHERE id=?"); + $stmt->execute([$nama_usaha, $tagline, $deskripsi, $alamat, $whatsapp, $email, $instagram, $logo, $profil['id']]); + } else { + // Insert + $stmt = db()->prepare("INSERT INTO profil_usaha (nama_usaha, tagline, deskripsi, alamat, whatsapp, email, instagram, logo) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); + $stmt->execute([$nama_usaha, $tagline, $deskripsi, $alamat, $whatsapp, $email, $instagram, $logo]); + } + + header('Location: profil.php?msg=Profil usaha berhasil diperbarui'); + exit; +} +?> + +
+

Profil Usaha

+
+ + +
+ + +
+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+
+ + + +
+ Logo +
+ +
+ +
+
+
+
+
+
+
+
Tips Profil
+

Pastikan nomor WhatsApp diawali dengan 62 (contoh: 628123456789) agar fitur tombol pesan di halaman depan berfungsi dengan baik.

+

Logo yang diunggah sebaiknya memiliki latar belakang transparan (PNG) untuk tampilan terbaik di website.

+
+
+
+
+ +