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

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

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

    if (!function_exists('Mirai_vipCheckUserValid')) {
        return ['allowed' => false, 'reason' => 'vip_system_disabled'];
    }

    $status = Mirai_vipCheckUserValid($uid);

    if (!$status['is_valid']) {
        return ['allowed' => false, 'reason' => 'not_vip', 'required_level' => $requiredLevel];
    }

    if ($status['level'] < $requiredLevel) {
        return ['allowed' => false, 'reason' => 'level_low', 'current_level' => $status['level'], 'required_level' => $requiredLevel];
    }

    return ['allowed' => true];
}
