/** * Logout the current user and redirect * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['logout'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } // Set last page visited if ($this->redirectBack) { $_SESSION['LAST_PAGE_VISITED'] = $this->getReferer(); } $this->import('FrontendUser', 'User'); $strRedirect = \Environment::get('base'); // Redirect to last page visited if ($this->redirectBack && !empty($_SESSION['LAST_PAGE_VISITED'])) { $strRedirect = $_SESSION['LAST_PAGE_VISITED']; } elseif ($this->jumpTo && ($objTarget = $this->objModel->getRelated('jumpTo')) !== null) { $strRedirect = $this->generateFrontendUrl($objTarget->row()); } // Log out and redirect if ($this->User->logout()) { $this->redirect($strRedirect); } return ''; }
/** * Do not display the module if there are no articles * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['articlenav'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } /** @var PageModel $objPage */ global $objPage; $this->objArticles = \ArticleModel::findPublishedWithTeaserByPidAndColumn($objPage->id, $this->strColumn); // Return if there are no articles if ($this->objArticles === null) { return ''; } // Redirect to the first article if no article is selected if (!\Input::get('articles')) { if (!$this->loadFirst) { return ''; } /** @var ArticleModel $objArticle */ $objArticle = $this->objArticles->current(); $strAlias = $objArticle->alias ?: $objArticle->id; $this->redirect($this->generateFrontendUrl($objPage->row(), '/articles/' . $strAlias)); } return parent::generate(); }
/** * Display a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['newsarchive'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } $this->news_archives = $this->sortOutProtected(\StringUtil::deserialize($this->news_archives)); // No news archives available if (!is_array($this->news_archives) || empty($this->news_archives)) { return ''; } // Show the news reader if an item has been selected if ($this->news_readerModule > 0 && (isset($_GET['items']) || \Config::get('useAutoItem') && isset($_GET['auto_item']))) { return $this->getFrontendModule($this->news_readerModule, $this->strColumn); } // Hide the module if no period has been selected if ($this->news_jumpToCurrent == 'hide_module' && !isset($_GET['year']) && !isset($_GET['month']) && !isset($_GET['day'])) { return ''; } return parent::generate(); }
/** * @return array */ public function getCurrencies() { $return = array(); $arrAux = array(); \Contao\System::loadLanguageFile('currencies'); $this->loadCurrencies(); if (is_array($this->arrCurrencies)) { foreach ($this->arrCurrencies as $strKey => $strName) { $arrAux[$strKey] = isset($GLOBALS['TL_LANG']['CUR'][$strKey]) ? Utf8::toAscii($GLOBALS['TL_LANG']['CUR'][$strKey]) : $strName; } } asort($arrAux); if (is_array($arrAux)) { foreach (array_keys($arrAux) as $strKey) { $return[$strKey] = isset($GLOBALS['TL_LANG']['CUR'][$strKey]) ? $GLOBALS['TL_LANG']['CUR'][$strKey] : $this->arrCurrencies[$strKey]; } } // HOOK: add custom logic if (isset($GLOBALS['TL_HOOKS']['getCurrencies']) && is_array($GLOBALS['TL_HOOKS']['getCurrencies'])) { foreach ($GLOBALS['TL_HOOKS']['getCurrencies'] as $callback) { $return = static::importStatic($callback[0])->{$callback}[1]($return, $this->arrCurrencies); } } return $return; }
/** * Display a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['listing'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } // Return if the table or the fields have not been set if ($this->list_table == '' || $this->list_fields == '') { return ''; } // Disable the details page if (\Input::get('show') && $this->list_info == '') { return ''; } // Fallback to the default template if ($this->list_layout == '') { $this->list_layout = 'list_default'; } $this->strTemplate = $this->list_layout; $this->list_where = $this->replaceInsertTags($this->list_where, false); $this->list_info_where = $this->replaceInsertTags($this->list_info_where, false); return parent::generate(); }
/** * Display a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['eventreader'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } // Set the item from the auto_item parameter if (!isset($_GET['events']) && \Config::get('useAutoItem') && isset($_GET['auto_item'])) { \Input::setGet('events', \Input::get('auto_item')); } // Do not index or cache the page if no event has been specified if (!\Input::get('events')) { /** @var PageModel $objPage */ global $objPage; $objPage->noSearch = 1; $objPage->cache = 0; return ''; } $this->cal_calendar = $this->sortOutProtected(\StringUtil::deserialize($this->cal_calendar)); // Do not index or cache the page if there are no calendars if (!is_array($this->cal_calendar) || empty($this->cal_calendar)) { /** @var PageModel $objPage */ global $objPage; $objPage->noSearch = 1; $objPage->cache = 0; return ''; } return parent::generate(); }
/** * Do not show the module if no calendar has been selected * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['calendar'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } $this->cal_calendar = $this->sortOutProtected(\StringUtil::deserialize($this->cal_calendar, true)); // Return if there are no calendars if (!is_array($this->cal_calendar) || empty($this->cal_calendar)) { return ''; } $this->strUrl = preg_replace('/\\?.*$/', '', \Environment::get('request')); $this->strLink = $this->strUrl; if ($this->jumpTo && ($objTarget = $this->objModel->getRelated('jumpTo')) instanceof PageModel) { /** @var PageModel $objTarget */ $this->strLink = $objTarget->getFrontendUrl(); } return parent::generate(); }
/** * Display a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['rssReader'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } $this->objFeed = new \SimplePie(); $arrUrls = \StringUtil::trimsplit('[\\n\\t ]', trim($this->rss_feed)); if (count($arrUrls) > 1) { $this->objFeed->set_feed_url($arrUrls); } else { $this->objFeed->set_feed_url($arrUrls[0]); } $this->objFeed->set_output_encoding(\Config::get('characterSet')); $this->objFeed->set_cache_location(TL_ROOT . '/system/tmp'); $this->objFeed->enable_cache(false); if ($this->rss_cache > 0) { $this->objFeed->enable_cache(true); $this->objFeed->set_cache_duration($this->rss_cache); } if (!$this->objFeed->init()) { $this->log('Error importing RSS feed "' . $this->rss_feed . '"', __METHOD__, TL_ERROR); return ''; } $this->objFeed->handle_content_type(); return parent::generate(); }
public function getTitle() { $title = Utf8::ucfirst($this->title['parent']); if ($this->title['child']) { $title .= ' – ' . Utf8::ucfirst($this->title['child']); } $title .= ' – ' . $this->appname; return $title; }
protected function composeReader($o) { if (is_file($this->realpath) && false !== ($a = file_get_contents($this->realpath))) { $a && false !== strpos($a, "\r") && ($a = strtr(str_replace("\r\n", "\n", $a), "\r", "\n")); u::isUtf8($a) || ($a = u::utf8_encode($a)); $o->code = pStudio_highlighter::highlight($a, $this->language, true); } return $o; }
/** * Remove unsafe characters for URL slug * * @param string $handle * @param int $maxlength = Max number of characters of the return value * @return string $handle */ public function slugSafeString($handle, $maxlength = 128) { $handle = preg_replace('/[^\\p{L}\\p{Nd}\\-_]+/u', ' ', $handle); // remove unneeded chars $handle = preg_replace('/[-\\s]+/', '-', $handle); // convert spaces to hyphens return trim(Utf8::substr($handle, 0, $maxlength), '-'); // trim to first $max_length chars }
/** * Display a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['comments'][0]) . ' ###'; $objTemplate->title = $this->headline; return $objTemplate->parse(); } return parent::generate(); }
/** * Run the controller and parse the password template * * @return Response */ public function run() { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_password'); if (\Input::post('FORM_SUBMIT') == 'tl_password') { $pw = \Input::postUnsafeRaw('password'); $cnf = \Input::postUnsafeRaw('confirm'); // The passwords do not match if ($pw != $cnf) { \Message::addError($GLOBALS['TL_LANG']['ERR']['passwordMatch']); } elseif (Utf8::strlen($pw) < \Config::get('minPasswordLength')) { \Message::addError(sprintf($GLOBALS['TL_LANG']['ERR']['passwordLength'], \Config::get('minPasswordLength'))); } elseif ($pw == $this->User->username) { \Message::addError($GLOBALS['TL_LANG']['ERR']['passwordName']); } else { // Make sure the password has been changed if (\Encryption::verify($pw, $this->User->password)) { \Message::addError($GLOBALS['TL_LANG']['MSC']['pw_change']); } else { $this->loadDataContainer('tl_user'); // Trigger the save_callback if (is_array($GLOBALS['TL_DCA']['tl_user']['fields']['password']['save_callback'])) { foreach ($GLOBALS['TL_DCA']['tl_user']['fields']['password']['save_callback'] as $callback) { if (is_array($callback)) { $this->import($callback[0]); $pw = $this->{$callback[0]}->{$callback[1]}($pw); } elseif (is_callable($callback)) { $pw = $callback($pw); } } } $objUser = \UserModel::findByPk($this->User->id); $objUser->pwChange = ''; $objUser->password = \Encryption::hash($pw); $objUser->save(); \Message::addConfirmation($GLOBALS['TL_LANG']['MSC']['pw_changed']); $this->redirect('contao/main.php'); } } $this->reload(); } $objTemplate->theme = \Backend::getTheme(); $objTemplate->messages = \Message::generate(); $objTemplate->base = \Environment::get('base'); $objTemplate->language = $GLOBALS['TL_LANGUAGE']; $objTemplate->title = \StringUtil::specialchars($GLOBALS['TL_LANG']['MSC']['pw_new']); $objTemplate->charset = \Config::get('characterSet'); $objTemplate->action = ampersand(\Environment::get('request')); $objTemplate->headline = $GLOBALS['TL_LANG']['MSC']['pw_change']; $objTemplate->submitButton = \StringUtil::specialchars($GLOBALS['TL_LANG']['MSC']['continue']); $objTemplate->password = $GLOBALS['TL_LANG']['MSC']['password'][0]; $objTemplate->confirm = $GLOBALS['TL_LANG']['MSC']['confirm'][0]; return $objTemplate->getResponse(); }
protected function composeReader($o) { if (is_file($this->realpath) && false !== ($a = file_get_contents($this->realpath))) { $b = @unserialize($a); if (false !== $b || $a === serialize(false)) { $a = '<?php serialize(' . var_export($b, true) . ')'; u::isUtf8($a) || ($a = u::utf8_encode($a)); $o->text = $a; } } return $o; }
/** * Remove name attributes in the back end so the form is not validated * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['CTE']['form'][0]) . ' ###'; $objTemplate->id = $this->id; $objTemplate->link = $this->title; $objTemplate->href = 'contao/main.php?do=form&table=tl_form_field&id=' . $this->id; return $objTemplate->parse(); } return parent::generate(); }
protected function composeReader($o) { if (is_file($this->realpath) && false !== ($a = file_get_contents($this->realpath))) { if (preg_match('/[\\x00-\\x08\\x0B\\x0E-\\x1A\\x1C-\\x1F]/', substr($a, 0, 512))) { $o->is_binary = true; } else { $a && false !== strpos($a, "\r") && ($a = strtr(str_replace("\r\n", "\n", $a), "\r", "\n")); u::isUtf8($a) || ($a = u::utf8_encode($a)); $o->text = $a; } } return $o; }
/** * Parse a reference */ public function evaluate(Lexer $lexer) { switch (true) { case $lexer->isNextToken(Lexer::T_SHORT_P): throw new ParserException('Property \\p (Unicode Property) not supported use \\x to specify unicode character or range'); break; case $lexer->isNextToken(Lexer::T_SHORT_UNICODE_X): $lexer->moveNext(); if ($lexer->lookahead['value'] !== '{') { throw new ParserException('Expecting character { after \\X none found'); } $tokens = array(); while ($lexer->moveNext() && $lexer->lookahead['value'] !== '}') { # check if we nested eg.{ddd{d} if ($lexer->lookahead['value'] === '{') { throw new ParserException('Nesting hex value ranges is not allowed'); } if ($lexer->lookahead['value'] !== " " && ctype_xdigit($lexer->lookahead['value']) === false) { throw new ParserException(sprintf('Character %s is not a hexdeciaml digit', $lexer->lookahead['value'])); } $tokens[] = $lexer->lookahead['value']; } # check that current lookahead is a closing character as it's possible to iterate to end of string (i.e. lookahead === null) if ($lexer->lookahead['value'] !== '}') { throw new ParserException('Closing quantifier token `}` not found'); } if (count($tokens) === 0) { throw new ParserException('No hex number found inside the range'); } $number = trim(implode('', $tokens)); return Utf8::chr(hexdec($number)); break; case $lexer->isNextToken(Lexer::T_SHORT_X): // only allow another 2 hex characters $glimpse = $lexer->glimpse(); if ($glimpse['value'] === '{') { throw new ParserException('Braces not supported here'); } $tokens = array(); $count = 2; while ($count > 0 && $lexer->moveNext()) { $tokens[] = $lexer->lookahead['value']; --$count; } $value = trim(implode('', $tokens)); return Utf8::chr(hexdec($value)); break; default: throw new ParserException('No Unicode expression to evaluate'); } }
/** * Convert a string to a URL safe string * * @param string $str * @param array $replace * @param string $separator * @return string */ protected function urlSafe($str, $replace = array(), $separator = '-') { if (!empty($replace)) { $str = str_replace((array) $replace, ' ', $str); } // Transliterate non-ASCII characters // $str = UTF8::transliterate_to_ascii($str); // Remove all characters that are not the separator, a-z, 0-9, or whitespace $str = preg_replace('![^' . preg_quote($separator) . 'a-z0-9\\s]+!', '', UTF8::strtolower($str)); // Replace all separator characters and whitespace by a single separator $str = preg_replace('![' . preg_quote($separator) . '\\s]+!u', $separator, $str); // Trim separators from the beginning and end return trim($str, $separator); }
/** * Display a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['sitemap'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } return parent::generate(); }
/** * Parse the template file and return it as string * * @param array $arrAttributes An optional attributes array * * @return string The template markup */ public function parse($arrAttributes = null) { // Return a wildcard in the back end if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); if ($this->fsType == 'fsStart') { $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['tl_form_field']['fsStart'][0]) . ' ###' . ($this->label ? '<br>' . $this->label : ''); } else { $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['tl_form_field']['fsStop'][0]) . ' ###'; } return $objTemplate->parse(); } return parent::parse($arrAttributes); }
public function __construct($repository = null) { $this->repository = $repository; $this->applicationName = Config::get('typicms.' . App::getLocale() . '.websiteTitle'); $instance = $this; View::composer($this->layout, function (\Illuminate\View\View $view) use($instance) { $view->withTitle(Utf8::ucfirst(implode(' ', $instance->title)) . ' – ' . $instance->applicationName); }); $bodyClass = ['lang-' . App::getLocale(), $repository->getModel()->getTable()]; if (Sentry::getUser() && !Input::get('preview')) { $bodyClass[] = 'has-navbar'; } View::share('lang', App::getLocale()); View::share('bodyClass', implode(' ', $bodyClass)); }
/** * Redirect to the selected page * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['quicknav'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } if (\Input::post('FORM_SUBMIT') == 'tl_quicknav_' . $this->id) { $this->redirect(\Input::post('target', true)); } return parent::generate(); }
public function test_str_pad() { $toPad = '<IñtërnëT>'; // 10 characters $padding = 'ø__'; // 4 characters $this->assertEquals($toPad . ' ', u::str_pad($toPad, 20)); $this->assertEquals(' ' . $toPad, u::str_pad($toPad, 20, ' ', STR_PAD_LEFT)); $this->assertEquals(' ' . $toPad . ' ', u::str_pad($toPad, 20, ' ', STR_PAD_BOTH)); $this->assertEquals($toPad, u::str_pad($toPad, 10)); $this->assertEquals('5char', str_pad('5char', 4)); // str_pos won't truncate input string $this->assertEquals($toPad, u::str_pad($toPad, 8)); $this->assertEquals($toPad . 'ø__ø__ø__ø', u::str_pad($toPad, 20, $padding, STR_PAD_RIGHT)); $this->assertEquals('ø__ø__ø__ø' . $toPad, u::str_pad($toPad, 20, $padding, STR_PAD_LEFT)); $this->assertEquals('ø__ø_' . $toPad . 'ø__ø_', u::str_pad($toPad, 20, $padding, STR_PAD_BOTH)); }
/** * Display a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['closeAccount'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } // Return if there is no logged in user if (!FE_USER_LOGGED_IN) { return ''; } return parent::generate(); }
/** * Display a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['registration'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } $this->editable = \StringUtil::deserialize($this->editable); // Return if there are no editable fields if (!is_array($this->editable) || empty($this->editable)) { return ''; } return parent::generate(); }
/** * Display a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['booknav'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } /** @var PageModel $objPage */ global $objPage; if (!$this->rootPage || !in_array($this->rootPage, $objPage->trail)) { return ''; } return parent::generate(); }
/** * Redirect to the selected page * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['customnav'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } // Always return an array (see #4616) $this->pages = \StringUtil::deserialize($this->pages, true); if (empty($this->pages) || $this->pages[0] == '') { return ''; } $strBuffer = parent::generate(); return $this->Template->items != '' ? $strBuffer : ''; }
public function __construct($data, $inputEncoding = 'UTF-8', $outputEncoding = null) { if (!is_string($data)) { $data = (string) $data; } if ($inputEncoding == 'UTF-8') { if (!Utf8::isUtf8($data)) { throw new Exception('Invalid UTF-8 data.'); } } else { $data = iconv($inputEncoding, 'UTF-8', $data); } if (!Normalizer::isNormalized($data, Normalizer::FORM_C)) { $data = Normalizer::normalize($data, Normalizer::FORM_C); } $this->data = $data; if (is_null($outputEncoding)) { $outputEncoding = $inputEncoding; } // FIXME validate encoding $this->outputEncoding = $outputEncoding; }
/** * Display a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['newsmenu'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } $this->news_archives = $this->sortOutProtected(deserialize($this->news_archives)); if (!is_array($this->news_archives) || empty($this->news_archives)) { return ''; } $this->strUrl = preg_replace('/\\?.*$/', '', \Environment::get('request')); if ($this->jumpTo && ($objTarget = $this->objModel->getRelated('jumpTo')) !== null) { $this->strUrl = $this->generateFrontendUrl($objTarget->row()); } return parent::generate(); }
/** * Return a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['personalData'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } $this->editable = deserialize($this->editable); // Return if there are not editable fields or if there is no logged in user if (!is_array($this->editable) || empty($this->editable) || !FE_USER_LOGGED_IN) { return ''; } if ($this->memberTpl != '') { $this->strTemplate = $this->memberTpl; } return parent::generate(); }