fix(vip): preserve layered membership expirations
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ba5638a892
commit
9aa0f1aefa
4 files changed
+43
-11
No files matched your search
@@ -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));
|
||||
|
||||
Reference in new issue
Block a user