public function HandleChannelLanguages::onPruneCdf in Acquia Content Hub 8.2
Handles channel languages.
Parameters
\Drupal\acquia_contenthub\Event\PruneCdfEntitiesEvent $event: The prune event.
File
- src/
EventSubscriber/ PruneCdf/ HandleChannelLanguages.php, line 48
Class
- HandleChannelLanguages
- Handles channel languages during pruning.
Namespace
Drupal\acquia_contenthub\EventSubscriber\PruneCdfCode
public function onPruneCdf(PruneCdfEntitiesEvent $event) {
$cdf = $event
->getCdf();
$allLanguages = $this
->getCdfConfigurableLanguages($cdf);
$channelLanguages = $this
->getChannelLanguages($allLanguages);
$removedLanguages = [];
foreach ($allLanguages as $langcode => $language) {
if (!isset($channelLanguages[$langcode])) {
$cdf
->removeCdfEntity($language
->getUuid());
$removedLanguages[$langcode] = $language;
}
}
if (empty($removedLanguages)) {
return;
}
foreach ($cdf
->getEntities() as $cdfEntity) {
$this
->removeDependenciesToNotChannelLanguages($cdfEntity, $removedLanguages);
}
}