<?php
require_once('tcpdf/tcpdf.php');
require_once('db_connection.php');

// Validate input
if (!isset($_POST['CLASS'], $_POST['TERM'], $_POST['YEAR'])) {
    die('Class, Term, or Year not specified.');
}

$class = $_POST['CLASS'];
$term = $_POST['TERM'];
$year = $_POST['YEAR'];

// Fetch midterm results
$stmt = $pdo->prepare("SELECT * FROM midterm_results WHERE CLASS = ? AND TERM = ? AND YEAR = ? ORDER BY STUDENT_NAME");
$stmt->execute([$class, $term, $year]);
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

if (!$results) {
    die("No midterm results found for class $class, term $term, year $year.");
}

// Define headers
$headers = ['STUDENT_NAME', 'SEX', 'MTC', 'MTC_AGG', 'ENG', 'ENG_AGG', 'SST', 'SST_AGG', 'SCI', 'SCI_AGG', 'TOTAL_MARKS', 'TOTAL_AGG', 'DIVISION'];

// Set fixed column widths to fit A4 landscape
$colWidths = [
    'STUDENT_NAME' => 45,
    'SEX' => 10,
    'MTC' => 15,
    'MTC_AGG' => 15,
    'ENG' => 15,
    'ENG_AGG' => 15,
    'SST' => 15,
    'SST_AGG' => 15,
    'SCI' => 15,
    'SCI_AGG' => 15,
    'TOTAL_MARKS' => 20,
    'TOTAL_AGG' => 20,
    'DIVISION' => 20
];

// Generate PDF
$pdf = new TCPDF('P', PDF_UNIT, 'A4', true, 'UTF-8', false);
$pdf->SetCreator('Luzira COU Primary School');
$pdf->SetAuthor('Luzira COU Primary School');
$pdf->SetTitle("Midterm Results - Class $class - Term $term $year");
$pdf->SetMargins(7, 20, 7); // Smaller margins to maximize space
$pdf->SetAutoPageBreak(TRUE, 10);
$pdf->SetFont('helvetica', '', 8);
$pdf->AddPage();

// Logo
$logoPath = 'logo.png';
if (file_exists($logoPath)) {
    $pdf->Image($logoPath, 7, 5, 20);
}

// Header
$pdf->SetY(10);
$pdf->SetFont('helvetica', 'B', 11);
$pdf->Cell(0, 8, "Luzira COU Primary School", 0, 1, 'C');
$pdf->SetFont('helvetica', '', 9);
$pdf->Cell(0, 7, "Class: $class - Term: $term - Year: $year (Midterm Results)", 0, 1, 'C');
$pdf->Ln(3);

// Table Headers
$pdf->SetFont('helvetica', 'B', 7);
foreach ($headers as $header) {
    $pdf->Cell($colWidths[$header], 6, str_replace('_', ' ', $header), 1, 0, 'C');
}
$pdf->Ln();

// Table Data
$pdf->SetFont('helvetica', '', 7);
foreach ($results as $row) {
    foreach ($headers as $header) {
        $align = ($header === 'STUDENT_NAME') ? 'L' : 'C';
        $pdf->Cell($colWidths[$header], 6, $row[$header], 1, 0, $align);
    }
    $pdf->Ln();
}

// Output to browser
$pdf->Output("Midterm_Class_{$class}_Term_{$term}_{$year}.pdf", 'I');
exit;
?>
