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/video_add.php
<?php require_once __DIR__ . '/../config/db.php'; // Check authentication if (!isset($_SESSION['admin_id'])) { header('Location: login.php'); exit; } $error = ''; $success = ''; function extractYoutubeId($url) { preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $url, $match); return isset($match[1]) ? $match[1] : null; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $title = trim($_POST['title']); $youtube_link = trim($_POST['youtube_link']); $status = $_POST['status']; if (empty($title) || empty($youtube_link)) { $error = 'Title and YouTube Link are required.'; } else { $video_id = extractYoutubeId($youtube_link); if (!$video_id) { $error = 'Invalid YouTube Link. Please provide a valid URL.'; } else { try { $stmt = $pdo->prepare("INSERT INTO videos (title, youtube_link, video_id, status) VALUES (?, ?, ?, ?)"); $stmt->execute([$title, $youtube_link, $video_id, $status]); // Redirect on success to prevent re-submission and ensure clean state header('Location: videos.php?msg=added'); exit; } catch (PDOException $e) { $error = 'Database error: ' . $e->getMessage(); } } } } $admin_page_title = 'Add YouTube Video'; require_once 'includes/header.php'; ?> <div class="max-w-2xl mx-auto"> <div class="flex justify-between items-center mb-6"> <h2 class="text-2xl font-bold text-gray-800">Add YouTube Video</h2> <a href="videos.php" class="text-gray-600 hover:text-primary-600 font-medium text-sm transition-colors"> <i class="fas fa-arrow-left mr-2"></i> Back to Videos </a> </div> <?php if ($error): ?> <div class="bg-red-50 text-red-600 p-4 rounded-xl mb-6 text-sm flex items-center"> <i class="fas fa-exclamation-circle text-lg mr-3"></i> <?= htmlspecialchars($error) ?> </div> <?php endif; ?> <?php if ($success): ?> <div class="bg-green-50 text-green-600 p-4 rounded-xl mb-6 text-sm flex items-center"> <i class="fas fa-check-circle text-lg mr-3"></i> <?= htmlspecialchars($success) ?> </div> <?php endif; ?> <div class="bg-white rounded-xl shadow-sm p-6"> <form method="POST" action=""> <div class="mb-5"> <label class="block text-sm font-medium text-gray-700 mb-2" for="title">Video Title <span class="text-red-500">*</span></label> <input type="text" id="title" name="title" value="<?= htmlspecialchars($title ?? '') ?>" required class="w-full px-4 py-2 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 transition-all text-sm"> </div> <div class="mb-5"> <label class="block text-sm font-medium text-gray-700 mb-2" for="youtube_link">YouTube Link <span class="text-red-500">*</span></label> <input type="url" id="youtube_link" name="youtube_link" value="<?= htmlspecialchars($youtube_link ?? '') ?>" placeholder="e.g. https://www.youtube.com/watch?v=dQw4w9WgXcQ" required class="w-full px-4 py-2 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 transition-all text-sm"> <p class="text-xs text-gray-500 mt-2">Paste the full YouTube video URL here.</p> </div> <div class="mb-6"> <label class="block text-sm font-medium text-gray-700 mb-2" for="status">Status</label> <select id="status" name="status" class="w-full px-4 py-2 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 transition-all text-sm"> <option value="active">Active</option> <option value="inactive">Inactive</option> </select> </div> <div class="flex justify-end pt-4 border-t border-gray-100"> <button type="submit" class="bg-primary-600 hover:bg-primary-700 text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors"> <i class="fas fa-save mr-2"></i> Save Video </button> </div> </form> </div> </div> <?php require_once 'includes/footer.php'; ?>