/** * Creates the localization panel * * @param string $table The table * @param array $row The record for which to make the localization panel. * * @return array */ public function getLocalizedRecords($table, $row) { $records = array(); $translations = $this->translateTools->translationInfo($table, $row['uid'], 0, $row); if (is_array($translations) && is_array($translations['translations'])) { foreach ($translations['translations'] as $sysLanguageUid => $translationData) { if (!$GLOBALS['BE_USER']->checkLanguageAccess($sysLanguageUid)) { continue; } if (isset($translations['translations'][$sysLanguageUid])) { $records[$sysLanguageUid] = array('editIcon' => $this->getLanguageIconLink($sysLanguageUid, BackendUtility::editOnClick('&edit[' . $table . '][' . $translationData['uid'] . ']=edit'), $translationData['uid']), 'uid' => $translations['translations'][$sysLanguageUid]['uid']); } } } return $records; }
/** * Modifies the select box of languages * * @param array &$config configuration array * @return void */ public function user_language(array &$config) { $config['items'] = array(); $languages = array(); $sysLanguages = \TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::getSystemLanguages(); $languages[] = array("Standard-Verhalten", ""); $languages[] = array("Aktuelle Seitenspache", "page"); $languages[] = array("Artikel für alle Sprachen anzeigen", "-1"); foreach ($sysLanguages as $language) { if ($language['uid'] > -1) { if ($language['uid'] == 0) { if ($this->settings['languageDefaultLanguageLabel'] != "") { $language['title'] = $this->settings['languageDefaultLanguageLabel']; } $language['hidden'] = 0; } if ($language['hidden'] == 0) { $languages[] = array($language['title'], $language['uid']); } } } $config['items'] = $languages; }
/** * Get array of allowed languages * * @return array languages */ public function getLanguages() { $return = array(); $languages = array(); $languagesSelect = array(); $sysLanguages = \TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::getSystemLanguages(); //$sysLanguages = \TYPO3\CMS\Backend\Utility\BackendUtility::getSystemLanguages(); $language['title'] = "Artikel für alle Sprachen anzeigen"; $language['uid'] = -1; $language['flagIcon'] = "flags-europeanunion"; $language[0] = $language['title']; $language[1] = $language['uid']; $language[2] = $language['flagIcon']; $languages[-1] = $language; $languagesSelect[-1] = $language[0]; /* foreach($sysLanguages AS $language){ if($language[1]==0){ if($this->settings['languageDefaultLanguageLabel']!=""){ $language[0] = $this->settings['languageDefaultLanguageLabel']." [0]"; } if($this->settings['languageDefaultIsoFlag']!=""){ $language[2] = "flags-".$this->settings['languageDefaultIsoFlag']; } } $language['title'] = $language[0]; $language['uid'] = $language[1]; $language['flag'] = $language[2]; $languages[$language[1]] = $language; $languagesSelect[$language[1]] = $language[0]; } */ foreach ($sysLanguages as $language) { if ($language['uid'] > -1) { if ($language['uid'] == 0) { if ($this->settings['languageDefaultLanguageLabel'] != "") { $language['title'] = $this->settings['languageDefaultLanguageLabel']; } if ($this->settings['languageDefaultIsoFlag'] != "") { $language['flagIcon'] = "flags-" . $this->settings['languageDefaultIsoFlag']; } $language['hidden'] = 0; } if ($language['hidden'] == 0) { $language[0] = $language['title']; $language[1] = $language['uid']; $language[2] = $language['flagIcon']; $languages[$language['uid']] = $language; $languagesSelect[$language['uid']] = $language['title']; } } } $return['items'] = $languages; $return['select'] = $languagesSelect; return $return; }