<?php
session_start();
require_once 'db_connect.php';
header('Content-Type: application/json; charset=utf-8');

// إخفاء الأخطاء لمنع كسر الـ JSON
ini_set('display_errors', 0);
error_reporting(0);

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $teacher_name = $_SESSION['teacher_name'] ?? '';
    $school_name = $_SESSION['school_name'] ?? '';
    $subject_name = $_POST['subject_name'] ?? 'مادة عامة'; // يتم إرسالها من صفحة المدرس
    $students_grades = json_decode($_POST['grades_data'], true); 
    /* 
      نتوقع أن يرسل المدرس مصفوفة (Array) تحتوي على:
      student_id, term1, mid_year, term2, annual
    */

    if (empty($students_grades)) {
        echo json_encode(['status' => 'error', 'message' => 'لا توجد بيانات للحفظ']);
        exit;
    }

    $success_count = 0;
    
    // استخدام INSERT ... ON DUPLICATE KEY UPDATE لتحديث الدرجات إذا كانت موجودة مسبقاً
    $stmt = $conn->prepare("INSERT INTO academic_grades 
        (student_id, school_name, teacher_name, subject_name, term1_grade, mid_year_grade, term2_grade, annual_effort, final_score) 
        VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
        ON DUPLICATE KEY UPDATE 
        term1_grade = VALUES(term1_grade), 
        mid_year_grade = VALUES(mid_year_grade),
        term2_grade = VALUES(term2_grade),
        annual_effort = VALUES(annual_effort),
        final_score = VALUES(final_score)
    ");

    foreach ($students_grades as $grade) {
        $std_id = $grade['student_id'];
        $t1 = floatval($grade['term1']);
        $mid = floatval($grade['mid_year']);
        $t2 = floatval($grade['term2']);
        $annual = floatval($grade['annual']);
        
        // حساب مبدئي للدرجة النهائية (بدون قرار الإدارة)
        $final = ($mid + $annual) / 2;

        $stmt->bind_param("ssssddddd", $std_id, $school_name, $teacher_name, $subject_name, $t1, $mid, $t2, $annual, $final);
        if ($stmt->execute()) {
            $success_count++;
        }
    }
    $stmt->close();

    echo json_encode(['status' => 'success', 'message' => "تم حفظ واعتماد درجات ($success_count) طالب بنجاح وإرسالها لكنترول الإدارة."]);
}
?>