From b6b84036412cd8b4a6b5dec5fe179fac6dd997e2 Mon Sep 17 00:00:00 2001 From: Christian Toffolo Date: Mon, 11 Sep 2023 07:45:09 +0200 Subject: [PATCH] [BUGFIX] Handle flag icon for CE set with language 'All' (#719) Resolves: #718 --- Classes/Service/ContentEditableWrapperService.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Classes/Service/ContentEditableWrapperService.php b/Classes/Service/ContentEditableWrapperService.php index 4a2e7114..bc95282f 100644 --- a/Classes/Service/ContentEditableWrapperService.php +++ b/Classes/Service/ContentEditableWrapperService.php @@ -393,10 +393,16 @@ public function renderInlineActionIcons(bool $elementIsHidden, string $recordTit $languageIcon = ''; $siteLanguages = $frontendController->getSite()->getAllLanguages(); if (count($siteLanguages) > 1) { - $siteLanguage = $siteLanguages[$langUid]; - $title = htmlspecialchars($siteLanguage->getTitle()); - if ($siteLanguage->getFlagIdentifier()) { - $icon = $this->iconFactory->getIcon($siteLanguage->getFlagIdentifier(), Icon::SIZE_SMALL)->render(); + if ($langUid >= 0) { // Specific language CE + $siteLanguage = $siteLanguages[$langUid]; + $title = htmlspecialchars($siteLanguage->getTitle()); + if ($siteLanguage->getFlagIdentifier()) { + $icon = $this->iconFactory->getIcon($siteLanguage->getFlagIdentifier(), Icon::SIZE_SMALL)->render(); + $languageIcon = '' . $icon . ''; + } + } else { // All languages CE + $title = htmlspecialchars($GLOBALS['LANG']->sL('LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages')); + $icon = $this->iconFactory->getIcon('flags-multiple', Icon::SIZE_SMALL)->render(); $languageIcon = '' . $icon . ''; } }