BLACKSITE
:
216.73.216.140
:
199.188.200.160 / jeddahhousingltd.com
:
Linux server383.web-hosting.com 4.18.0-553.83.1.lve.el8.x86_64 #1 SMP Wed Nov 12 10:04:12 UTC 2025 x86_64
:
/
home
/
jeddveug
/
www
/
admin
/
Upload File:
files >> /home/jeddveug/www/admin/offer_add.php
<?php require_once __DIR__ . '/../config/db.php'; // Check authentication if (!isset($_SESSION['admin_id'])) { header('Location: login.php'); exit; } $errors = []; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $title = trim($_POST['title'] ?? ''); $short_description = trim($_POST['short_description'] ?? ''); $description = trim($_POST['description'] ?? ''); $price = trim($_POST['price'] ?? ''); $discount_price = trim($_POST['discount_price'] ?? ''); $status = $_POST['status'] ?? 'active'; if (!$title) $errors[] = 'Title is required.'; // Handle image upload $image_name = ''; if (isset($_FILES['image']) && $_FILES['image']['error'] === UPLOAD_ERR_OK) { $allowed = ['image/jpeg', 'image/png', 'image/webp', 'image/gif']; if (in_array($_FILES['image']['type'], $allowed)) { $ext = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION); $image_name = 'offer_' . time() . '_' . rand(100,999) . '.' . $ext; $upload_dir = __DIR__ . '/../uploads/offers/'; if (!is_dir($upload_dir)) { mkdir($upload_dir, 0777, true); } if (!move_uploaded_file($_FILES['image']['tmp_name'], $upload_dir . $image_name)) { $errors[] = 'Failed to upload image. Check directory permissions.'; $image_name = ''; } } else { $errors[] = 'Invalid image format. Use JPG, PNG, WebP, or GIF.'; } } if (empty($errors)) { $stmt = $pdo->prepare("INSERT INTO offers (title, short_description, description, image, price, discount_price, status) VALUES (?, ?, ?, ?, ?, ?, ?)"); $stmt->execute([$title, $short_description, $description, $image_name, $price, $discount_price, $status]); header('Location: offers.php?msg=added'); exit; } } $admin_page_title = 'Add Offer'; require_once 'includes/header.php'; ?> <div class="max-w-3xl"> <a href="offers.php" class="text-sm text-primary-600 hover:text-primary-800 mb-4 inline-flex items-center"><i class="fas fa-arrow-left mr-2"></i> Back to Offers</a> <?php if (!empty($errors)): ?> <div class="bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded-xl mb-5 text-sm"> <?php foreach ($errors as $err): ?><p>• <?= htmlspecialchars($err) ?></p><?php endforeach; ?> </div> <?php endif; ?> <form method="POST" enctype="multipart/form-data" class="bg-white rounded-xl shadow-sm p-6 space-y-5"> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Title <span class="text-red-500">*</span></label> <input type="text" name="title" required value="<?= htmlspecialchars($title ?? '') ?>" class="w-full px-4 py-2.5 border border-gray-300 rounded-xl text-sm focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20"> </div> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Short Description</label> <textarea name="short_description" rows="2" class="w-full px-4 py-2.5 border border-gray-300 rounded-xl text-sm focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20"><?= htmlspecialchars($short_description ?? '') ?></textarea> </div> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Full Description</label> <textarea name="description" rows="5" class="w-full px-4 py-2.5 border border-gray-300 rounded-xl text-sm focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20"><?= htmlspecialchars($description ?? '') ?></textarea> </div> <div class="grid grid-cols-1 sm:grid-cols-2 gap-4"> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Price</label> <input type="text" name="price" value="<?= htmlspecialchars($price ?? '') ?>" class="w-full px-4 py-2.5 border border-gray-300 rounded-xl text-sm focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20" placeholder="e.g. ৳ 5,00,000"> </div> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Discount Price</label> <input type="text" name="discount_price" value="<?= htmlspecialchars($discount_price ?? '') ?>" class="w-full px-4 py-2.5 border border-gray-300 rounded-xl text-sm focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20" placeholder="e.g. ৳ 4,50,000"> </div> </div> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Image</label> <input type="file" name="image" accept="image/*" class="w-full px-4 py-2.5 border border-gray-300 rounded-xl text-sm file:mr-4 file:py-1 file:px-3 file:rounded-lg file:border-0 file:bg-primary-50 file:text-primary-700 file:font-medium file:text-sm"> </div> <div> <label class="block text-sm font-medium text-gray-700 mb-1">Status</label> <select name="status" class="w-full px-4 py-2.5 border border-gray-300 rounded-xl text-sm focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20"> <option value="active">Active</option> <option value="inactive">Inactive</option> </select> </div> <button type="submit" class="bg-primary-700 hover:bg-primary-800 text-white px-6 py-2.5 rounded-xl text-sm font-medium transition-colors"> <i class="fas fa-plus mr-2"></i> Add Offer </button> </form> </div> <?php require_once 'includes/footer.php'; ?>