/** * Generate the comments and return them as HTML string * @param string * @param mixed * @return string */ public static function generateComments($strShortname, $varIdentifier = null) { $objTemplate = new \FrontendTemplate('disqus'); $objTemplate->shortname = $strShortname; $objTemplate->identifier = $varIdentifier; return $objTemplate->parse(); }
public function inject($strBuffer, $strTemplate) { // check for appId and version in config if (!$GLOBALS['TL_CONFIG']['fb_app_id'] || !$GLOBALS['TL_CONFIG']['fb_app_version']) { return $strBuffer; } // check for frontend or backend template if (stripos($strTemplate, 'fe_') === false && stripos($strTemplate, 'be_main') === false) { return $strBuffer; } // check for <body if (stripos($strBuffer, '<body') === false) { return $strBuffer; } // determine language string $lang = $GLOBALS['TL_LANGUAGE']; if (strlen($lang) == 2) { $lang = strtolower($lang) . '_' . strtoupper($lang); } else { $lang = str_replace('-', '_', $lang); } // create the template $objTemplate = new \FrontendTemplate('facebook-js-sdk'); // set data $objTemplate->appId = $GLOBALS['TL_CONFIG']['fb_app_id']; $objTemplate->version = $GLOBALS['TL_CONFIG']['fb_app_version']; $objTemplate->lang = $lang; // search for body and inject template $strBuffer = preg_replace("/(<body.*>)/", "\$1" . $objTemplate->parse(), $strBuffer); // return the buffer return $strBuffer; }
public function generateAddActions($arrData, $id, Watchlist $objWatchlist) { global $objPage; if ($objPage === null) { return; } if (\Validator::isUuid($id)) { $objFile = \FilesModel::findByUuid($id); } else { $objFile = \FilesModel::findBy('path', $id); } $objItem = new WatchlistItemModel(); $objItem->pid = Watchlist::getInstance()->getId(); $objItem->uuid = $objFile->uuid; $objItem->pageID = $objPage->id; $objItem->cid = $arrData['id']; $objItem->type = $arrData['type']; $objT = new \FrontendTemplate('watchlist_add_actions'); $objT->addHref = ampersand(\Controller::generateFrontendUrl($objPage->row()) . '?act=' . WATCHLIST_ACT_ADD . '&cid=' . $objItem->cid . '&type=' . $objItem->type . '&id=' . $strUuid . '&title=' . urlencode($objItem->getTitle())); $objT->addTitle = $GLOBALS['TL_LANG']['WATCHLIST']['addTitle']; $objT->addLink = $GLOBALS['TL_LANG']['WATCHLIST']['addLink']; $objT->active = $objWatchlist->isInList($strUuid); $objT->id = $strUuid; return $objT->parse(); }
protected function generateFilterBox($filter) { $arrLinks = array(); $baseurl = $this->generateFrontendUrl($this->arrJump); $objT = new \FrontendTemplate('mod_filterlink_set'); $objT->title = $GLOBALS['TL_LANG']['articlefilter']['selectedFilter']; $objT->baseurl = $baseurl; $objT->removeAll = $GLOBALS['TL_LANG']['articlefilter']['removeAll']; if (!is_array($filter) || count($filter) == 0) { return ''; } foreach ($filter as $grp => $f) { foreach ($f as $id) { $arrAdd[] = sprintf('articlefilter_filter[%s][]=%s', $grp, $id); $lbl[] = $this->getFilterTitle($id); } } for ($x = 0; $x < count($arrAdd); $x++) { $add = $arrAdd; unset($add[$x]); $arrLinks[] = ['href' => sprintf('%s?%s', $baseurl, implode('&', $add)), 'title' => $lbl[$x]]; } $objT->links = $arrLinks; return $objT->parse(); }
protected function compile() { $GLOBALS['TL_JAVASCRIPT']['articlefilter'] = 'system/modules/articlefilter/assets/articlefilter.js'; $arrGroups = deserialize($this->articlefilter_groups); $arrSelected = \Input::get('articlefilter_filter'); $res = $this->Database->prepare('SELECT * from tl_articlefilter_groups where id IN (' . implode(',', $arrGroups) . ') AND published = 1 ORDER BY FIELD(id, ' . implode(',', $arrGroups) . ')')->execute(); if ($res->numRows > 0) { $arrBoxes = []; $this->Template->hasGroups = true; $id = 0; while ($res->next()) { $arrCriteria = $this->loadCriteriaByGroup($res->id); if (is_array($arrCriteria)) { $id++; $objCB = new \FrontendTemplate($res->template); $objCB->items = $arrCriteria; $objCB->title = $res->title; $objCB->name = $res->id; $objCB->selected = $arrSelected[$res->id]; $objCB->id = $id; $arrBoxes[] = $objCB->parse(); } } /* jumpTo Page */ $arrJump = $this->Database->prepare('SELECT id, alias from tl_page where id=?')->execute($this->jumpTo)->fetchAssoc(); $this->Template->criterias = implode("\n", $arrBoxes); $this->Template->href = $this->generateFrontendUrl($arrJump); $this->Template->lblSubmit = $GLOBALS['TL_LANG']['articlefilter']['lblSubmit']; $this->Template->selectedMatchType = \Input::get('afstype') ? \Input::get('afstype') : $this->articlefilter_defaultfilter; $this->Template->lblMatches = $GLOBALS['TL_LANG']['articlefilter']['lblMatches']; $this->Template->lblAny = $GLOBALS['TL_LANG']['articlefilter']['lblAny']; $this->Template->lblAll = $GLOBALS['TL_LANG']['articlefilter']['lblAll']; } }
public function __construct() { // if the application wasn't defined before we will define it if (!defined('NAMED_APPLICATION')) { define('NAMED_APPLICATION', 'frontend'); } // set the module $this->setModule(SpoonFilter::getGetValue('module', null, '')); // set the requested file $this->setFile(SpoonFilter::getGetValue('file', null, '')); // set the language $this->setLanguage(SpoonFilter::getGetValue('language', FrontendLanguage::getActiveLanguages(), SITE_DEFAULT_LANGUAGE)); // create a new template instance (this will handle all stuff for us) $tpl = new FrontendTemplate(); // enable addslashes on each locale $tpl->setAddSlashes(true); // set correct headers SpoonHTTP::setHeaders('content-type: application/javascript'); // fetch the template path if ($this->module == 'core') { $file = FRONTEND_CORE_PATH . '/js/' . $this->getFile(); } else { $file = FRONTEND_MODULES_PATH . '/' . $this->getModule() . '/js/' . $this->getFile(); } // output the template $tpl->display(FrontendTheme::getPath($file), true); }
/** * Add the cookie HTML buffer * @param string * @return string */ public function addCookiebarBuffer($strContent) { if ($this->isCookiebarEnabled()) { $objRoot = $this->getCurrentRootPage(); $objTemplate = new \FrontendTemplate('cookiebar_default'); $objTemplate->message = $objRoot->cookiebar_message; $objTemplate->position = $objRoot->cookiebar_position; $objTemplate->button = $objRoot->cookiebar_button; $objTemplate->cookie = $this->getCookiebarName($objRoot); $objTemplate->more = ''; // Add the "more" link if ($objRoot->cookiebar_jumpTo > 0) { $objJump = \PageModel::findByPk($objRoot->cookiebar_jumpTo); if ($objJump !== null) { $objJump->loadDetails(); $objTemplate->more = $GLOBALS['TL_LANG']['MSC']['more']; $objTemplate->moreHref = ampersand($this->generateFrontendUrl($objJump->row(), null, $objJump->language)); $objTemplate->moreTitle = specialchars($GLOBALS['TL_LANG']['MSC']['more']); } } // Place the cookiebar in DOM structure if ($objRoot->cookiebar_placement === 'before_wrapper') { $strContent = str_replace('<div id="wrapper">', $objTemplate->parse() . '<div id="wrapper">', $strContent); } else { $strContent = str_replace('</body>', $objTemplate->parse() . '</body>', $strContent); } } return $strContent; }
protected function parseCredit($objItem) { global $objPage; $objCredit = new FileCreditHybridModel(); $objCredit = $objCredit->findRelatedByCredit($objItem, $this->arrPids); if (is_null($objCredit)) { return null; } $objTemplate = new \FrontendTemplate('filecredit_default'); $objTemplate->setData($objCredit->file->row()); // TODO $objTemplate->link = $this->generateCreditUrl($objCredit); $objTemplate->linkText = $GLOBALS['TL_LANG']['MSC']['creditLinkText']; // TODO if ($objCredit->page === null && $objCredit->result->usage) { $objTemplate->pageTitle = $objCredit->result->usage; } else { $objTemplate->pageTitle = $objCredit->page->pageTitle ? $objCredit->page->pageTitle : $objCredit->page->title; } // colorbox support if ($objPage->outputFormat == 'xhtml') { $strLightboxId = 'lightbox'; } else { $strLightboxId = 'lightbox[' . substr(md5($objTemplate->getName() . '_' . $objCredit->file->id), 0, 6) . ']'; } $objTemplate->attribute = $strLightboxId ? ($objPage->outputFormat == 'html5' ? ' data-gallery="#gallery-' . $this->id . '" data-lightbox="' : ' rel="') . $strLightboxId . '"' : ''; return $objTemplate->parse(); }
/** * Generate module */ protected function compile() { // Get ID $strAlias = \Input::get('auto_item') ? \Input::get('auto_item') : \Input::get('store'); // Find published store from ID if (($objStore = AnyStoresModel::findPublishedByIdOrAlias($strAlias)) !== null) { // load all details $objStore->loadDetails(); // generate description $objDescription = \ContentModel::findPublishedByPidAndTable($objStore->id, $objStore->getTable()); if ($objDescription !== null) { while ($objDescription->next()) { $objStore->description .= \Controller::getContentElement($objDescription->current()); } } // Get referer for back button $objStore->referer = $this->getReferer(); // generate google map if template and geodata is set if ($this->anystores_mapTpl != '' && is_numeric($objStore->latitude) && is_numeric($objStore->longitude)) { $objMapTemplate = new \FrontendTemplate($this->anystores_mapTpl); $objMapTemplate->setData($objStore->row()); $objStore->gMap = $objMapTemplate->parse(); } // Template $objDetailTemplate = new \FrontendTemplate($this->anystores_detailTpl); $objDetailTemplate->setData($objStore->row()); $this->Template->store = $objDetailTemplate->parse(); } else { $this->_redirect404(); } }
/** * Generate the module */ protected function compile() { $navTpl = new \FrontendTemplate($this->navigationTpl ?: 'nav_default'); $navTpl->level = 0; $navTpl->items = $this->buildNavigationItems(); $this->Template->navigation = $navTpl->parse(); }
public function parseMap() { $objT = new \FrontendTemplate($this->strTemplate); $objT->setData($GLOBALS['TL_LANG']['imagemapster']); $objT->active = $this->active; return $objT->parse(); }
protected function compile() { $strHtml = ''; $objTemplateTable = new \FrontendTemplate('hvv_tabelle'); if ($this->hvv_liga) { $arrJson = json_decode(file_get_contents('http://service.mindbird.de/hvv-tabelle/www/' . $this->hvv_liga . '.json'), true); $strHtmlTable = ''; foreach ($arrJson['table'] as $arrTeam) { $objTemplate = new \FrontendTemplate('hvv_tabelle_zeile'); $objTemplate->position = $arrTeam['position']; $objTemplate->team = $arrTeam['team']; $objTemplate->games_count = $arrTeam['games']['count']; $objTemplate->games_3031 = $arrTeam['games']['3031']; $objTemplate->games_32 = $arrTeam['games']['32']; $objTemplate->games_23 = $arrTeam['games']['23']; $objTemplate->games_1303 = $arrTeam['games']['1303']; $objTemplate->balls_positiv = $arrTeam['balls']['positiv']; $objTemplate->balls_negativ = $arrTeam['balls']['negativ']; $objTemplate->sets_positiv = $arrTeam['sets']['positiv']; $objTemplate->sets_negativ = $arrTeam['sets']['negativ']; $objTemplate->points = $arrTeam['points']; if ($arrTeam['team'] == $this->hvv_mannschaft) { $objTemplate->home_team = true; } $strHtmlTable .= $objTemplate->parse(); } $objTemplateTable->strHtml = $strHtmlTable; } $this->Template->strHtml = $objTemplateTable->parse(); }
protected function parseJs() { $objT = new \FrontendTemplate($this->strTemplate); $objT->setData($this->arrData); $objT->id = '#ctrl_' . $this->strName; return $objT->parse(); }
public function parsePromoter($objPromoter, $index = null, array $arrPromoters = array()) { $strTemplate = $this->cal_promoterTemplate ? $this->cal_promoterTemplate : 'cal_promoter_default'; $objT = new \FrontendTemplate($strTemplate); $objT->setData($objPromoter->row()); if ($objPromoter->room && ($objRoom = $objPromoter->getRelated('room')) !== null) { $objT->room = $objRoom; } $contact = new \stdClass(); $hasContact = false; if ($objPromoter->website) { $objT->websiteUrl = \HeimrichHannot\Haste\Util\Url::addScheme($objPromoter->website); } foreach (static::$arrContact as $strField) { if (!$objT->{$strField}) { continue; } $hasContact = true; $contact->{$strField} = $objT->{$strField}; } $objT->hasContact = $hasContact; $objT->contact = $contact; $objT->contactTitle = $GLOBALS['TL_LANG']['cal_promoterlist']['contactTitle']; $objT->phoneTitle = $GLOBALS['TL_LANG']['cal_promoterlist']['phoneTitle']; $objT->faxTitle = $GLOBALS['TL_LANG']['cal_promoterlist']['faxTitle']; $objT->emailTitle = $GLOBALS['TL_LANG']['cal_promoterlist']['emailTitle']; $objT->websiteTitle = $GLOBALS['TL_LANG']['cal_promoterlist']['websiteTitle']; if (!empty($arrPromoters) && $index !== null) { $objT->cssClass = \HeimrichHannot\Haste\Util\Arrays::getListPositonCssClass($index, $arrPromoters); } return $objT->parse(); }
public function replaceInsertTags($strTag) { if (strstr($strTag, 'bootstrapResponsiveYoutubeEmbed')) { $arrPieces = explode('::', $strTag); $n = []; if (!strstr($arrPieces[1], '?')) { $id = $arrPieces[1]; } else { $m = explode('?', $arrPieces[1]); $id = $m[0]; $n = explode('&', $m[1]); } if ($id == '') { return false; } $objTemplate = new \FrontendTemplate('ce_bootstrap_youtube_responsive_embed'); $objTemplate->movieId = $id; $objTemplate->playerType = intval($id) ? 'vimeo' : 'youtube'; $objTemplate->playerAspectRatio = 'embed-responsive-4by3'; foreach ($n as $prop) { $pieces = explode('=', $prop); $objTemplate->{$pieces[0]} = $pieces[1]; } return $objTemplate->parse(); } return false; }
public static function createShareButtons($networks, $theme = self::DEFAULT_THEME, $template = self::DEFAULT_TEMPLATE, $url = null, $title = null, $description = null, $image = null) { // access to page global $objPage; // try to deserialize if (is_string($networks)) { $networks = deserialize($networks); } // if there are no networks, don't do anything if (!is_array($networks) || count($networks) == 0) { return ''; } // process theme if ($theme == 'sharebuttons_none' || $theme == 'none' || !in_array($theme, array_keys($GLOBALS['sharebuttons']['themes']))) { $theme = ''; } // force theme to fontawesome if fontawesome template is used if (stripos($template, 'fontawesome') !== false && $theme !== '' && $theme !== 'text') { $theme = 'fontawesome'; } elseif ($theme == 'fontawesome') { $template = 'sharebuttons_fontawesome'; } // check for empty template if (!$template) { $template = self::DEFAULT_TEMPLATE; } // create share buttons template $objButtonsTemplate = new \FrontendTemplate($template); // assign enabled networks to template foreach ($networks as $network) { $objButtonsTemplate->{$network} = true; } // determine the share image (e.g. for pinterest) if (!$image && isset($GLOBALS['SOCIAL_IMAGES']) && is_array($GLOBALS['SOCIAL_IMAGES']) && count($GLOBALS['SOCIAL_IMAGES']) > 0) { $image = \Environment::get('base') . $GLOBALS['SOCIAL_IMAGES'][0]; } // assign url, title, theme, image, description to template $objButtonsTemplate->url = rawurlencode($url ?: \Environment::get('base') . \Environment::get('request')); $objButtonsTemplate->title = rawurlencode(strip_tags($title ?: ($objPage->pageTitle ?: $objPage->title))); $objButtonsTemplate->theme = $theme; $objButtonsTemplate->image = rawurlencode($image); $objButtonsTemplate->description = rawurlencode(strip_tags($description ?: $objPage->description)); // add translations to template $translations = $GLOBALS['TL_LANG']['sharebuttons']; $translations['mail_subject'] = rawurlencode($translations['mail_subject']); $objButtonsTemplate->lang = $translations; // insert CSS if necessary if ($theme) { $GLOBALS['TL_CSS'][] = 'system/modules/sharebuttons/assets/base.css||static'; $css_theme = $GLOBALS['sharebuttons']['themes'][$theme][1]; if (is_file(TL_ROOT . '/' . $css_theme)) { $GLOBALS['TL_CSS'][] = $css_theme . '||static'; } } // insert javascript $GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/sharebuttons/assets/scripts.js|static'; // return parsed template return $objButtonsTemplate->parse(); }
public function generate() { $GLOBALS['TL_JAVASCRIPT'][] = '/system/modules/uitotop/assets/js/jquery.ui.totop.js|static'; $GLOBALS['TL_CSS'][] = '/system/modules/uitotop/assets/css/ui.totop.css|screen|static'; $objTemplate = new \FrontendTemplate($this->strTemplate); $objTemplate->text = $this->uitotop_text; $GLOBALS['TL_BODY'][] = $objTemplate->parse(); }
/** * @param $objWebfont */ public function addFont($objWebfont) { if ($objWebfont->enableTypekit) { $objTemplate = new \FrontendTemplate($this->strTemplate); $objTemplate->typekitId = $objWebfont->typekitId; $GLOBALS['TL_HEAD'][] = $objTemplate->parse(); } }
/** * Parse an item and return it as string * @param object * @param boolean * @param string * @param integer * @return string */ protected function parseEmployee($objEmployee, $blnAddStaff = false, $strClass = '', $intCount = 0) { global $objPage; $objTemplate = new \FrontendTemplate($this->staff_employee_template); $objTemplate->setData($objEmployee->row()); $objTemplate->class = ($this->staff_employee_class != '' ? ' ' . $this->staff_employee_class : '') . $strClass; if (!empty($objEmployee->education)) { $objTemplate->education = deserialize($objEmployee->education); } $objTemplate->link = $this->generateEmployeeUrl($objEmployee, $blnAddStaff); $objTemplate->staff = $objEmployee->getRelated('pid'); $objTemplate->txt_educations = $GLOBALS['TL_LANG']['MSC']['educations']; $objTemplate->txt_contact = $GLOBALS['TL_LANG']['MSC']['contact']; $objTemplate->txt_room = $GLOBALS['TL_LANG']['MSC']['room']; $objTemplate->txt_phone = $GLOBALS['TL_LANG']['MSC']['phone']; $objTemplate->txt_mobile = $GLOBALS['TL_LANG']['MSC']['mobile']; $objTemplate->txt_fax = $GLOBALS['TL_LANG']['MSC']['fax']; $objTemplate->txt_email = $GLOBALS['TL_LANG']['MSC']['email']; $objTemplate->txt_website = $GLOBALS['TL_LANG']['MSC']['website']; $objTemplate->txt_facebook = $GLOBALS['TL_LANG']['MSC']['facebook']; $objTemplate->txt_googleplus = $GLOBALS['TL_LANG']['MSC']['googleplus']; $objTemplate->txt_twitter = $GLOBALS['TL_LANG']['MSC']['twitter']; $objTemplate->txt_linkedin = $GLOBALS['TL_LANG']['MSC']['linkedin']; $objTemplate->count = $intCount; // see #5708 $objTemplate->addImage = false; // Add an image if ($objEmployee->singleSRC != '') { $objModel = \FilesModel::findByUuid($objEmployee->singleSRC); if ($objModel === null) { if (!\Validator::isUuid($objEmployee->singleSRC)) { $objTemplate->text = '<p class="error">' . $GLOBALS['TL_LANG']['ERR']['version2format'] . '</p>'; } } elseif (is_file(TL_ROOT . '/' . $objModel->path)) { // Do not override the field now that we have a model registry (see #6303) $arrEmployee = $objEmployee->row(); // Override the default image size if ($this->imgSize != '') { $size = deserialize($this->imgSize); if ($size[0] > 0 || $size[1] > 0 || is_numeric($size[2])) { $arrEmployee['size'] = $this->imgSize; } } $arrEmployee['singleSRC'] = $objModel->path; $strLightboxId = 'lightbox[lb' . $this->id . ']'; $arrEmployee['fullsize'] = $this->fullsize; $this->addImageToTemplate($objTemplate, $arrEmployee, null, $strLightboxId); } } $objTemplate->enclosure = array(); // Add enclosures if ($objEmployee->addEnclosure) { $this->addEnclosuresToTemplate($objTemplate, $objEmployee->row()); } return $objTemplate->parse(); }
public function generate(array $arrOptions = array()) { $this->arrOptions = array_merge($this->arrOptions, $arrOptions); $arrData = $this->getData($this->arrOptions); $strTemplate = sprintf('dlh_%s', $arrData['customTpl'] ?: strtolower($arrData['type'])); $objTemplate = new \FrontendTemplate($strTemplate); $objTemplate->map = $arrData['map']; $objTemplate->element = $arrData; return $objTemplate->parse(); }
/** * Generate the element. * * @return string */ public function generate() { $template = new \FrontendTemplate($this->template); $template->options = $this->options; $template->element = $this; $template->tag = $this->getTag(); $template->label = $this->label; $template->attributes = (array) $this->childAttributes->getAttributes(); return $template->parse(); }
/** * @param string $strBuffer * @return string */ public static function addMarksaleScriptToDynamicScriptTags($strBuffer) { if (TL_MODE == 'FE') { /* @var $objPage \Contao\PageModel */ global $objPage; $objParentPage = \PageModel::findOneBy(array('id=?', 'type=?'), array($objPage->rootId, 'root')); $objTemplate = new \FrontendTemplate('marksale_default'); $objTemplate->mstcId = $objParentPage->mstcId; $GLOBALS['TL_BODY'][] = $objTemplate->parse(); } return $strBuffer; }
public function generate(array $arrOptions = array()) { $this->arrOptions = array_merge($this->arrOptions, $arrOptions); $arrData = $this->getData($this->arrOptions); $objTemplate = new \FrontendTemplate($this->arrOptions['google_chart_template']); if (!isset($GLOBALS['TL_JAVASCRIPT']['vendor_vis_charts_loader'])) { $GLOBALS['TL_JAVASCRIPT']['vendor_vis_charts_loader'] = 'https://www.gstatic.com/charts/loader.js'; } $objTemplate->chart = $arrData; $objTemplate->labels = $GLOBALS['TL_LANG']['google_charts']['labels']; return $objTemplate->parse(); }
/** * Generate the widget and return it as string * @return string */ public function generate() { $this->strSet = $GLOBALS['TL_CONFIG']['subcolumns'] ? $GLOBALS['TL_CONFIG']['subcolumns'] : 'yaml3'; if (TL_MODE == 'BE') { $objTemplate = new BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### Subcolumns End <strong>' . $this->fsc_name . '</strong> ###'; return $objTemplate->parse(); } $objTemplate = new FrontendTemplate($this->strColTemplate); $objTemplate->useInside = $GLOBALS['TL_SUBCL'][$this->strSet]['inside']; return $objTemplate->parse(); }
protected function compile() { $arrContent = array(); $objContent = $this->Database->prepare("SELECT * FROM tl_content WHERE tstamp > ? && outSide_log = ? && invisible = ? ORDER BY tstamp DESC")->execute($this->Member->lastLogin, '', ''); while ($objContent->next()) { $arrItem = $objContent->row(); if ($objContent->type == 'module') { $objModule = \ModuleModel::findById($objContent->module); } if ($objContent->type != 'module' or $objContent->type == 'module' && $objModule->type != 'content_log') { $arrItem['htmlElement'] = $this->getContentElement($objContent->id); foreach ($GLOBALS['TL_HOOKS']['contentLog'] as $callback) { $this->import($callback[0]); $arrItem = $this->{$callback}[0]->{$callback}[1]($objContent->ptable, $objContent->tstamp, $arrItem); } if ($mod++ % 2 == 0) { $arrItem['css'] .= 'even'; } else { $arrItem['css'] .= 'odd'; } $arrItem['headline'] = deserialize($arrItem['headline']); $arrItem['parseDate'] = '<time datetime="' . date('Y-m-d\\TH:i:sP', $arrItem['tstamp']) . '">' . \Date::parse($GLOBALS['objPage']->datimFormat, $arrItem['tstamp']) . '</time>'; $arrContent[] = (object) $arrItem; } } $objFAQ = $this->Database->prepare("SELECT * FROM tl_faq WHERE tstamp > ? && published = ? ORDER BY tstamp DESC")->execute($this->Member->lastLogin, '1'); while ($objFAQ->next()) { $arrItem = $objFAQ->row(); foreach ($GLOBALS['TL_HOOKS']['contentLog'] as $callback) { $this->import($callback[0]); $arrItem = $this->{$callback}[0]->{$callback}[1]('tl_faq', $objFAQ->tstamp, $arrItem); } if ($mod++ % 2 == 0) { $arrItem['css'] .= 'even'; } else { $arrItem['css'] .= 'odd'; } $arrItem['parseDate'] = '<time datetime="' . date('Y-m-d\\TH:i:sP', $arrItem['tstamp']) . '">' . \Date::parse($GLOBALS['objPage']->datimFormat, $arrItem['tstamp']) . '</time>'; $arrContent[] = (object) $arrItem; } $arrContent[0]->css .= ' first'; $arrContent[count($arrContent) - 1]->css .= ' last'; foreach ($arrContent as $v) { $objTemplate = new \FrontendTemplate($this->contentLogTpl); $objTemplate->setData((array) $v); $html .= $objTemplate->parse(); } if ($this->contentLogTpl == 'cl_list') { $html = '<table>' . $html . '</table>'; } $this->Template->html = $html; }
/** * Replace news4ward insert tags * @param $strTag * @return bool|string */ public function inserttagReplacer($strTag) { list($strTag, $strValue) = explode('::', $strTag); switch ($strTag) { case 'news4ward': switch ($strValue) { case 'filter_hint': if (!isset($GLOBALS['news4ward_filter_hint'])) { return ''; } $tpl = new FrontendTemplate('news4ward_filter_hint'); $tpl->items = $GLOBALS['news4ward_filter_hint']; return $tpl->parse(); break; default: return false; break; } break; case 'news4ward_link': case 'news4ward_open': case 'news4ward_url': case 'news4ward_title': $objArticle = $this->Database->prepare(' SELECT a.id, a.alias, a.title, p.jumpTo as parentJumpTo FROM tl_news4ward_article AS a LEFT JOIN tl_news4ward AS p ON (a.pid = p.id) WHERE (a.id=? OR a.alias=?)' . (!BE_USER_LOGGED_IN ? "AND (a.start='' OR a.start<?) AND (a.stop='' OR a.stop>?) AND a.status='published'" : ""))->execute($strValue, $strValue, time(), time()); if (!$objArticle->numRows) { return ''; } if ($strTag == 'news4ward_link') { return sprintf('<a href="%s" title="%s">%s</a>', $this->generateUrl($objArticle), $objArticle->title, $objArticle->title); } else { if ($strTag == 'news4ward_open') { return sprintf('<a href="%s" title="%s">', $this->generateUrl($objArticle), $objArticle->title); } else { if ($strTag == 'news4ward_url') { return $this->generateUrl($objArticle); } else { if ($strTag == 'news4ward_title') { return $objArticle->title; } } } } break; default: return false; break; } }
public function PopUpHtml($strContent) { if ($this->isPopupEnabled()) { $objRoot = $this->getCurrentRootPage(); $objTemplate = new \FrontendTemplate('popup_default'); $objTemplate->title = $objRoot->popup_title; $objTemplate->content = $objRoot->popup_content; $objTemplate->button = $objRoot->popup_button; $strContent = str_replace('</body>', $objTemplate->parse() . '</body>', $strContent); $_SESSION['popup_closed'] = true; } return $strContent; }
public function generateEditActions(WatchlistItemModel $objItem, Watchlist $objWatchlist) { $objPage = \PageModel::findByPk($objItem->pageID); if ($objPage === null) { return; } $objT = new \FrontendTemplate('watchlist_edit_actions'); $objT->delHref = ampersand(\Controller::generateFrontendUrl($objPage->row()) . '?act=' . WATCHLIST_ACT_DELETE . '&id=' . \String::binToUuid($objItem->uuid) . '&title=' . urlencode($objItem->title)); $objT->delTitle = $GLOBALS['TL_LANG']['WATCHLIST']['delTitle']; $objT->delLink = $GLOBALS['TL_LANG']['WATCHLIST']['delLink']; $objT->id = \String::binToUuid($objItem->uuid); return $objT->parse(); }
protected function parseMember($objMember) { global $objPage; $objT = new \FrontendTemplate('memberlist_default'); $objT->setData($objMember->row()); $strUrl = $this->generateMemberUrl($objMember); $objT->addImage = false; // Add an image if ($objMember->addImage && $objMember->singleSRC != '') { $objModel = \FilesModel::findByUuid($objMember->singleSRC); if ($objModel === null) { if (!\Validator::isUuid($objMember->singleSRC)) { $objMember->text = '<p class="error">' . $GLOBALS['TL_LANG']['ERR']['version2format'] . '</p>'; } } elseif (is_file(TL_ROOT . '/' . $objModel->path)) { // Do not override the field now that we have a model registry (see #6303) $arrMember = $objMember->row(); // Override the default image size if ($this->size != '') { $size = deserialize($this->size); if ($size[0] > 0 || $size[1] > 0 || is_numeric($size[2])) { $arrMember['size'] = $this->size; } } $arrMember['singleSRC'] = $objModel->path; \Controller::addImageToTemplate($objT, $arrMember); } } $arrTitle = array($objMember->academicTitle, $objMember->firstname, $objMember->lastname); $objT->titleCombined = empty($arrTitle) ? '' : implode(' ', $arrTitle); $arrLocation = array($objMember->postal, $objMember->city); $objT->locationCombined = empty($arrLocation) ? '' : implode(' ', $arrLocation); $objT->websiteLink = $objMember->website; $objT->websiteTitle = $GLOBALS['TL_LANG']['MSC']['memberlist']['websiteTitle']; // Add http:// to the website if ($objMember->website != '' && !preg_match('@^(https?://|ftp://|mailto:|#)@i', $objMember->website)) { $objT->websiteLink = 'http://' . $objMember->website; } if ($this->mlSource == 'external') { // Encode e-mail addresses if (substr($this->mlUrl, 0, 7) == 'mailto:') { $strUrl = \String::encodeEmail($this->mlUrl); } else { $strUrl = ampersand($this->mlUrl); } } $objT->link = $strUrl; $objT->linkTarget = $this->mlTarget ? $objPage->outputFormat == 'xhtml' ? ' onclick="return !window.open(this.href)"' : ' target="_blank"' : ''; $objT->linkTitle = specialchars(sprintf($GLOBALS['TL_LANG']['MSC']['openMember'], $objT->titleCombined)); return $objT->parse(); }
public static function createConfigJs($objConfig, $debug = false) { $objT = new \FrontendTemplate('jquery.owlcarousel'); $objT->config = rtrim(ltrim(json_encode(static::createConfig($objConfig)), '{'), '}'); $objT->cssClass = static::getCssClassFromModel($objConfig); $strFile = 'assets/js/' . $objT->cssClass . '.js'; $objFile = new \File($strFile, file_exists(TL_ROOT . '/' . $strFile)); // simple file caching if ($objConfig->tstamp > $objFile->mtime || $objFile->size == 0 || $debug) { $objFile->write($objT->parse()); $objFile->close(); } $GLOBALS['TL_JAVASCRIPT']['owl.carousel_' . $objT->cssClass] = $strFile; }