You are here

protected function HandleChannelLanguages::getChannelLanguages in Acquia Content Hub 8.2

Removes languages that don't belong to the channel.

Parameters

array $languages: Languages of interest.

Return value

array The languages that don't belong to the channel.

1 call to HandleChannelLanguages::getChannelLanguages()
HandleChannelLanguages::onPruneCdf in src/EventSubscriber/PruneCdf/HandleChannelLanguages.php
Handles channel languages.

File

src/EventSubscriber/PruneCdf/HandleChannelLanguages.php, line 79

Class

HandleChannelLanguages
Handles channel languages during pruning.

Namespace

Drupal\acquia_contenthub\EventSubscriber\PruneCdf

Code

protected function getChannelLanguages(array $languages) {
  $name = $this->clientSettings
    ->getName();
  $channelLanguages = [];

  /** @var \Acquia\ContentHubClient\CDFDocument $language */
  foreach ($languages as $language) {
    $channelName = $this
      ->getLanguageChannelName($language);

    // If language is global (no channel) or
    // belongs to current channel, add it to the array.
    if (empty($channelName) || $channelName === $name) {
      $channelLanguages[$language
        ->getMetadata()['langcode']] = $language;
    }
  }
  return $this
    ->removeGlobalLanguagesIfChannelLanguageExist($channelLanguages);
}