protected function HandleChannelLanguages::removeGlobalLanguagesIfChannelLanguageExist in Acquia Content Hub 8.2
Remove global languages if channel exists.
Parameters
array $channelLanguages: Channel languages.
Return value
array Filtered channel languages.
1 call to HandleChannelLanguages::removeGlobalLanguagesIfChannelLanguageExist()
- HandleChannelLanguages::getChannelLanguages in src/
EventSubscriber/ PruneCdf/ HandleChannelLanguages.php - Removes languages that don't belong to the channel.
File
- src/
EventSubscriber/ PruneCdf/ HandleChannelLanguages.php, line 105
Class
- HandleChannelLanguages
- Handles channel languages during pruning.
Namespace
Drupal\acquia_contenthub\EventSubscriber\PruneCdfCode
protected function removeGlobalLanguagesIfChannelLanguageExist(array $channelLanguages) {
$langcodes = array_keys($channelLanguages);
foreach ($channelLanguages as $langcode => $language) {
$channelName = $this
->getLanguageChannelName($language);
// If language is global (no channel)
// but there are other languages with the same prefix, remove it.
if (empty($channelName) && !empty(preg_grep("/^{$langcode}_/", $langcodes))) {
unset($channelLanguages[$langcode]);
}
}
return $channelLanguages;
}