query("SELECT COUNT(*) as c FROM packages")->fetch_assoc()['c']; $local_count_row = $conn->query("SELECT COUNT(*) as c FROM local_tours"); $local_count = $local_count_row ? $local_count_row->fetch_assoc()['c'] : 0; $gallery_count = $conn->query("SELECT COUNT(*) as c FROM gallery")->fetch_assoc()['c']; // Scan uploads dir for images $uploads_dir = "../uploads/"; $all_uploads = array_values(array_filter(scandir($uploads_dir) ?: [], fn($f) => preg_match('/\.(jpe?g|png|webp)$/i', $f))); $upload_count = count($all_uploads); // Recent packages $recent_packages = $conn->query("SELECT p.id, p.title, p.price, p.main_image, d.name as country FROM packages p JOIN destinations d ON p.country_id=d.id ORDER BY p.id DESC LIMIT 5"); $admin_name = $_SESSION['admin_user'] ?? 'Admin'; ?> Admin Dashboard | Methsisila
Dashboard

Administrator

Tours

International Packages

Local

Local Sri Lanka Tours

Gallery

Gallery Images

Uploads

Files in /uploads

Recent Tour Packages
View All
num_rows > 0): ?> fetch_assoc()): $rp_img = !empty($rp['main_image']) ? "../uploads/".htmlspecialchars($rp['main_image']) : (count($all_uploads) > 0 ? "../uploads/".htmlspecialchars($all_uploads[0]) : ""); ?>
Cover Tour Destination Price
LKR
No packages yet.
Uploaded Images

images in /uploads — these are used on all package cards

+ Upload More
24): ?>
+