<?php
session_start();
if (!isset($_SESSION['admin_logged_in'])) { header('Location: ../index.php'); exit(); }
if (file_exists(__DIR__ . '/../../db.php')) {
    require_once __DIR__ . '/../../db.php';
} elseif (file_exists(__DIR__ . '/../db.php')) {
    require_once __DIR__ . '/../db.php';
}

if (file_exists(__DIR__ . '/../../result_db_setup.php')) {
    require_once __DIR__ . '/../../result_db_setup.php';
} elseif (file_exists(__DIR__ . '/../result_db_setup.php')) {
    require_once __DIR__ . '/../result_db_setup.php';
} elseif (file_exists(__DIR__ . '/result_db_setup.php')) {
    require_once __DIR__ . '/result_db_setup.php';
}
setupResultTables($conn);
$msg='';

// AJAX save
if ($_POST['ajax']??''=='save') {
    header('Content-Type: application/json');
    $sid=intval($_POST['student_id']); $tid=intval($_POST['term_id']);
    $act=$conn->real_escape_string(trim($_POST['activity_name']));
    $grade=$conn->real_escape_string(trim($_POST['grade']));
    $conn->query("INSERT INTO result_coscholastic (student_id,term_id,activity_name,grade) VALUES ($sid,$tid,'$act','$grade') ON DUPLICATE KEY UPDATE grade='$grade'");
    echo json_encode(['success'=>true]); exit;
}

$sel_class=intval($_GET['class_id']??0); $sel_term=intval($_GET['term_id']??0);
$classes=$conn->query("SELECT rc.*,rs.session_name FROM result_classes rc JOIN result_sessions rs ON rc.session_id=rs.id ORDER BY rs.is_active DESC,rc.numeric_level,rc.section");
$terms=$conn->query("SELECT rt.*,rs.session_name FROM result_terms rt JOIN result_sessions rs ON rt.session_id=rs.id ORDER BY rs.is_active DESC,rt.display_order");
$students=[]; $coscho_map=[];
$activities=['Art Education','Health & Phys. Ed.','Work Education','Discipline & Conduct'];
$grades_opts=['A+','A','B','C','D'];
if($sel_class&&$sel_term){
    $sr=$conn->query("SELECT id,first_name,last_name,roll_no FROM result_students WHERE class_id=$sel_class AND is_active=1 ORDER BY roll_no,first_name");
    while($s=$sr->fetch_assoc()) $students[]=$s;
    if(!empty($students)){
        $sids=implode(',',array_column($students,'id'));
        $cr=$conn->query("SELECT * FROM result_coscholastic WHERE student_id IN($sids) AND term_id=$sel_term");
        while($c=$cr->fetch_assoc()) $coscho_map[$c['student_id']][$c['activity_name']]=$c['grade'];
    }
}
?>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Co-Scholastic | Result</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<?php include __DIR__.'/_sidebar_style.php'; ?></head><body>
<?php include __DIR__.'/_sidebar.php'; ?>
<div class="main">
<div class="topbar"><h4><i class="fas fa-palette me-2" style="color:var(--primary)"></i>Co-Scholastic Assessment</h4>
<span class="badge bg-success align-self-center" id="sv">Auto-save ON</span></div>
<div class="card-box mb-3 p-3">
<form method="GET" class="row g-2 align-items-end">
<div class="col-md-4"><label class="form-label fw-600 mb-1" style="font-size:13px">Class</label>
<select name="class_id" class="form-select form-select-sm">
<option value="">-- Select Class --</option>
<?php while($c=$classes->fetch_assoc()): ?><option value="<?=$c['id']?>" <?=$sel_class==$c['id']?'selected':''?> ><?=$c['class_name'].' Section '.$c['section']?></option><?php endwhile; ?></select></div>
<div class="col-md-4"><label class="form-label fw-600 mb-1" style="font-size:13px">Term</label>
<select name="term_id" class="form-select form-select-sm">
<option value="">-- Select Term --</option>
<?php while($t=$terms->fetch_assoc()): ?><option value="<?=$t['id']?>" <?=$sel_term==$t['id']?'selected':''?> ><?=htmlspecialchars($t['term_name'])?></option><?php endwhile; ?></select></div>
<div class="col-md-4"><button type="submit" class="btn btn-primary btn-sm w-100">Load</button></div>
</form></div>
<?php if(!empty($students)): ?>
<div class="card-box">
<div class="cb-header"><h6><i class="fas fa-palette me-2"></i>Co-Scholastic Grades — <?=count($students)?> Students</h6></div>
<div class="table-responsive"><table class="table mb-0">
<thead><tr><th>#</th><th>Student</th>
<?php foreach($activities as $act): ?><th style="min-width:140px"><?=htmlspecialchars($act)?></th><?php endforeach; ?>
</tr></thead>
<tbody>
<?php foreach($students as $i=>$s): ?>
<tr><td><?=$i+1?></td>
<td class="fw-600"><?=htmlspecialchars($s['first_name'].' '.$s['last_name'])?></td>
<?php foreach($activities as $act):
$curGrade=$coscho_map[$s['id']][$act]??''; ?>
<td>
<select class="form-select form-select-sm" style="font-size:12px;width:80px"
onchange="saveCoscho(<?=$s['id']?>,<?=$sel_term?>,'<?=addslashes($act)?>',this.value)">
<option value="">--</option>
<?php foreach($grades_opts as $g): ?><option value="<?=$g?>" <?=$curGrade==$g?'selected':''?> ><?=$g?></option><?php endforeach; ?>
</select></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
</tbody></table></div></div>
<?php elseif($sel_class&&$sel_term): ?>
<div class="alert alert-info">No students found.</div>
<?php else: ?>
<div class="text-center py-5"><div style="font-size:4rem">🎨</div><h5 class="text-muted">Select class & term to enter co-scholastic grades</h5></div>
<?php endif; ?>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script>
function saveCoscho(sid,tid,act,grade){
    fetch('coscholastic.php',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},
    body:`ajax=save&student_id=${sid}&term_id=${tid}&activity_name=${encodeURIComponent(act)}&grade=${grade}`})
    .then(r=>r.json()).then(d=>{
        document.getElementById('sv').textContent='✅ Saved';
        setTimeout(()=>{document.getElementById('sv').textContent='Auto-save ON'},1500);
    });
}
</script></body></html>
