<?php
if (!defined('__TYPECHO_ROOT_DIR__')) exit;

function Mirai_hideCheckLevel($cid, $uid, $attrs, $widget, $index = 0) {
    if ($uid <= 0) {
        return ['allowed' => false, 'reason' => 'not_logged_in'];
    }

    $minLevel = isset($attrs['min']) ? max(1, (int)$attrs['min']) : 1;

    if (!function_exists('Mirai_levelGet') || !function_exists('Mirai_levelEnabled') || !Mirai_levelEnabled()) {
        return ['allowed' => false, 'reason' => 'level_system_disabled'];
    }

    $currentLevel = Mirai_levelGet($uid);

    if ($currentLevel >= $minLevel) {
        return ['allowed' => true];
    }

    return ['allowed' => false, 'reason' => 'level_low', 'current_level' => $currentLevel, 'required_level' => $minLevel];
}
