From cf4326539e57a61d25167a907ac4a985a4073495 Mon Sep 17 00:00:00 2001 From: Anupam Kumar Date: Thu, 1 Aug 2024 13:10:40 +0530 Subject: [PATCH] fix(AdminSettings/AI): show pref list of only the enabled translation providers Signed-off-by: Anupam Kumar --- .../settings/lib/Settings/Admin/ArtificialIntelligence.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php b/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php index 9a29124394920..57cd555f1f2a1 100644 --- a/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php +++ b/apps/settings/lib/Settings/Admin/ArtificialIntelligence.php @@ -148,7 +148,12 @@ public function getForm() { $value = array_merge($defaultValue, $value); break; case 'ai.translation_provider_preferences': - $value += array_diff($defaultValue, $value); // Add entries from $defaultValue that are not in $value to the end of $value + // Only show entries from $value (saved pref list) that are in $defaultValue (enabled providers) + // and add all providers that are enabled but not in the pref list + if (!is_array($defaultValue)) { + break; + } + $value = array_values(array_unique(array_merge(array_intersect($value, $defaultValue), $defaultValue), SORT_STRING)); break; default: break;