<?php
require_once '../../config/config.php';
require_once '../helper/audit_log.php';
header('Content-Type: application/json');
try {
    $exam_id=(int)($_POST['exam_id']??0);
    $subject_id=(int)($_POST['subject_id']??0);
    $max_marks=(int)($_POST['max_marks']??0);
    $pass_marks=(int)($_POST['pass_marks']??0);
    $exam_date=trim($_POST['exam_date']??'');
    $session=trim($_POST['session']??'');
    $errors=[]; if($exam_id<=0)$errors[]='Exam required.'; if($subject_id<=0)$errors[]='Subject required.'; if($max_marks<=0)$errors[]='Max marks required.'; if($pass_marks<0)$errors[]='Pass marks required.'; if($errors){ echo json_encode(['status'=>'error','message'=>$errors]); exit; }
    $stmt=$pdo->prepare('INSERT INTO exam_subjects (exam_id,subject_id,max_marks,pass_marks,exam_date,session) VALUES (?,?,?,?,?,?)');
    $stmt->execute([$exam_id,$subject_id,$max_marks,$pass_marks,empty($exam_date)?null:$exam_date,empty($session)?null:$session]);
    $examSubjectId = $pdo->lastInsertId();
    
    // Also create exam_timetable entry if exam_date or session is provided
    if (!empty($exam_date) || !empty($session)) {
        $insertTtStmt = $pdo->prepare('INSERT INTO exam_timetable (exam_subject_id, exam_date, session, start_time, end_time) VALUES (?, ?, ?, ?, ?)');
        $insertTtStmt->execute([$examSubjectId, empty($exam_date)?null:$exam_date, empty($session)?null:$session, '10:00:00', '13:00:00']);
    }
    
    write_audit_log($pdo, ['module'=>'Exam','action'=>'create','entity_table'=>'exam_subjects','entity_id'=>$examSubjectId,'after_data'=>compact('exam_id','subject_id','max_marks','pass_marks','exam_date','session'),'message'=>'Exam subject created']);
    echo json_encode(['status'=>'success','message'=>'Exam Subject created successfully.']);
} catch (Throwable $e){ http_response_code(500); echo json_encode(['status'=>'error','message'=>$e->getMessage()]); }
?>


