<?php
session_start();
require_once '../db_connect.php';

// ১. সিকিউরিটি চেক (টিচার লগইন আছে কি না)
if (!isset($_SESSION['teacher_logged_in']) || $_SESSION['teacher_logged_in'] !== true) {
    header("Location: login.php");
    exit;
}

if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['att'])) {
    
    $teacher_id      = $_SESSION['teacher_id'];
    $course_id       = $_POST['course_id'];
    $attendance_date = $_POST['att_date']; // attendance.php থেকে আসা তারিখ
    $attendance_data = $_POST['att'];      // স্টুডেন্ট আইডি ও স্ট্যাটাস এর অ্যারে

    try {
        // ট্রানজেকশন শুরু (যাতে সব ডাটা একসাথে সেভ হয়)
        $pdo->beginTransaction();

        $sql = "INSERT INTO attendance (student_id, course_id, teacher_id, status, attendance_date) 
                VALUES (:sid, :cid, :tid, :status, :adate)
                ON DUPLICATE KEY UPDATE status = :status_update";

        $stmt = $pdo->prepare($sql);

        foreach ($attendance_data as $student_id => $status) {
            $stmt->execute([
                ':sid'           => $student_id,
                ':cid'           => $course_id,
                ':tid'           => $teacher_id,
                ':status'        => $status,
                ':adate'         => $attendance_date,
                ':status_update' => $status
            ]);
        }

        // সব সফল হলে ডাটাবেসে সেভ করা
        $pdo->commit();

        // সফল মেসেজসহ ফেরত পাঠানো
        header("Location: attendance.php?course_id=$course_id&att_date=$attendance_date&msg=success");
        exit;

    } catch (PDOException $e) {
        // এরর হলে রোলব্যাক করা
        $pdo->rollBack();
        die("Error saving attendance: " . $e->getMessage());
    }

} else {
    // সরাসরি এক্সেস করলে ফেরত পাঠানো
    header("Location: attendance.php");
    exit;
}