fix(vip): preserve layered membership expirations

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Fable 5 committed 2026-08-09 17:28:36 +08:00
1 parent ba5638a892
commit 9aa0f1aefa
4 files changed
+43 -11

No files matched your search

+14 -4
View File
@@ -65,10 +65,20 @@ function aksrt_get_user_vip_level(int $user_id = 0): int {
if ($meta_level > 0) {
if ($expires > 0 && $expires < time()) {
// 过期:lazy 清 level,记录上次等级(zibll vip_level_expired)。
update_user_meta($user_id, 'aksrt_vip_level_expired', min(2, max(1, $meta_level)));
update_user_meta($user_id, 'aksrt_vip_level', 0);
$candidate = 0;
$base_level = (int) get_user_meta($user_id, 'aksrt_vip_base_level', true);
$base_expires = (int) get_user_meta($user_id, 'aksrt_vip_base_expires', true);
if ($base_level > 0) {
update_user_meta($user_id, 'aksrt_vip_level', $base_level);
update_user_meta($user_id, 'aksrt_vip_expires', $base_expires);
delete_user_meta($user_id, 'aksrt_vip_base_level');
delete_user_meta($user_id, 'aksrt_vip_base_expires');
$candidate = min(2, max(0, $base_level));
} else {
// 过期:lazy 清 level,记录上次等级(zibll vip_level_expired)。
update_user_meta($user_id, 'aksrt_vip_level_expired', min(2, max(1, $meta_level)));
update_user_meta($user_id, 'aksrt_vip_level', 0);
$candidate = 0;
}
} else {
// expires === 0 视为永久;expires >= now 视为有效。
$candidate = min(2, max(0, $meta_level));