You are here

protected function SearchApiAlgoliaBackend::getLanguages in Search API Algolia 3.0.x

Get all the languages supported by the Index.

Parameters

\Drupal\search_api\IndexInterface $index: Index.

Return value

array Supported languages for the index.

2 calls to SearchApiAlgoliaBackend::getLanguages()
SearchApiAlgoliaBackend::deleteAllIndexItems in src/Plugin/search_api/backend/SearchApiAlgoliaBackend.php
SearchApiAlgoliaBackend::deleteItems in src/Plugin/search_api/backend/SearchApiAlgoliaBackend.php

File

src/Plugin/search_api/backend/SearchApiAlgoliaBackend.php, line 911

Class

SearchApiAlgoliaBackend
Class SearchApiAlgoliaBackend.

Namespace

Drupal\search_api_algolia\Plugin\search_api\backend

Code

protected function getLanguages(IndexInterface $index) {
  $languages = [];
  if (!$this
    ->isLanguageSuffixEnabled($index)) {

    // If not multi-lingual or suffix not supported, we simply do it once
    // with empty language code.
    return [
      '',
    ];
  }
  foreach ($index
    ->getDatasources() as $datasource) {
    $config = $datasource
      ->getConfiguration();
    $always_valid = [
      LanguageInterface::LANGCODE_NOT_SPECIFIED,
      LanguageInterface::LANGCODE_NOT_APPLICABLE,
    ];
    foreach ($this->languageManager
      ->getLanguages() as $language) {
      if (Utility::matches($language
        ->getId(), $config['languages']) || in_array($language
        ->getId(), $always_valid)) {
        $languages[$language
          ->getId()] = $language
          ->getId();
      }
    }
  }
  return $languages;
}