[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: add_millionaire_questions.php
<?php require_once '../config/database.php'; requireRole('teacher'); $teacher_id = getUserId(); $competition_id = $_GET['id'] ?? null; if (!$competition_id) { header('Location: dashboard.php'); exit; } // Verify teacher owns this competition $stmt = $pdo->prepare("SELECT * FROM competitions WHERE id = ? AND teacher_id = ?"); $stmt->execute([$competition_id, $teacher_id]); $competition = $stmt->fetch(); if (!$competition) { header('Location: dashboard.php'); exit; } $message = ''; $error = ''; // Handle form submissions if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (isset($_POST['add_question'])) { $question_level = $_POST['question_level']; $question_text = $_POST['question_text']; $answer1 = sanitize($_POST['answer1']); $answer2 = sanitize($_POST['answer2']); $answer3 = sanitize($_POST['answer3']); $answer4 = sanitize($_POST['answer4']); $correct_answer = $_POST['correct_answer']; $question_image = ''; // Handle image upload if (isset($_FILES['question_image']) && $_FILES['question_image']['error'] == 0) { $question_image = uploadImage($_FILES['question_image']); } if (empty($question_text) || empty($answer1) || empty($answer2) || empty($answer3) || empty($answer4)) { $error = 'جميع الحقول مطلوبة'; } else { $stmt = $pdo->prepare(" INSERT INTO millionaire_questions (competition_id, question_level, question_text, answer1, answer2, answer3, answer4, correct_answer, question_image) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) "); if ($stmt->execute([$competition_id, $question_level, $question_text, $answer1, $answer2, $answer3, $answer4, $correct_answer, $question_image])) { $message = 'تم إضافة السؤال بنجاح'; } else { $error = 'حدث خطأ في إضافة السؤال'; } } } elseif (isset($_POST['finish_competition'])) { // Check if all levels have at least one question $missing_levels = []; for ($level = 1; $level <= 15; $level++) { $stmt = $pdo->prepare("SELECT COUNT(*) FROM millionaire_questions WHERE competition_id = ? AND question_level = ?"); $stmt->execute([$competition_id, $level]); if ($stmt->fetchColumn() == 0) { $missing_levels[] = $level; } } if (!empty($missing_levels)) { $error = 'يجب إضافة سؤال واحد على الأقل لكل مستوى. المستويات المفقودة: ' . implode(', ', $missing_levels); } else { $stmt = $pdo->prepare("UPDATE competitions SET status = 'active' WHERE id = ?"); if ($stmt->execute([$competition_id])) { header('Location: my_competitions.php'); exit; } } } } // Get existing questions by level $questions_by_level = []; for ($level = 1; $level <= 15; $level++) { $stmt = $pdo->prepare("SELECT * FROM millionaire_questions WHERE competition_id = ? AND question_level = ? ORDER BY created_at"); $stmt->execute([$competition_id, $level]); $questions_by_level[$level] = $stmt->fetchAll(); } // Count total questions $total_questions = 0; foreach ($questions_by_level as $questions) { $total_questions += count($questions); } ?> <!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>إضافة أسئلة المليونير - منصة المسابقات التعليمية</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet"> <link href="../assets/css/style.css" rel="stylesheet"> </head> <body> <!-- Navigation --> <nav class="navbar navbar-expand-lg navbar-dark bg-success"> <div class="container-fluid"> <a class="navbar-brand" href="../index.php"> <i class="fas fa-trophy me-2"></i> منصة المسابقات التعليمية </a> <div class="navbar-nav me-auto"> <span class="navbar-text"> <i class="fas fa-chalkboard-teacher me-1"></i> مرحباً، <?= sanitize($_SESSION['user_name']) ?> </span> </div> <div class="navbar-nav"> <a class="nav-link" href="../auth/logout.php"> <i class="fas fa-sign-out-alt me-1"></i> تسجيل الخروج </a> </div> </div> </nav> <div class="container-fluid py-4"> <div class="row"> <div class="col-lg-8"> <div class="d-flex justify-content-between align-items-center mb-4"> <h1 class="h3">إضافة أسئلة من سيربح المليون</h1> <div> <a href="my_competitions.php" class="btn btn-outline-secondary me-2"> <i class="fas fa-arrow-right me-1"></i> العودة </a> <?php if ($total_questions >= 15): ?> <form method="POST" class="d-inline"> <button type="submit" name="finish_competition" class="btn btn-success"> <i class="fas fa-check me-1"></i> إنهاء وتفعيل المسابقة </button> </form> <?php endif; ?> </div> </div> <?php if ($message): ?> <div class="alert alert-success alert-dismissible fade show"> <i class="fas fa-check-circle me-2"></i> <?= $message ?> <button type="button" class="btn-close" data-bs-dismiss="alert"></button> </div> <?php endif; ?> <?php if ($error): ?> <div class="alert alert-danger alert-dismissible fade show"> <i class="fas fa-exclamation-circle me-2"></i> <?= $error ?> <button type="button" class="btn-close" data-bs-dismiss="alert"></button> </div> <?php endif; ?> <!-- Competition Info --> <div class="card mb-4"> <div class="card-body"> <h5><?= sanitize($competition['title']) ?></h5> <p class="text-muted mb-0">من سيربح المليون - 15 مستوى صعوبة</p> <p class="text-info mb-0"> <i class="fas fa-info-circle me-1"></i> نظام النقاط: كل 1000 وحدة عملة = 1 نقطة في لوحة الشرف </p> <div class="progress mt-2"> <div class="progress-bar" style="width: <?= ($total_questions / 15) * 100 ?>%"> <?= $total_questions ?> / 15 مستوى </div> </div> </div> </div> <!-- Add Question Form --> <div class="card mb-4"> <div class="card-header"> <h5 class="mb-0"> <i class="fas fa-question-circle me-2"></i> إضافة سؤال جديد </h5> </div> <div class="card-body"> <form method="POST" enctype="multipart/form-data"> <div class="row"> <div class="col-md-6 mb-3"> <label for="question_level" class="form-label">مستوى الصعوبة</label> <select class="form-select" id="question_level" name="question_level" required> <option value="">اختر المستوى</option> <?php for ($i = 1; $i <= 15; $i++): ?> <option value="<?= $i ?>"> المستوى <?= $i ?> (<?= count($questions_by_level[$i]) ?> سؤال) </option> <?php endfor; ?> </select> </div> <div class="col-md-6 mb-3"> <label for="question_image" class="form-label">صورة السؤال (اختيارية)</label> <input type="file" class="form-control" id="question_image" name="question_image" accept="image/*"> </div> </div> <div class="mb-3"> <label for="question_text" class="form-label">نص السؤال</label> <textarea class="form-control rich-text" id="question_text" name="question_text" rows="3" placeholder="يمكنك لصق السؤال من Word مع الاحتفاظ بالتنسيق والصور"></textarea> </div> <div class="row"> <div class="col-md-6 mb-3"> <label for="answer1" class="form-label">الإجابة الأولى (أ)</label> <input type="text" class="form-control" id="answer1" name="answer1"> </div> <div class="col-md-6 mb-3"> <label for="answer2" class="form-label">الإجابة الثانية (ب)</label> <input type="text" class="form-control" id="answer2" name="answer2"> </div> </div> <div class="row"> <div class="col-md-6 mb-3"> <label for="answer3" class="form-label">الإجابة الثالثة (ج)</label> <input type="text" class="form-control" id="answer3" name="answer3"> </div> <div class="col-md-6 mb-3"> <label for="answer4" class="form-label">الإجابة الرابعة (د)</label> <input type="text" class="form-control" id="answer4" name="answer4"> </div> </div> <div class="mb-3"> <label for="correct_answer" class="form-label">الإجابة الصحيحة</label> <select class="form-select" id="correct_answer" name="correct_answer" required> <option value="">اختر الإجابة الصحيحة</option> <option value="1">الإجابة الأولى (أ)</option> <option value="2">الإجابة الثانية (ب)</option> <option value="3">الإجابة الثالثة (ج)</option> <option value="4">الإجابة الرابعة (د)</option> </select> </div> <button type="submit" name="add_question" class="btn btn-primary"> <i class="fas fa-plus me-1"></i> إضافة السؤال </button> </form> </div> </div> </div> <!-- Questions by Level Sidebar --> <div class="col-lg-4"> <div class="card"> <div class="card-header"> <h6 class="mb-0"> <i class="fas fa-layer-group me-2"></i> الأسئلة حسب المستوى </h6> </div> <div class="card-body" style="max-height: 600px; overflow-y: auto;"> <?php for ($level = 1; $level <= 15; $level++): ?> <div class="mb-3"> <div class="d-flex justify-content-between align-items-center"> <h6 class="mb-1">المستوى <?= $level ?></h6> <span class="badge bg-<?= count($questions_by_level[$level]) > 0 ? 'success' : 'secondary' ?>"> <?= count($questions_by_level[$level]) ?> سؤال </span> </div> <?php if (!empty($questions_by_level[$level])): ?> <?php foreach ($questions_by_level[$level] as $q): ?> <div class="border rounded p-2 mb-1"> <small class="text-muted"> <?= mb_substr(strip_tags($q['question_text']), 0, 40) ?>... </small> </div> <?php endforeach; ?> <?php else: ?> <small class="text-muted">لا توجد أسئلة</small> <?php endif; ?> </div> <hr> <?php endfor; ?> </div> </div> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script> <script src="../assets/js/main.js"></script> <script> $(document).ready(function() { // Initialize rich text editor initializeRichTextEditor('.rich-text'); }); </script> </body> </html>
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium320.web-hosting.com
Server IP: 66.29.153.54
PHP Version: 8.2.29
Server Software: LiteSpeed
System: Linux premium320.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.86 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: aoneqssk
User ID (UID): 1285
Group ID (GID): 1290
Script Owner UID: 1285
Current Dir Owner: 1285