<?php
// admin/terms.php - مدیریت ترم‌ها با آمار

session_start();
require_once '../config/database.php';
require_once '../includes/db.php';
require_once '../includes/auth.php';
require_once '../includes/functions.php';

if (!isLoggedIn() || $_SESSION['role_level'] != 1) {
    header('Location: dashboard.php');
    exit;
}

$pageTitle = 'مدیریت ترم‌ها';
$pageSubtitle = 'مدیریت ترم‌های تحصیلی';

$message = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $action = $_POST['action'] ?? '';
    $id = $_POST['id'] ?? 0;
    $name = $_POST['name'] ?? '';
    $code = $_POST['code'] ?? '';
    $is_active = isset($_POST['is_active']) ? 1 : 0;
    
    if ($action == 'add') {
        if (empty($name) || empty($code)) {
            $message = 'نام و کد ترم را وارد کنید.';
        } elseif (!preg_match('/^\d{4}$/', $code)) {
            $message = 'کد ترم باید ۴ رقم باشد.';
        } else {
            $data = ['name' => $name, 'code' => $code, 'is_active' => $is_active];
            $result = insertData('terms', $data);
            $message = $result ? 'ترم اضافه شد.' : 'خطا';
        }
    } elseif ($action == 'edit') {
        if (empty($name) || empty($code)) {
            $message = 'نام و کد ترم را وارد کنید.';
        } else {
            $data = ['name' => $name, 'code' => $code, 'is_active' => $is_active];
            $result = updateData('terms', $data, 'id = :id', ['id' => $id]);
            $message = ($result !== false) ? 'ترم ویرایش شد.' : 'خطا';
        }
    } elseif ($action == 'delete') {
        $result = deleteData('terms', 'id = :id', ['id' => $id]);
        $message = $result ? 'ترم حذف شد.' : 'خطا';
    }
}

// ===== دریافت ترم‌ها با تعداد مدرسین =====
$terms = fetchAll(
    "SELECT t.*, 
            (SELECT COUNT(*) FROM courses c WHERE c.term_id = t.id) as teacher_count
     FROM terms t 
     ORDER BY t.id DESC"
);

$content = 'terms-content.php';
require_once '../includes/layout.php';
?>