تحديث إلزام كود الاختبار بعد Retake
====================================

هذا تحديث صغير مستقل يُثبت فوق التحديث الشامل v3 السابق.
لا يحتوي على بقية ملفات النظام، ويستبدل فقط:

- student/exams.php
- teacher/exams.php
- admin/exams.php

طريقة التثبيت
-------------
1. ارفع ملف ZIP إلى داخل مجلد student-gateway.
2. فك الضغط داخل student-gateway مباشرة.
3. سجّل الدخول بحساب السوبر أدمن.
4. افتح الرابط:

   https://YOUR-DOMAIN/student-gateway/SMI-Retake-Code-Required-Patch-2026-08-03/install.php

5. اضغط Install retake patch.

السلوك بعد التحديث
------------------
- عند ضغط المعلم أو الأدمن Reset Attempt تُحذف إجابات الطالب والحفظ التلقائي والنتيجة والدرجة المنشورة.
- المحاولة القديمة تصبح Cancelled ولا يستطيع الطالب استكمالها مباشرة.
- يظهر الاختبار للطالب من جديد داخل نافذة الإعادة الخاصة به.
- عند الضغط على بدء الاختبار تظهر صفحة إدخال الكود.
- لا يبدأ عداد المحاولة الجديدة إلا بعد إدخال الكود الصحيح.
- إذا لم يكن للاختبار كود، ينشئ النظام كود إعادة خاصًا ويظهره في رسالة النجاح للمعلم أو الأدمن.
- بعد بدء المحاولة الجديدة بنجاح، يستطيع الطالب استكمال نفس المحاولة بالطريقة المعتادة إذا خرج من الصفحة.

النسخة الاحتياطية
-----------------
ينشئ المثبت نسخة احتياطية من الملفات الثلاثة قبل استبدالها.
لا تحذف مجلد التحديث قبل اختبار إعادة محاولة طالب واحد.
يمكن استخدام زر Rollback patch لاسترجاع الملفات السابقة.
