/** * Loa the content. * * @param mixed $value The lang var value. * @param \DataContainer $dataContainer The data container driver. * * @return array|string * * @SuppressWarnings(PHPMD.Superglobals) */ public function loadContent($value, \DataContainer $dataContainer) { if (empty($value) && strlen($dataContainer->activeRecord->langvar)) { return $this->languageEditor->getLangValue($GLOBALS['TL_LANG'], explode('|', preg_replace('#^[^:]+::#', '', $dataContainer->activeRecord->langvar)), true); } else { return $value; } }
/** * Search for language variables. * * @return string * @SuppressWarnings(PHPMD.Superglobals) */ public function searchLanguageVariable() { $template = new \BackendTemplate('be_translation_search'); if (\Input::post('FORM_SUBMIT') == 'tl_translation_search') { if (\Input::get('back')) { \Controller::redirect('contao/main.php?do=language-editor&key=search'); } $_SESSION['tl_translation_search_keyword'] = \Input::post('keyword'); $_SESSION['tl_translation_search_language'] = \Input::post('language'); $_SESSION['tl_translation_search_translation'] = \Input::post('translation'); $keyword = html_entity_decode(\Input::post('keyword'), ENT_QUOTES | ENT_HTML401, 'UTF-8'); $language = \Input::post('language'); $translations = $this->getTranslationsFromRequest(); $result = array(); $results = 0; $keywordRgxp = $this->getKeywordRegexp($keyword); $start = time(); $end = $this->calculateEndTime($start); $count = count($translations); while (time() < $end && $count && !$results) { $translation = array_shift($translations); $count = count($translations); $result[$translation] = array(); \Controller::loadLanguageFile($this->languageEditor->getLanguageFileName($translation), $language, true); if ($this->existsTranslation($translation)) { foreach (array_keys($GLOBALS['TL_TRANSLATION'][$translation]) as $path) { $value = $this->languageEditor->getLangValue($GLOBALS['TL_LANG'], explode('|', $path), true); $this->matchResults($value, $keywordRgxp, $result, $results, $translation, $path); } } } $template->translations = $translations; $template->result = $result; } else { if (!isset($_SESSION['tl_translation_search_language'])) { $_SESSION['tl_translation_search_language'] = $GLOBALS['TL_LANGUAGE']; } $template->translations = array_keys($GLOBALS['TL_TRANSLATION']); } return $template->parse(); }