<?php
// admin/roles.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 = '';
$roles = getAllRoles();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $action = $_POST['action'] ?? '';
    $id = $_POST['id'] ?? 0;
    $name = $_POST['name'] ?? '';
    $level = $_POST['level'] ?? 0;
    
    if ($action == 'add') {
        if (!empty($name) && $level > 0) {
            $result = insertData('roles', ['name' => $name, 'level' => $level]);
            $message = $result ? 'نقش با موفقیت اضافه شد.' : 'خطا در اضافه کردن نقش.';
            $roles = getAllRoles();
        }
    } elseif ($action == 'edit') {
        if (!empty($name) && $level > 0) {
            $result = updateData('roles', ['name' => $name, 'level' => $level], 'id = :id', ['id' => $id]);
            $message = ($result !== false) ? 'نقش با موفقیت ویرایش شد.' : 'خطا در ویرایش نقش.';
            $roles = getAllRoles();
        }
    } elseif ($action == 'delete') {
        if ($id > 1) {
            $result = deleteData('roles', 'id = :id', ['id' => $id]);
            $message = $result ? 'نقش با موفقیت حذف شد.' : 'خطا در حذف نقش.';
            $roles = getAllRoles();
        } else {
            $message = 'نمی‌توان نقش مدیر سامانه را حذف کرد.';
        }
    }
}

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