<?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='';

// Grading rules management
if ($_POST['action']??''=='add') {
    $gt=$conn->real_escape_string($_POST['grade_type']);
    $min=floatval($_POST['min_percentage']); $max=floatval($_POST['max_percentage']);
    $gl=$conn->real_escape_string(trim($_POST['grade_letter']));
    $gp=floatval($_POST['grade_point']); $desc=$conn->real_escape_string(trim($_POST['description']));
    $conn->query("INSERT INTO result_grading (grade_type,min_percentage,max_percentage,grade_letter,grade_point,description) VALUES ('$gt',$min,$max,'$gl',$gp,'$desc')");
    if($conn->affected_rows>0) $msg="Grade added!";
}
if (isset($_GET['del'])) { $conn->query("DELETE FROM result_grading WHERE id=".intval($_GET['del'])); $msg="Deleted."; }
if ($_POST['action']??''=='reset') {
    $conn->query("DELETE FROM result_grading");
    setupResultTables($conn); // Re-inserts defaults
    $msg="Grading scale reset to defaults!";
}

$gradings=$conn->query("SELECT * FROM result_grading ORDER BY grade_type,max_percentage DESC");
$primary=[]; $pre=[];
while($g=$gradings->fetch_assoc()) {
    if($g['grade_type']=='PRIMARY') $primary[]=$g;
    else $pre[]=$g;
}
?>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Grading Scale | 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-star me-2" style="color:var(--primary)"></i>Grading Scale</h4>
<div class="d-flex gap-2">
<form method="POST" class="d-inline"><input type="hidden" name="action" value="reset"><button type="submit" class="btn btn-warning btn-sm" onclick="return confirm('Reset to CBSE defaults?')"><i class="fas fa-undo me-1"></i>Reset Defaults</button></form>
<button class="btn btn-primary btn-sm" data-bs-toggle="modal" data-bs-target="#addModal"><i class="fas fa-plus me-1"></i>Add Grade</button>
</div></div>
<?php if($msg): ?><div class="alert alert-success"><?=$msg?></div><?php endif; ?>
<div class="row g-3">
<div class="col-md-6">
<div class="card-box">
<div class="cb-header"><h6>🎓 Primary (Class 1–8) — CBSE Scale</h6></div>
<table class="table mb-0">
<thead><tr><th>Grade</th><th>Grade Point</th><th>% Range</th><th>Description</th><th></th></tr></thead>
<tbody><?php foreach($primary as $g): ?>
<tr>
<td><span class="badge" style="background:<?=match($g['grade_letter']){
'A1'=>'#059669','A2'=>'#10b981','B1'=>'#3b82f6','B2'=>'#60a5fa',
'C1'=>'#f59e0b','C2'=>'#fbbf24','D'=>'#ef4444','E'=>'#dc2626',default=>'#6b7280'
}?>;font-size:14px;padding:5px 10px"><?=$g['grade_letter']?></span></td>
<td><?=$g['grade_point']?></td>
<td><?=$g['min_percentage']?>% - <?=$g['max_percentage']?>%</td>
<td style="font-size:12px"><?=htmlspecialchars($g['description'])?></td>
<td><a href="?del=<?=$g['id']?>" class="btn btn-sm btn-outline-danger" style="font-size:10px" onclick="return confirm('Delete?')"><i class="fas fa-trash"></i></a></td>
</tr><?php endforeach; ?>
</tbody></table></div></div>
<div class="col-md-6">
<div class="card-box">
<div class="cb-header"><h6>🌱 Pre-Primary (Nur–UKG) Scale</h6></div>
<table class="table mb-0">
<thead><tr><th>Grade</th><th>% Range</th><th>Description</th><th></th></tr></thead>
<tbody><?php foreach($pre as $g): ?>
<tr>
<td><span class="badge" style="background:<?=$g['grade_letter']=='A+'?'#059669':($g['grade_letter']=='A'?'#10b981':($g['grade_letter']=='B'?'#3b82f6':($g['grade_letter']=='C'?'#f59e0b':'#ef4444')))?>;font-size:14px;padding:5px 10px"><?=$g['grade_letter']?></span></td>
<td><?=$g['min_percentage']?>% - <?=$g['max_percentage']?>%</td>
<td style="font-size:12px"><?=htmlspecialchars($g['description'])?></td>
<td><a href="?del=<?=$g['id']?>" class="btn btn-sm btn-outline-danger" style="font-size:10px" onclick="return confirm('Delete?')"><i class="fas fa-trash"></i></a></td>
</tr><?php endforeach; ?>
</tbody></table></div></div>
</div>
</div>
<div class="modal fade" id="addModal" tabindex="-1"><div class="modal-dialog"><div class="modal-content">
<div class="modal-header" style="background:linear-gradient(135deg,var(--primary),#1a6ba0);color:#fff"><h5 class="modal-title">Add Grade Rule</h5><button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button></div>
<form method="POST"><input type="hidden" name="action" value="add"><div class="modal-body">
<div class="mb-3"><label class="form-label fw-600">Grade Type</label>
<select name="grade_type" class="form-select"><option value="PRIMARY">Primary (Cls 1–8)</option><option value="PREPRIMARY">Pre-Primary (Nur–UKG)</option></select></div>
<div class="row g-3 mb-3"><div class="col-4"><label class="form-label fw-600">Min %</label><input type="number" name="min_percentage" class="form-control" step="0.01" required></div>
<div class="col-4"><label class="form-label fw-600">Max %</label><input type="number" name="max_percentage" class="form-control" step="0.01" required></div>
<div class="col-4"><label class="form-label fw-600">Grade Letter</label><input type="text" name="grade_letter" class="form-control" required placeholder="A1" maxlength="5"></div></div>
<div class="row g-3"><div class="col-6"><label class="form-label fw-600">Grade Point</label><input type="number" name="grade_point" class="form-control" step="0.1" value="0"></div>
<div class="col-6"><label class="form-label fw-600">Description</label><input type="text" name="description" class="form-control" placeholder="Outstanding"></div></div>
</div><div class="modal-footer"><button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-primary">Add Grade</button></div></form></div></div></div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script></body></html>
