Update Saqel Platform: 2026-09-08 18:49:45

This commit is contained in:
Hamza-Ayed
2026-09-08 18:49:45 +03:00
parent dd8b95035f
commit 9198a2f974
4 changed files with 15 additions and 22 deletions
+7 -7
View File
@@ -78,20 +78,20 @@ class VideoController
} else {
$subjectName = trim((string)($request->getBody()['subject'] ?? $_POST['subject'] ?? ''));
$gradeLevel = trim((string)($request->getBody()['grade_level'] ?? $_POST['grade_level'] ?? ''));
// The production schema uses subjects.name (not name_ar/name_en).
// Match the teacher's grade first; the course subject is retained
// as the canonical database relation.
$existingCourse = Database::selectOne(
"SELECT c.id, c.teacher_id FROM courses c
JOIN subjects s ON s.id = c.subject_id
WHERE c.teacher_id = ? AND c.grade_level = ? AND (s.name_ar = ? OR s.name_en = ?)
LIMIT 1",
[$request->user_id, $gradeLevel, $subjectName, $subjectName]
"SELECT id, teacher_id FROM courses WHERE teacher_id = ? AND grade_level = ? LIMIT 1",
[$request->user_id, $gradeLevel]
);
if ($existingCourse) {
$courseId = (int)$existingCourse['id'];
$course = $existingCourse;
} else {
$subject = Database::selectOne(
"SELECT id FROM subjects WHERE name_ar = ? OR name_en = ? ORDER BY id LIMIT 1",
[$subjectName, $subjectName]
"SELECT id FROM subjects WHERE name = ? ORDER BY id LIMIT 1",
[$subjectName]
) ?: Database::selectOne("SELECT id FROM subjects ORDER BY id LIMIT 1");
if (!$subject) {
$response->status(409)->json(['status' => 'error', 'message' => 'لا يوجد مبحث معرف لربط الفيديو به']);