<?php
require_once __DIR__ . '/../core/init.php';

header('Content-Type: application/json; charset=utf-8');
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

$action = $_REQUEST['action'] ?? '';
$response = ['status' => 'error', 'message' => 'Hành động không hợp lệ.'];

// ACTION: LẤY DANH SÁCH QUYỀN CỦA MỘT NHÓM
if ($action == 'get_permissions') {
    $group_id = intval($_GET['group_id'] ?? 0);

    if ($group_id > 0) {
        // Sửa tên cột 'permissions' thành 'group_permission'
        $stmt = $conn->prepare("SELECT group_permission FROM cms_users_group WHERE id = ?");
        $stmt->bind_param('i', $group_id);
        $stmt->execute();
        $result = $stmt->get_result()->fetch_assoc();
        $stmt->close();

        // Sửa tên cột 'permissions' thành 'group_permission'
        if ($result && !empty($result['group_permission'])) {
            $permissions = json_decode($result['group_permission'], true);
            if (is_array($permissions)) {
                $response = ['status' => 'success', 'permissions' => $permissions];
            } else {
                $response = ['status' => 'success', 'permissions' => []];
            }
        } else {
            $response = ['status' => 'success', 'permissions' => []];
        }
    } else {
        $response['message'] = 'ID nhóm không hợp lệ.';
    }
}

// ACTION: LƯU QUYỀN CHO MỘT NHÓM
if ($action == 'save_permissions') {
    $group_id = intval($_POST['group_id'] ?? 0);
    $permissions = $_POST['permissions'] ?? [];

    if ($group_id > 0) {
        if (!is_array($permissions)) {
            $permissions = [];
        }
        $permissions_json = json_encode($permissions);

        // Sửa tên cột 'permissions' thành 'group_permission'
        $stmt = $conn->prepare("UPDATE cms_users_group SET group_permission = ? WHERE id = ?");
        $stmt->bind_param('si', $permissions_json, $group_id);
        
        if ($stmt->execute()) {
            $response = ['status' => 'success', 'message' => 'Cập nhật quyền thành công!'];
        } else {
            $response['message'] = 'Lỗi khi cập nhật quyền: ' . $stmt->error;
        }
        $stmt->close();
    } else {
        $response['message'] = 'ID nhóm không hợp lệ.';
    }
}

echo json_encode($response);
$conn->close();
?>