fix(vip): honor manual membership changes
This commit is contained in:
@@ -52,10 +52,11 @@ trait VipServicePurchase {
|
||||
return $this->vip_member_cache[$user_id];
|
||||
}
|
||||
|
||||
$level = $user_id > 0 && function_exists('aksrt_get_user_vip_level')
|
||||
? (int) aksrt_get_user_vip_level($user_id)
|
||||
: 0;
|
||||
$expires = $user_id > 0 ? (int) get_user_meta($user_id, 'aksrt_vip_expires', true) : 0;
|
||||
$vip_state = $user_id > 0 && function_exists('aksrt_get_user_vip_state')
|
||||
? aksrt_get_user_vip_state($user_id)
|
||||
: ['level' => 0, 'expires' => 0, 'state' => 'unopened', 'source' => 'none'];
|
||||
$level = (int) ($vip_state['level'] ?? 0);
|
||||
$expires = max(0, (int) ($vip_state['expires'] ?? 0));
|
||||
$member_state = 'unopened';
|
||||
if ($level > 0) {
|
||||
$member_state = $expires <= 0
|
||||
@@ -71,6 +72,7 @@ trait VipServicePurchase {
|
||||
'expires' => $expires,
|
||||
'is_permanent' => $level > 0 && $expires <= 0,
|
||||
'state' => $member_state,
|
||||
'source' => (string) ($vip_state['source'] ?? 'none'),
|
||||
'expires_label' => $member_state === 'expired'
|
||||
? __('已过期', 'aksrt')
|
||||
: $this->format_expires_label($expires, $level),
|
||||
|
||||
Reference in New Issue
Block a user