query("SELECT DISTINCT cycle_name FROM school_cycles WHERE status != 'archived' ORDER BY cycle_name ASC"); $cycles = $cyclesStmt->fetchAll(PDO::FETCH_COLUMN) ?: []; // Find default cycle if not selected if (empty($requestedCycleName) && count($cycles) > 0) { $requestedCycleName = $cycles[0]; } // Action: assess a specific center if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'assess') { $centerId = filter_input(INPUT_POST, 'center_id', FILTER_VALIDATE_INT) ?: 0; $cycleId = filter_input(INPUT_POST, 'cycle_id', FILTER_VALIDATE_INT) ?: 0; $cycleName = $_POST['cycle_name'] ?? ''; if ($centerId > 0 && $cycleId > 0) { // Check if already imported $stmt = $pdo->prepare('SELECT id FROM center_assessment_types WHERE center_application_id = :center_id AND cycle_id = :cycle_id AND global_template_id = :template_id LIMIT 1'); $stmt->execute([ ':center_id' => $centerId, ':cycle_id' => $cycleId, ':template_id' => $templateId ]); $existingAssessmentId = $stmt->fetchColumn(); if ($existingAssessmentId) { $assessmentId = (int)$existingAssessmentId; } else { // Import it try { $assessmentId = import_global_center_assessment_to_center($templateId, $centerId, $cycleId); } catch (Exception $e) { set_flash('error', 'فشل استيراد التقييم للمركز.'); header("Location: execute_global_assessment.php?id={$templateId}&cycle=" . urlencode($cycleName)); exit; } } $returnUrl = urlencode("execute_global_assessment.php?id={$templateId}&cycle=" . urlencode($cycleName)); header("Location: center_assessment_score_sheet.php?id={$centerId}&cycle={$cycleId}&assessment_id={$assessmentId}&return_url={$returnUrl}"); exit; } } // Fetch all approved centers and their assessment status for this template $centers = []; if (!empty($requestedCycleName)) { // Join with school_cycles by cycle_name, then left join with center_assessment_types and center_assessment_scores $query = " SELECT c.id, c.center_name, c.city, sc.id AS center_cycle_id, cat.id AS assessment_type_id, cas.status AS score_status, cas.score, cas.max_score FROM center_applications c JOIN school_cycles sc ON sc.center_application_id = c.id AND sc.cycle_name = :cycle_name LEFT JOIN center_assessment_types cat ON cat.center_application_id = c.id AND cat.cycle_id = sc.id AND cat.global_template_id = :template_id LEFT JOIN center_assessment_scores cas ON cas.assessment_type_id = cat.id WHERE c.status = 'approved' ORDER BY c.center_name ASC "; $stmt = $pdo->prepare($query); $stmt->execute([ ':cycle_name' => $requestedCycleName, ':template_id' => $templateId ]); $centers = $stmt->fetchAll() ?: []; } $pageTitle = 'تطبيق التقييم: ' . (string) ($template['title'] ?? ''); $pageDescription = 'تنفيذ التقييم العام على المراكز المعتمدة.'; render_page_start($pageTitle, 'admin', $pageDescription); $flash = consume_flash(); render_flash($flash); ?>
تطبيق قالب التقييم

من هذه الشاشة يمكنك المرور على جميع المراكز ورصد درجاتها بناءً على هذا القالب الموحد.

الوزن: % الدرجة القصوى:
0): ?>
لم يبدأ الرصد'; if ($status === 'draft') $statusBadge = 'مسودة'; if ($status === 'completed') $statusBadge = 'مكتمل'; if ($status === 'waived') $statusBadge = 'مستثنى'; ?>
المركز المنطقة الحالة الدرجة الإجراءات
/
لا توجد مراكز معتمدة

لم يتم العثور على مراكز معتمدة لتقييمها في هذه الدورة.