fix(user): align badge entry with medal settings
This commit is contained in:
+16
-3
@@ -168,7 +168,7 @@ class Badges {
|
||||
return false;
|
||||
}
|
||||
$settings = \AKSRT\Settings\Settings::get_user_identity_settings();
|
||||
return !empty($settings['badge']['enabled']);
|
||||
return !empty($settings['medal']['enabled']);
|
||||
}
|
||||
|
||||
public static function public_display(): bool {
|
||||
@@ -176,7 +176,7 @@ class Badges {
|
||||
return false;
|
||||
}
|
||||
$settings = \AKSRT\Settings\Settings::get_user_identity_settings();
|
||||
return !empty($settings['badge']['enabled']) && !empty($settings['badge']['public_display']);
|
||||
return !empty($settings['medal']['enabled']) && !empty($settings['medal']['public_display']);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -190,7 +190,20 @@ class Badges {
|
||||
return self::$dictionary_cache = [];
|
||||
}
|
||||
$settings = \AKSRT\Settings\Settings::get_user_identity_settings();
|
||||
$dict = is_array($settings['badge']['dictionary'] ?? null) ? $settings['badge']['dictionary'] : [];
|
||||
$medal = is_array($settings['medal'] ?? null) ? $settings['medal'] : [];
|
||||
$dict = [];
|
||||
foreach ((array) ($medal['items_by_slug'] ?? []) as $item) {
|
||||
if (!is_array($item)) {
|
||||
continue;
|
||||
}
|
||||
$dict[] = [
|
||||
'slug' => sanitize_key((string) ($item['slug'] ?? '')),
|
||||
'label' => (string) ($item['name'] ?? $item['slug'] ?? ''),
|
||||
'tone' => 'neutral',
|
||||
'desc' => (string) ($item['desc'] ?? ''),
|
||||
'icon_url' => (string) ($item['icon'] ?? ''),
|
||||
];
|
||||
}
|
||||
$out = [];
|
||||
foreach ($dict as $item) {
|
||||
$slug = sanitize_key((string) ($item['slug'] ?? ''));
|
||||
|
||||
+2
-2
@@ -161,8 +161,8 @@ class Home {
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($settings['badge']['enabled']) && !empty($settings['badge']['public_display'])) {
|
||||
$limit = max(1, (int) ($settings['badge']['limit'] ?? 3));
|
||||
if (!empty($settings['medal']['enabled']) && !empty($settings['medal']['public_display'])) {
|
||||
$limit = max(1, (int) ($settings['medal']['limit'] ?? 3));
|
||||
if (class_exists('AKSRT\\User\\Badges')) {
|
||||
$list = Badges::list_for_user($user_id);
|
||||
$badge_count = 0;
|
||||
|
||||
Reference in New Issue
Block a user