Example #1
0
 /**
  * Extract all languages from the MetaModel and return them as array.
  *
  * @param IMetaModel          $metaModel  The MetaModel to extract the languages from.
  *
  * @param TranslatorInterface $translator The translator to use.
  *
  * @return \string[]
  */
 private static function buildLanguageArray(IMetaModel $metaModel, TranslatorInterface $translator)
 {
     $languages = array();
     foreach ((array) $metaModel->getAvailableLanguages() as $langCode) {
         $languages[$langCode] = $translator->translate('LNG.' . $langCode, 'languages');
     }
     asort($languages);
     return $languages;
 }
Example #2
0
 /**
  * Get the language.
  *
  * First check the overwrite language. Then check if the MetaModels is translated and get all languages from it.
  * Use the current language as fallback.
  *
  * @param string     $singleLanguage The language with the overwrite.
  *
  * @param IMetaModel $metaModels     The MetaModels for the check.
  *
  * @return string[] A list with all languages or null.
  *
  * @SuppressWarnings(PHPMD.Superglobals)
  * @SuppressWarnings(PHPMD.CamelCaseVariableName)
  */
 protected function getLanguage($singleLanguage, $metaModels)
 {
     if (!empty($singleLanguage)) {
         return array($singleLanguage);
     } elseif ($metaModels->isTranslated() && $metaModels->getAvailableLanguages()) {
         return $metaModels->getAvailableLanguages();
     }
     return array($GLOBALS['TL_LANGUAGE']);
 }
Example #3
0
 /**
  * Get available langauges.
  *
  * @param IMetaModel $objMetaModel The metamodel.
  *
  * @return array|null|\string[]
  */
 private function getAvailableLanguages(IMetaModel $objMetaModel)
 {
     return $objMetaModel->isTranslated() && $this->get('all_langs') ? $objMetaModel->getAvailableLanguages() : array($objMetaModel->getActiveLanguage());
 }