作者:Moza
项目:core-bundl
/**
* 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 '';
}
作者:Moza
项目:core-bundl
/**
* 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();
}
作者:conta
项目:news-bundl
/**
* 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();
}
作者:Crafff
项目:currencies-bundl
/**
* @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;
}
作者:conta
项目:listing-bundl
/**
* 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();
}
作者:conta
项目:calendar-bundl
/**
* 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();
}
作者:conta
项目:calendar-bundl
/**
* 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();
}
作者:conta
项目:core-bundl
/**
* 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();
}
作者:hilmysyari
项目:phpv
public function getTitle()
{
$title = Utf8::ucfirst($this->title['parent']);
if ($this->title['child']) {
$title .= ' – ' . Utf8::ucfirst($this->title['child']);
}
$title .= ' – ' . $this->appname;
return $title;
}
作者:nicolas-greka
项目:Patchwork-pStudi
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;
}
作者:cek
项目:concrete5-
/**
* 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
}
作者:conta
项目:comments-bundl
/**
* 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();
}
作者:conta
项目:core-bundl
/**
* 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();
}
作者:nicolas-greka
项目:Patchwork-pStudi
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;
}
作者:qzminsk
项目:contao-core-bundl
/**
* 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();
}
作者:nicolas-greka
项目:Patchwork-pStudi
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;
}
作者:JellePhoneGa
项目:ReverseRege
/**
* 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');
}
}
作者:Moza
项目:core-bundl
/**
* 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();
}
作者:conta
项目:core-bundl
/**
* 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);
}
作者:Ayoubblo
项目:TypiCM
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));
}