fix(vip): honor manual membership changes

This commit is contained in:
kate522 committed 2026-08-11 16:03:06 +08:00
1 parent 49ba30efa4
commit ddc762bfbd
6 files changed
+145 -151

No files matched your search

@@ -16,9 +16,10 @@ if (!$vip_enabled) {
}
$user_id = (int) ($user_id ?? get_current_user_id());
$vip_level = function_exists('aksrt_get_user_vip_level') ? aksrt_get_user_vip_level($user_id) : 0;
$expired_level = (int) get_user_meta($user_id, 'aksrt_vip_level_expired', true);
$expires = (int) get_user_meta($user_id, 'aksrt_vip_expires', true);
$vip_state = function_exists('aksrt_get_user_vip_state') ? aksrt_get_user_vip_state($user_id) : [];
$vip_level = (int) ($vip_state['level'] ?? 0);
$expired_level = min(2, max(0, (int) ($vip_state['expired_level'] ?? 0)));
$expires = max(0, (int) ($vip_state['expires'] ?? 0));
$vip_url = aksrt_get_user_center_tab_url('vip');
$title = __('开通会员', 'aksrt');
@@ -29,7 +30,7 @@ if ($status === '') {
if ($vip_level > 0) {
$title = (string) ($vip_levels[$vip_level]['name'] ?? ('VIP' . $vip_level));
if ($expires <= 0) {
if ($expires <= 0 && $vip_state_source !== 'order') {
$status = __('永久会员', 'aksrt');
} else {
$remaining_days = max(1, (int) ceil(($expires - time()) / DAY_IN_SECONDS));