<?php
session_start();
require_once('../config/db.php');

header('Content-Type: application/json');

// جلب لغة المستخدم أو الافتراضية
$current_lang = $_SESSION['lang'] ?? 'ar';
$lang = include("../languages/{$current_lang}.php");

$course_id = $_POST['course_id'] ?? null;
$teacher_name = $_POST['teacher_name'] ?? '';
$hours_count = $_POST['hours_count'] ?? 0;
$selected_ids = $_POST['selected_student_ids'] ?? [];
$statuses = $_POST['status'] ?? [];
$today = date('Y-m-d');

// توليد بصمة فريدة لهذه الجلسة لتمييزها في الحاسبة
$session_token = uniqid('sess_' . date('His') . '_');

if (!$course_id || empty($selected_ids)) {
    echo json_encode(['success' => false, 'message' => $lang['error_select_student']]);
    exit;
}

try {
    $conn->beginTransaction();
    $count = 0;

    foreach ($selected_ids as $sid) {
        $status = $statuses[$sid] ?? 'حضور';
        
        // إدراج البيانات مع الـ session_token الجديد
        $ins = $conn->prepare("INSERT INTO attendance (student_id, teacher_name, hours_count, status, attendance_date, course_id, session_token) VALUES (?, ?, ?, ?, ?, ?, ?)");
        $ins->execute([$sid, $teacher_name, $hours_count, $status, $today, $course_id, $session_token]);
        $count++;
    }

    $conn->commit();

    // صياغة رسالة النجاح بشكل ديناميكي لتشمل عدد الطلاب
    $success_msg = str_replace('{count}', $count, $lang['attendance_save_success']);
    
    echo json_encode(['success' => true, 'message' => $success_msg]);

} catch (Exception $e) {
    if ($conn->inTransaction()) $conn->rollBack();
    echo json_encode(['success' => false, 'message' => $lang['operation_error'] . ': ' . $e->getMessage()]);
}