当前位置: 首页>>代码示例>>PHP>>正文


PHP StringUtil::toXhtml方法代码示例

本文整理汇总了PHP中StringUtil::toXhtml方法的典型用法代码示例。如果您正苦于以下问题:PHP StringUtil::toXhtml方法的具体用法?PHP StringUtil::toXhtml怎么用?PHP StringUtil::toXhtml使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在StringUtil的用法示例。


在下文中一共展示了StringUtil::toXhtml方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: compile

 /**
  * Generate the content element
  */
 protected function compile()
 {
     /** @var \PageModel $objPage */
     global $objPage;
     // Clean the RTE output
     if ($objPage->outputFormat == 'xhtml') {
         $this->text = \StringUtil::toXhtml($this->text);
     } else {
         $this->text = \StringUtil::toHtml5($this->text);
     }
     // Add the static files URL to images
     if (TL_FILES_URL != '') {
         $path = \Config::get('uploadPath') . '/';
         $this->text = str_replace(' src="' . $path, ' src="' . TL_FILES_URL . $path, $this->text);
     }
     $this->Template->text = \StringUtil::encodeEmail($this->text);
     $this->Template->addImage = false;
     // Add an image
     if ($this->addImage && $this->singleSRC != '') {
         $objModel = \FilesModel::findByUuid($this->singleSRC);
         if ($objModel === null) {
             if (!\Validator::isUuid($this->singleSRC)) {
                 $this->Template->text = '<p class="error">' . $GLOBALS['TL_LANG']['ERR']['version2format'] . '</p>';
             }
         } elseif (is_file(TL_ROOT . '/' . $objModel->path)) {
             $this->singleSRC = $objModel->path;
             $this->addImageToTemplate($this->Template, $this->arrData);
         }
     }
 }
开发者ID:bytehead,项目名称:contao-core,代码行数:33,代码来源:ContentText.php

示例2: compile

 /**
  * Generate the content element
  */
 protected function compile()
 {
     /** @var \PageModel $objPage */
     global $objPage;
     // Clean RTE output
     if ($objPage->outputFormat == 'xhtml') {
         $this->text = \StringUtil::toXhtml($this->text);
     } else {
         $this->text = \StringUtil::toHtml5($this->text);
     }
     $this->Template->text = \StringUtil::encodeEmail($this->text);
     $this->Template->addImage = false;
     // Add an image
     if ($this->addImage && $this->singleSRC != '') {
         $objModel = \FilesModel::findByUuid($this->singleSRC);
         if ($objModel === null) {
             if (!\Validator::isUuid($this->singleSRC)) {
                 $this->Template->text = '<p class="error">' . $GLOBALS['TL_LANG']['ERR']['version2format'] . '</p>';
             }
         } elseif (is_file(TL_ROOT . '/' . $objModel->path)) {
             $this->singleSRC = $objModel->path;
             $this->addImageToTemplate($this->Template, $this->arrData);
         }
     }
     $classes = deserialize($this->mooClasses);
     $this->Template->toggler = $classes[0] ?: 'toggler';
     $this->Template->accordion = $classes[1] ?: 'accordion';
     $this->Template->headlineStyle = $this->mooStyle;
     $this->Template->headline = $this->mooHeadline;
 }
开发者ID:bytehead,项目名称:contao-core,代码行数:33,代码来源:ContentAccordion.php

示例3: generate

 /**
  * Generate the widget and return it as string
  *
  * @return string The widget markup
  */
 public function generate()
 {
     /** @var \PageModel $objPage */
     global $objPage;
     // Clean RTE output
     if ($objPage->outputFormat == 'xhtml') {
         $this->text = \StringUtil::toXhtml($this->text);
     } else {
         $this->text = \StringUtil::toHtml5($this->text);
     }
     return $this->text;
 }
开发者ID:bytehead,项目名称:contao-core,代码行数:17,代码来源:FormHeadline.php

示例4: generate

 /**
  * Generate the widget and return it as string
  *
  * @return string The widget markup
  */
 public function generate()
 {
     /** @var \PageModel $objPage */
     global $objPage;
     // Clean RTE output
     if ($objPage->outputFormat == 'xhtml') {
         $this->text = \StringUtil::toXhtml($this->text);
     } else {
         $this->text = \StringUtil::toHtml5($this->text);
     }
     // Add the static files URL to images
     if (TL_FILES_URL != '') {
         $path = \Config::get('uploadPath') . '/';
         $this->text = str_replace(' src="' . $path, ' src="' . TL_FILES_URL . $path, $this->text);
     }
     return \StringUtil::encodeEmail($this->text);
 }
开发者ID:StephenGWills,项目名称:sample-contao-app,代码行数:22,代码来源:FormExplanation.php

示例5: generateFields

 protected function generateFields($objItem)
 {
     $arrItem = parent::generateFields($objItem);
     global $objPage;
     $arrItem['fields']['newsHeadline'] = $objItem->headline;
     $arrItem['fields']['subHeadline'] = $objItem->subheadline;
     $arrItem['fields']['hasSubHeadline'] = $objItem->subheadline ? true : false;
     $arrItem['fields']['linkHeadline'] = ModuleNews::generateLink($this, $objItem->headline, $objItem, false);
     $arrItem['fields']['more'] = ModuleNews::generateLink($this, $GLOBALS['TL_LANG']['MSC']['more'], $objItem, false, true);
     $arrItem['fields']['link'] = ModuleNews::generateNewsUrl($this, $objItem, false);
     $arrItem['fields']['text'] = '';
     // Clean the RTE output
     if ($objItem->teaser != '') {
         if ($objPage->outputFormat == 'xhtml') {
             $arrItem['fields']['teaser'] = \StringUtil::toXhtml($objItem->teaser);
         } else {
             $arrItem['fields']['teaser'] = \StringUtil::toHtml5($objItem->teaser);
         }
         $arrItem['fields']['teaser'] = \StringUtil::encodeEmail($arrItem['fields']['teaser']);
     }
     // Display the "read more" button for external/article links
     if ($objItem->source != 'default') {
         $arrItem['fields']['text'] = true;
     } else {
         $objElement = \ContentModel::findPublishedByPidAndTable($objItem->id, 'tl_news');
         if ($objElement !== null) {
             while ($objElement->next()) {
                 $arrItem['fields']['text'] .= $this->getContentElement($objElement->current());
             }
         }
     }
     $arrMeta = ModuleNews::getMetaFields($this, $objItem);
     // Add the meta information
     $arrItem['fields']['date'] = $arrMeta['date'];
     $arrItem['fields']['hasMetaFields'] = !empty($arrMeta);
     $arrItem['fields']['numberOfComments'] = $arrMeta['ccount'];
     $arrItem['fields']['commentCount'] = $arrMeta['comments'];
     $arrItem['fields']['timestamp'] = $objItem->date;
     $arrItem['fields']['author'] = $arrMeta['author'];
     $arrItem['fields']['datetime'] = date('Y-m-d\\TH:i:sP', $objItem->date);
     $arrItem['fields']['addImage'] = false;
     // Add an image
     $this->addImage($objItem, 'singleSRC', $arrItem);
     // enclosures are added in runBeforeTemplateParsing
     return $arrItem;
 }
开发者ID:heimrichhannot,项目名称:contao-frontendedit,代码行数:46,代码来源:ModuleNewsList.php

示例6: compile

 /**
  * Generate the content element
  */
 protected function compile()
 {
     /** @var \PageModel $objPage */
     global $objPage;
     $link = '/articles/';
     $objArticle = $this->objArticle;
     if ($objArticle->inColumn != 'main') {
         $link .= $objArticle->inColumn . ':';
     }
     $link .= $objArticle->alias != '' && !\Config::get('disableAlias') ? $objArticle->alias : $objArticle->id;
     $this->Template->href = $this->objParent->getFrontendUrl($link);
     // Clean the RTE output
     if ($objPage->outputFormat == 'xhtml') {
         $this->Template->text = \StringUtil::toXhtml($objArticle->teaser);
     } else {
         $this->Template->text = \StringUtil::toHtml5($objArticle->teaser);
     }
     $this->Template->headline = $objArticle->title;
     $this->Template->readMore = specialchars(sprintf($GLOBALS['TL_LANG']['MSC']['readMore'], $objArticle->title));
     $this->Template->more = $GLOBALS['TL_LANG']['MSC']['more'];
 }
开发者ID:bytehead,项目名称:contao-core,代码行数:24,代码来源:ContentTeaser.php

示例7: compile

 /**
  * Generate content element
  */
 protected function compile()
 {
     global $objPage;
     if ($this->teaser_page_link) {
         $objArticle = $this->Database->prepare("\n\t\t\t\tSELECT\n\t\t\t\t\tp.id AS id,\n\t\t\t\t\tp.alias AS alias,\n\t\t\t\t\ta.id AS aid,\n\t\t\t\t\ta.title AS title,\n\t\t\t\t\ta.alias AS aalias,\n\t\t\t\t\ta.teaser AS teaser,\n\t\t\t\t\ta.inColumn AS inColumn,\n\t\t\t\t\ta.cssID AS cssID\n\t\t\t\tFROM\n\t\t\t\t\ttl_article a,\n\t\t\t\t\ttl_page p\n\t\t\t\tWHERE\n\t\t\t\t\ta.id=?\n\t\t\t\t\tAND a.pid=p.id\n\t\t\t")->limit(1)->execute($this->article);
         if ($objArticle->numRows < 1) {
             return;
         }
         $link = $this->generateFrontendUrl($objArticle->row());
         if (version_compare(VERSION, '2.9', '>')) {
             // Clean the RTE output
             if ($objPage->outputFormat == 'xhtml') {
                 $articleTeaser = \StringUtil::toXhtml($objArticle->teaser);
             } else {
                 $articleTeaser = \StringUtil::toHtml5($objArticle->teaser);
             }
         } else {
             $articleTeaser = $objArticle->teaser;
         }
         if ($this->teaser_fragment_identifier) {
             $cssID = deserialize($objArticle->cssID, true);
             if (strlen($cssID[0])) {
                 $link .= '#' . $cssID[0];
             } else {
                 $link .= '#' . $objArticle->aalias;
             }
         }
         $this->Template->href = $link;
         $this->Template->headline = $objArticle->title;
         $this->Template->text = $articleTeaser;
         $this->Template->readMore = specialchars(sprintf($GLOBALS['TL_LANG']['MSC']['readMore'], $objArticle->title));
         $this->Template->more = $GLOBALS['TL_LANG']['MSC']['more'];
     } else {
         parent::compile();
     }
 }
开发者ID:4t2,项目名称:ce_page_teaser,代码行数:39,代码来源:ArticlePageTeaser.php

示例8: compile

 /**
  * Generate the module
  */
 protected function compile()
 {
     $objFaq = \FaqModel::findPublishedByPids($this->faq_categories);
     if ($objFaq === null) {
         $this->Template->faq = array();
         return;
     }
     /** @var \PageModel $objPage */
     global $objPage;
     $arrFaqs = array_fill_keys($this->faq_categories, array());
     // Add FAQs
     while ($objFaq->next()) {
         /** @var \FaqModel $objFaq */
         $objTemp = (object) $objFaq->row();
         // Clean RTE output
         if ($objPage->outputFormat == 'xhtml') {
             $objTemp->answer = \StringUtil::toXhtml($objFaq->answer);
         } else {
             $objTemp->answer = \StringUtil::toHtml5($objFaq->answer);
         }
         $objTemp->answer = \StringUtil::encodeEmail($objTemp->answer);
         $objTemp->addImage = false;
         // Add an image
         if ($objFaq->addImage && $objFaq->singleSRC != '') {
             $objModel = \FilesModel::findByUuid($objFaq->singleSRC);
             if ($objModel === null) {
                 if (!\Validator::isUuid($objFaq->singleSRC)) {
                     $objTemp->answer = '<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)
                 $arrFaq = $objFaq->row();
                 $arrFaq['singleSRC'] = $objModel->path;
                 $strLightboxId = 'lightbox[' . substr(md5('mod_faqpage_' . $objFaq->id), 0, 6) . ']';
                 // see #5810
                 $this->addImageToTemplate($objTemp, $arrFaq, null, $strLightboxId);
             }
         }
         $objTemp->enclosure = array();
         // Add enclosure
         if ($objFaq->addEnclosure) {
             $this->addEnclosuresToTemplate($objTemp, $objFaq->row());
         }
         /** @var \UserModel $objAuthor */
         $objAuthor = $objFaq->getRelated('author');
         $objTemp->info = sprintf($GLOBALS['TL_LANG']['MSC']['faqCreatedBy'], \Date::parse($objPage->dateFormat, $objFaq->tstamp), $objAuthor->name);
         /** @var \FaqCategoryModel $objPid */
         $objPid = $objFaq->getRelated('pid');
         // Order by PID
         $arrFaqs[$objFaq->pid]['items'][] = $objTemp;
         $arrFaqs[$objFaq->pid]['headline'] = $objPid->headline;
         $arrFaqs[$objFaq->pid]['title'] = $objPid->title;
     }
     $arrFaqs = array_values(array_filter($arrFaqs));
     $limit_i = count($arrFaqs) - 1;
     // Add classes first, last, even and odd
     for ($i = 0; $i <= $limit_i; $i++) {
         $class = ($i == 0 ? 'first ' : '') . ($i == $limit_i ? 'last ' : '') . ($i % 2 == 0 ? 'even' : 'odd');
         $arrFaqs[$i]['class'] = trim($class);
         $limit_j = count($arrFaqs[$i]['items']) - 1;
         for ($j = 0; $j <= $limit_j; $j++) {
             $class = ($j == 0 ? 'first ' : '') . ($j == $limit_j ? 'last ' : '') . ($j % 2 == 0 ? 'even' : 'odd');
             $arrFaqs[$i]['items'][$j]->class = trim($class);
         }
     }
     $this->Template->faq = $arrFaqs;
     $this->Template->request = \Environment::get('indexFreeRequest');
     $this->Template->topLink = $GLOBALS['TL_LANG']['MSC']['backToTop'];
 }
开发者ID:StephenGWills,项目名称:sample-contao-app,代码行数:72,代码来源:ModuleFaqPage.php

示例9: compile

 /**
  * Generate the module
  */
 protected function compile()
 {
     /** @var \PageModel $objPage */
     global $objPage;
     $this->Template->back = $GLOBALS['TL_LANG']['MSC']['goBack'];
     $this->Template->referer = 'javascript:history.go(-1)';
     $objFaq = \FaqModel::findPublishedByParentAndIdOrAlias(\Input::get('items'), $this->faq_categories);
     if (null === $objFaq) {
         /** @var \PageError404 $objHandler */
         $objHandler = new $GLOBALS['TL_PTY']['error_404']();
         $objHandler->generate($objPage->id);
     }
     // Overwrite the page title and description (see #2853 and #4955)
     if ($objFaq->question != '') {
         $objPage->pageTitle = strip_tags(strip_insert_tags($objFaq->question));
         $objPage->description = $this->prepareMetaDescription($objFaq->question);
     }
     $this->Template->question = $objFaq->question;
     // Clean RTE output
     if ($objPage->outputFormat == 'xhtml') {
         $objFaq->answer = \StringUtil::toXhtml($objFaq->answer);
     } else {
         $objFaq->answer = \StringUtil::toHtml5($objFaq->answer);
     }
     $this->Template->answer = \StringUtil::encodeEmail($objFaq->answer);
     $this->Template->addImage = false;
     // Add image
     if ($objFaq->addImage && $objFaq->singleSRC != '') {
         $objModel = \FilesModel::findByUuid($objFaq->singleSRC);
         if ($objModel === null) {
             if (!\Validator::isUuid($objFaq->singleSRC)) {
                 $this->Template->answer = '<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)
             $arrFaq = $objFaq->row();
             $arrFaq['singleSRC'] = $objModel->path;
             $this->addImageToTemplate($this->Template, $arrFaq);
         }
     }
     $this->Template->enclosure = array();
     // Add enclosure
     if ($objFaq->addEnclosure) {
         $this->addEnclosuresToTemplate($this->Template, $objFaq->row());
     }
     $strAuthor = '';
     // Add the author
     if (($objAuthor = $objFaq->getRelated('author')) !== null) {
         $strAuthor = $objAuthor->name;
     }
     $this->Template->info = sprintf($GLOBALS['TL_LANG']['MSC']['faqCreatedBy'], \Date::parse($objPage->dateFormat, $objFaq->tstamp), $strAuthor);
     // HOOK: comments extension required
     if ($objFaq->noComments || !in_array('comments', \ModuleLoader::getActive())) {
         $this->Template->allowComments = false;
         return;
     }
     /** @var \FaqCategoryModel $objCategory */
     $objCategory = $objFaq->getRelated('pid');
     $this->Template->allowComments = $objCategory->allowComments;
     // Comments are not allowed
     if (!$objCategory->allowComments) {
         return;
     }
     // Adjust the comments headline level
     $intHl = min(intval(str_replace('h', '', $this->hl)), 5);
     $this->Template->hlc = 'h' . ($intHl + 1);
     $this->import('Comments');
     $arrNotifies = array();
     // Notify the system administrator
     if ($objCategory->notify != 'notify_author') {
         $arrNotifies[] = $GLOBALS['TL_ADMIN_EMAIL'];
     }
     // Notify the author
     if ($objCategory->notify != 'notify_admin') {
         /** @var \UserModel $objAuthor */
         if (($objAuthor = $objFaq->getRelated('author')) !== null && $objAuthor->email != '') {
             $arrNotifies[] = $objAuthor->email;
         }
     }
     $objConfig = new \stdClass();
     $objConfig->perPage = $objCategory->perPage;
     $objConfig->order = $objCategory->sortOrder;
     $objConfig->template = $this->com_template;
     $objConfig->requireLogin = $objCategory->requireLogin;
     $objConfig->disableCaptcha = $objCategory->disableCaptcha;
     $objConfig->bbcode = $objCategory->bbcode;
     $objConfig->moderate = $objCategory->moderate;
     $this->Comments->addCommentsToTemplate($this->Template, $objConfig, 'tl_faq', $objFaq->id, $arrNotifies);
 }
开发者ID:StephenGWills,项目名称:sample-contao-app,代码行数:92,代码来源:ModuleFaqReader.php

示例10: compile

 /**
  * Generate content element
  */
 protected function compile()
 {
     if (TL_MODE == 'FE' || defined('EX_TL_MODE_FE')) {
         global $objPage;
     } else {
         $objArticle = \Database::getInstance()->prepare("SELECT `pid` FROM `tl_article` WHERE `id`=?")->execute($this->pid);
         if ($objArticle->next()) {
             $objPage = \Database::getInstance()->prepare("SELECT * FROM `tl_page` WHERE `id`=?")->execute($objArticle->pid)->next();
         }
     }
     $rootPage = $this->getRootPage($objPage->id);
     if (TL_MODE == 'BE' && !defined('EX_TL_MODE_FE')) {
         $objPage->domain = $rootPage['dns'];
         $objPage->rootLanguage = $rootPage['language'];
     }
     $objTargetPage = \Database::getInstance()->prepare("\n\t\t\tSELECT\n\t\t\t\t`id`,\n\t\t\t\t`alias`,\n\t\t\t\t`title`,\n\t\t\t\t`type`\n\t\t\tFROM\n\t\t\t\t`tl_page`\n\t\t\tWHERE\n\t\t\t\t" . (!\Input::cookie('FE_PREVIEW') && TL_MODE == 'FE' ? "`published`='1' AND " : "") . "\n\t\t\t\t`id`=?")->limit(1)->execute($this->page_teaser_page);
     $link = '';
     if ($objTargetPage->numRows < 1) {
         $this->pageCode = -1;
         $this->pageLink = sprintf($GLOBALS['TL_LANG']['page_teaser']['not_found'], $this->page_teaser_page);
     } else {
         $targetId = $objTargetPage->id;
         if ($targetRoot = $this->getRootPage($objTargetPage->id)) {
             if ($objPage->domain != $targetRoot['dns']) {
                 $link = ($this->Environment->ssl ? 'https://' : 'http://') . $targetRoot['dns'] . '/';
             }
             if ($rootPage['id'] != $targetRoot['id']) {
                 $this->pageCode = 1;
             }
         }
         if ($objTargetPage->type != 'root') {
             if (version_compare(VERSION, '3.5', '>=')) {
                 $link = $this->generateFrontendUrl($objTargetPage->row(), null, null, true);
             } elseif (version_compare(VERSION, '2.10', '>') && $GLOBALS['TL_CONFIG']['addLanguageToUrl']) {
                 $link .= $this->generateFrontendUrl($objTargetPage->row(), null, $targetRoot['language']);
             } else {
                 $link .= $this->generateFrontendUrl($objTargetPage->row());
             }
         }
     }
     $this->pageLink = $link;
     if (version_compare(VERSION, '2.9', '>')) {
         // Clean the RTE output
         if ($objPage->outputFormat == 'xhtml') {
             $this->text = \StringUtil::toXhtml($this->text);
         } else {
             $this->text = \StringUtil::toHtml5($this->text);
         }
     }
     // Add the static files URL to images
     if (TL_FILES_URL != '') {
         $path = $GLOBALS['TL_CONFIG']['uploadPath'] . '/';
         $this->text = str_replace(' src="' . $path, ' src="' . TL_FILES_URL . $path, $this->text);
     }
     $this->cssID = array($this->cssID[0], $this->cssID[1] . (PAGE_TEASER_JS_LINK == 1 ? ' ce_teaser_link' : ''));
     $this->Template->href = $link;
     $this->Template->headline = $this->headline;
     $this->Template->text = $this->text;
     $this->Template->showMore = $this->page_teaser_show_more;
     $this->Template->readMore = specialchars(sprintf($GLOBALS['TL_LANG']['MSC']['readMore'], $objTargetPage->title));
     $this->Template->more = $GLOBALS['TL_LANG']['MSC']['more'];
     $this->Template->addImage = false;
     // Add an image
     if ($this->addImage && $this->singleSRC != '') {
         if (version_compare(VERSION, '3', '>=')) {
             if (version_compare(VERSION, '3.2', '>=')) {
                 $objModel = \FilesModel::findByUuid($this->singleSRC);
             } else {
                 $objModel = \FilesModel::findByPk($this->singleSRC);
             }
             if ($objModel !== null && is_file(TL_ROOT . '/' . $objModel->path)) {
                 $this->singleSRC = $objModel->path;
                 $this->addImageToTemplate($this->Template, $this->arrData);
             }
         } else {
             if ($this->addImage && strlen($this->singleSRC) && is_file(TL_ROOT . '/' . $this->singleSRC)) {
                 $this->addImageToTemplate($this->Template, $this->arrData);
             }
         }
     }
 }
开发者ID:4t2,项目名称:ce_page_teaser,代码行数:84,代码来源:PageTeaser.php

示例11: parseArticle

 /**
  * Parse an item and return it as string
  *
  * @param \NewsModel $objArticle
  * @param boolean    $blnAddArchive
  * @param string     $strClass
  * @param integer    $intCount
  *
  * @return string
  */
 protected function parseArticle($objArticle, $blnAddArchive = false, $strClass = '', $intCount = 0)
 {
     /** @var \PageModel $objPage */
     global $objPage;
     /** @var \FrontendTemplate|object $objTemplate */
     $objTemplate = new \FrontendTemplate($this->news_template);
     $objTemplate->setData($objArticle->row());
     $objTemplate->class = ($objArticle->cssClass != '' ? ' ' . $objArticle->cssClass : '') . $strClass;
     $objTemplate->newsHeadline = $objArticle->headline;
     $objTemplate->subHeadline = $objArticle->subheadline;
     $objTemplate->hasSubHeadline = $objArticle->subheadline ? true : false;
     $objTemplate->linkHeadline = $this->generateLink($objArticle->headline, $objArticle, $blnAddArchive);
     $objTemplate->more = $this->generateLink($GLOBALS['TL_LANG']['MSC']['more'], $objArticle, $blnAddArchive, true);
     $objTemplate->link = $this->generateNewsUrl($objArticle, $blnAddArchive);
     $objTemplate->archive = $objArticle->getRelated('pid');
     $objTemplate->count = $intCount;
     // see #5708
     $objTemplate->text = '';
     // Clean the RTE output
     if ($objArticle->teaser != '') {
         if ($objPage->outputFormat == 'xhtml') {
             $objTemplate->teaser = \StringUtil::toXhtml($objArticle->teaser);
         } else {
             $objTemplate->teaser = \StringUtil::toHtml5($objArticle->teaser);
         }
         $objTemplate->teaser = \StringUtil::encodeEmail($objTemplate->teaser);
     }
     // Display the "read more" button for external/article links
     if ($objArticle->source != 'default') {
         $objTemplate->text = true;
     } else {
         $id = $objArticle->id;
         $objTemplate->text = function () use($id) {
             $strText = '';
             $objElement = \ContentModel::findPublishedByPidAndTable($id, 'tl_news');
             if ($objElement !== null) {
                 while ($objElement->next()) {
                     $strText .= $this->getContentElement($objElement->current());
                 }
             }
             return $strText;
         };
     }
     $arrMeta = $this->getMetaFields($objArticle);
     // Add the meta information
     $objTemplate->date = $arrMeta['date'];
     $objTemplate->hasMetaFields = !empty($arrMeta);
     $objTemplate->numberOfComments = $arrMeta['ccount'];
     $objTemplate->commentCount = $arrMeta['comments'];
     $objTemplate->timestamp = $objArticle->date;
     $objTemplate->author = $arrMeta['author'];
     $objTemplate->datetime = date('Y-m-d\\TH:i:sP', $objArticle->date);
     $objTemplate->addImage = false;
     // Add an image
     if ($objArticle->addImage && $objArticle->singleSRC != '') {
         $objModel = \FilesModel::findByUuid($objArticle->singleSRC);
         if ($objModel === null) {
             if (!\Validator::isUuid($objArticle->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)
             $arrArticle = $objArticle->row();
             // Override the default image size
             if ($this->imgSize != '') {
                 $size = deserialize($this->imgSize);
                 if ($size[0] > 0 || $size[1] > 0 || is_numeric($size[2])) {
                     $arrArticle['size'] = $this->imgSize;
                 }
             }
             $arrArticle['singleSRC'] = $objModel->path;
             $this->addImageToTemplate($objTemplate, $arrArticle);
         }
     }
     $objTemplate->enclosure = array();
     // Add enclosures
     if ($objArticle->addEnclosure) {
         $this->addEnclosuresToTemplate($objTemplate, $objArticle->row());
     }
     // HOOK: add custom logic
     if (isset($GLOBALS['TL_HOOKS']['parseArticles']) && is_array($GLOBALS['TL_HOOKS']['parseArticles'])) {
         foreach ($GLOBALS['TL_HOOKS']['parseArticles'] as $callback) {
             $this->import($callback[0]);
             $this->{$callback}[0]->{$callback}[1]($objTemplate, $objArticle->row(), $this);
         }
     }
     return $objTemplate->parse();
 }
开发者ID:Tastaturberuf,项目名称:core,代码行数:98,代码来源:ModuleNews.php

示例12: replace


//.........这里部分代码省略.........
                         $strUrl = $this->generateFrontendUrl($objJumpTo->row());
                     }
                 } elseif ($objEvent->source == 'article') {
                     if (($objArticle = \ArticleModel::findByPk($objEvent->articleId, array('eager' => true))) !== null && ($objPid = $objArticle->getRelated('pid')) !== null) {
                         $strUrl = $this->generateFrontendUrl($objPid->row(), '/articles/' . (!\Config::get('disableAlias') && $objArticle->alias != '' ? $objArticle->alias : $objArticle->id));
                     }
                 } else {
                     if (($objCalendar = $objEvent->getRelated('pid')) !== null && ($objJumpTo = $objCalendar->getRelated('jumpTo')) !== null) {
                         $strUrl = $this->generateFrontendUrl($objJumpTo->row(), (\Config::get('useAutoItem') && !\Config::get('disableAlias') ? '/' : '/events/') . (!\Config::get('disableAlias') && $objEvent->alias != '' ? $objEvent->alias : $objEvent->id));
                     }
                 }
                 // Replace the tag
                 switch (strtolower($elements[0])) {
                     case 'event':
                         $arrCache[$strTag] = sprintf('<a href="%s" title="%s">%s</a>', $strUrl, specialchars($objEvent->title), $objEvent->title);
                         break;
                     case 'event_open':
                         $arrCache[$strTag] = sprintf('<a href="%s" title="%s">', $strUrl, specialchars($objEvent->title));
                         break;
                     case 'event_url':
                         $arrCache[$strTag] = $strUrl;
                         break;
                     case 'event_title':
                         $arrCache[$strTag] = specialchars($objEvent->title);
                         break;
                 }
                 break;
                 // Article teaser
             // Article teaser
             case 'article_teaser':
                 $objTeaser = \ArticleModel::findByIdOrAlias($elements[1]);
                 if ($objTeaser !== null) {
                     if ($objPage->outputFormat == 'xhtml') {
                         $arrCache[$strTag] = \StringUtil::toXhtml($this->replaceInsertTags($objTeaser->teaser, $blnCache));
                     } else {
                         $arrCache[$strTag] = \StringUtil::toHtml5($this->replaceInsertTags($objTeaser->teaser, $blnCache));
                     }
                 }
                 break;
                 // News teaser
             // News teaser
             case 'news_teaser':
                 $objTeaser = \NewsModel::findByIdOrAlias($elements[1]);
                 if ($objTeaser !== null) {
                     if ($objPage->outputFormat == 'xhtml') {
                         $arrCache[$strTag] = \StringUtil::toXhtml($this->replaceInsertTags($objTeaser->teaser, $blnCache));
                     } else {
                         $arrCache[$strTag] = \StringUtil::toHtml5($this->replaceInsertTags($objTeaser->teaser, $blnCache));
                     }
                 }
                 break;
                 // Event teaser
             // Event teaser
             case 'event_teaser':
                 $objTeaser = \CalendarEventsModel::findByIdOrAlias($elements[1]);
                 if ($objTeaser !== null) {
                     if ($objPage->outputFormat == 'xhtml') {
                         $arrCache[$strTag] = \StringUtil::toXhtml($this->replaceInsertTags($objTeaser->teaser, $blnCache));
                     } else {
                         $arrCache[$strTag] = \StringUtil::toHtml5($this->replaceInsertTags($objTeaser->teaser, $blnCache));
                     }
                 }
                 break;
                 // News feed URL
             // News feed URL
             case 'news_feed':
开发者ID:StephenGWills,项目名称:sample-contao-app,代码行数:67,代码来源:InsertTags.php

示例13: compile

 /**
  * Generate the module
  */
 protected function compile()
 {
     /** @var \PageModel $objPage */
     global $objPage;
     $this->Template->event = '';
     $this->Template->referer = 'javascript:history.go(-1)';
     $this->Template->back = $GLOBALS['TL_LANG']['MSC']['goBack'];
     // Get the current event
     $objEvent = \CalendarEventsModel::findPublishedByParentAndIdOrAlias(\Input::get('events'), $this->cal_calendar);
     if (null === $objEvent) {
         /** @var \PageError404 $objHandler */
         $objHandler = new $GLOBALS['TL_PTY']['error_404']();
         $objHandler->generate($objPage->id);
     }
     // Overwrite the page title (see #2853 and #4955)
     if ($objEvent->title != '') {
         $objPage->pageTitle = strip_tags(strip_insert_tags($objEvent->title));
     }
     // Overwrite the page description
     if ($objEvent->teaser != '') {
         $objPage->description = $this->prepareMetaDescription($objEvent->teaser);
     }
     $intStartTime = $objEvent->startTime;
     $intEndTime = $objEvent->endTime;
     $span = \Calendar::calculateSpan($intStartTime, $intEndTime);
     // Do not show dates in the past if the event is recurring (see #923)
     if ($objEvent->recurring) {
         $arrRange = deserialize($objEvent->repeatEach);
         if (is_array($arrRange) && isset($arrRange['unit']) && isset($arrRange['value'])) {
             while ($intStartTime < time() && $intEndTime < $objEvent->repeatEnd) {
                 $intStartTime = strtotime('+' . $arrRange['value'] . ' ' . $arrRange['unit'], $intStartTime);
                 $intEndTime = strtotime('+' . $arrRange['value'] . ' ' . $arrRange['unit'], $intEndTime);
             }
         }
     }
     $strDate = \Date::parse($objPage->dateFormat, $intStartTime);
     if ($span > 0) {
         $strDate = \Date::parse($objPage->dateFormat, $intStartTime) . ' – ' . \Date::parse($objPage->dateFormat, $intEndTime);
     }
     $strTime = '';
     if ($objEvent->addTime) {
         if ($span > 0) {
             $strDate = \Date::parse($objPage->datimFormat, $intStartTime) . ' – ' . \Date::parse($objPage->datimFormat, $intEndTime);
         } elseif ($intStartTime == $intEndTime) {
             $strTime = \Date::parse($objPage->timeFormat, $intStartTime);
         } else {
             $strTime = \Date::parse($objPage->timeFormat, $intStartTime) . ' – ' . \Date::parse($objPage->timeFormat, $intEndTime);
         }
     }
     $until = '';
     $recurring = '';
     // Recurring event
     if ($objEvent->recurring) {
         $arrRange = deserialize($objEvent->repeatEach);
         if (is_array($arrRange) && isset($arrRange['unit']) && isset($arrRange['value'])) {
             $strKey = 'cal_' . $arrRange['unit'];
             $recurring = sprintf($GLOBALS['TL_LANG']['MSC'][$strKey], $arrRange['value']);
             if ($objEvent->recurrences > 0) {
                 $until = sprintf($GLOBALS['TL_LANG']['MSC']['cal_until'], \Date::parse($objPage->dateFormat, $objEvent->repeatEnd));
             }
         }
     }
     /** @var \FrontendTemplate|object $objTemplate */
     $objTemplate = new \FrontendTemplate($this->cal_template);
     $objTemplate->setData($objEvent->row());
     $objTemplate->date = $strDate;
     $objTemplate->time = $strTime;
     $objTemplate->datetime = $objEvent->addTime ? date('Y-m-d\\TH:i:sP', $intStartTime) : date('Y-m-d', $intStartTime);
     $objTemplate->begin = $intStartTime;
     $objTemplate->end = $intEndTime;
     $objTemplate->class = $objEvent->cssClass != '' ? ' ' . $objEvent->cssClass : '';
     $objTemplate->recurring = $recurring;
     $objTemplate->until = $until;
     $objTemplate->locationLabel = $GLOBALS['TL_LANG']['MSC']['location'];
     $objTemplate->details = '';
     $objTemplate->hasDetails = false;
     $objTemplate->hasTeaser = false;
     // Clean the RTE output
     if ($objEvent->teaser != '') {
         $objTemplate->hasTeaser = true;
         if ($objPage->outputFormat == 'xhtml') {
             $objTemplate->teaser = \StringUtil::toXhtml($objEvent->teaser);
         } else {
             $objTemplate->teaser = \StringUtil::toHtml5($objEvent->teaser);
         }
         $objTemplate->teaser = \StringUtil::encodeEmail($objTemplate->teaser);
     }
     // Display the "read more" button for external/article links
     if ($objEvent->source != 'default') {
         $objTemplate->details = true;
         $objTemplate->hasDetails = true;
     } else {
         $id = $objEvent->id;
         $objTemplate->details = function () use($id) {
             $strDetails = '';
             $objElement = \ContentModel::findPublishedByPidAndTable($id, 'tl_calendar_events');
             if ($objElement !== null) {
//.........这里部分代码省略.........
开发者ID:eknoes,项目名称:core,代码行数:101,代码来源:ModuleEventReader.php

示例14: getAlbumTemplateVars

 /**
  * Set the template-vars to the template object for the selected album
  * @param $intAlbumId
  */
 protected function getAlbumTemplateVars($intAlbumId)
 {
     global $objPage;
     // Load the current album from db
     $objAlbum = \GalleryCreatorAlbumsModel::findByPk($intAlbumId);
     if ($objAlbum === null) {
         return;
     }
     // add meta tags to the page object
     if (TL_MODE == 'FE' && $this->viewMode == 'detail_view') {
         $objPage->description = $objAlbum->description != '' ? specialchars($objAlbum->description) : $objPage->description;
         $GLOBALS['TL_KEYWORDS'] = ltrim($GLOBALS['TL_KEYWORDS'] . ',' . specialchars($objAlbum->keywords), ',');
     }
     //store all album-data in the array
     foreach ($objAlbum->row() as $k => $v) {
         $this->Template->arrAlbumdata = $objAlbum->row();
     }
     // store the data of the current album in the session
     $_SESSION['gallery_creator']['CURRENT_ALBUM'] = $this->Template->arrAlbumdata;
     //der back-Link
     $this->Template->backLink = $this->generateBackLink($intAlbumId);
     //Der dem Bild uebergeordnete Albumname
     $this->Template->Albumname = $objAlbum->name;
     // Albumbesucher (Anzahl Klicks)
     $this->Template->visitors = $objAlbum->vistors;
     //Der Kommentar zum gewaehlten Album
     $this->Template->albumComment = $objPage->outputFormat == 'xhtml' ? \StringUtil::toXhtml($objAlbum->comment) : \StringUtil::toHtml5($objAlbum->comment);
     // In der Detailansicht kann optional ein Artikel vor dem Album hinzugefuegt werden
     $this->Template->insertArticlePre = $objAlbum->insert_article_pre ? sprintf('{{insert_article::%s}}', $objAlbum->insert_article_pre) : null;
     // In der Detailansicht kann optional ein Artikel nach dem Album hinzugefuegt werden
     $this->Template->insertArticlePost = $objAlbum->insert_article_post ? sprintf('{{insert_article::%s}}', $objAlbum->insert_article_post) : null;
     //Das Event-Datum des Albums als unix-timestamp
     $this->Template->eventTstamp = $objAlbum->date;
     //Das Event-Datum des Albums formatiert
     $this->Template->eventDate = \Date::parse($GLOBALS['TL_CONFIG']['dateFormat'], $objAlbum->date);
     //Abstaende
     $this->Template->imagemargin = $this->viewMode == 'detail_view' ? $this->generateMargin(deserialize($this->gc_imagemargin_detailview), 'margin') : $this->generateMargin(deserialize($this->gc_imagemargin_albumlisting), 'margin');
     //Anzahl Spalten pro Reihe
     $this->Template->colsPerRow = $this->gc_rows == "" ? 4 : $this->gc_rows;
     $this->Template->objElement = $this;
 }
开发者ID:markocupic,项目名称:gallery_creator,代码行数:45,代码来源:ContentGalleryCreator.php

示例15: addTestimonialsToTemplate

 public function addTestimonialsToTemplate(\FrontendTemplate $objTemplate, \stdClass $objConfig, $intParent, $arrNotifies)
 {
     global $objPage;
     $limit = 0;
     $offset = 0;
     $total = 0;
     $gtotal = 0;
     $arrTestimonials = array();
     $objTemplate->testimonials = array();
     // Pagination
     if ($objConfig->perPage > 0) {
         // Get the total number of testimonials
         $intTotal = \TestimonialsModel::countPublishedTestimonials($intParent);
         $total = $gtotal = $intTotal;
         // Get the current page
         $id = 'page_entry' . $intParent;
         // see #4141
         $page = \Input::get($id) ?: 1;
         // Do not index or cache the page if the page number is outside the range
         if ($page < 1 || $page > max(ceil($total / $objConfig->perPage), 1)) {
             global $objPage;
             $objPage->noSearch = 1;
             $objPage->cache = 0;
             // Send a 404 header
             header('HTTP/1.1 404 Not Found');
             return;
         }
         // Set limit and offset
         $limit = $objConfig->perPage;
         $offset = ($page - 1) * $objConfig->perPage;
         // Initialize the pagination menu
         $objPagination = new \Pagination($total, $objConfig->perPage, 7, $id);
         $objTemplate->pagination = $objPagination->generate("\n  ");
     }
     // Get all published testimonials
     if ($limit) {
         $objTestimonials = \TestimonialsModel::findPublishedTestimonials($intParent, $objConfig->order == 'descending', $limit, $offset);
     } else {
         $objTestimonials = \TestimonialsModel::findPublishedTestimonials($intParent, $objConfig->order == 'descending');
     }
     // Parse the testimonials
     if ($objTestimonials !== null && ($total = $objTestimonials->count()) > 0) {
         $count = 0;
         if ($objConfig->template == '') {
             $objConfig->template = 'testimonial_entry';
         }
         $objPartial = new \FrontendTemplate($objConfig->template);
         while ($objTestimonials->next()) {
             $objPartial->setData($objTestimonials->row());
             // Clean the RTE output
             if ($objPage->outputFormat == 'xhtml') {
                 $objTestimonials->testimonial = \StringUtil::toXhtml($objTestimonials->testimonial);
             } else {
                 $objTestimonials->testimonial = \StringUtil::toHtml5($objTestimonials->testimonial);
             }
             $objPartial->testimonial = trim(str_replace(array('{{', '}}'), array('&#123;&#123;', '&#125;&#125;'), $objTestimonials->testimonial));
             $objPartial->datim = $this->parseDate($objPage->datimFormat, $objTestimonials->date);
             $objPartial->date = $this->parseDate($objPage->dateFormat, $objTestimonials->date);
             $objPartial->class = ($count < 1 ? ' first' : '') . ($count >= $total - 1 ? ' last' : '') . ($count % 2 == 0 ? ' even' : ' odd');
             $objPartial->by = $GLOBALS['TL_LANG']['MSC']['com_by'];
             $objPartial->id = 'entry_' . $objTestimonials->id;
             $objPartial->timestamp = $objTestimonials->date;
             $objPartial->datetime = date('Y-m-d\\TH:i:sP', $objTestimonials->date);
             $objPartial->avatar = $this->get_gravatar($objTestimonials->email, $objTestimonials->name, $objConfig->AvatarMode, $objConfig->AvatarSize, $objConfig->DefaultGravatar, $objConfig->DefaultGravatarRating, $objConfig->DefaultAvatar);
             $objPartial->titel = $objTestimonials->title;
             $objPartial->addVote = $objConfig->addVote;
             $objPartial->enableVoteField1 = $objConfig->enableVoteField1;
             $objPartial->enableVoteField2 = $objConfig->enableVoteField2;
             $objPartial->enableVoteField3 = $objConfig->enableVoteField3;
             $objPartial->enableVoteField4 = $objConfig->enableVoteField4;
             $objPartial->enableVoteField5 = $objConfig->enableVoteField5;
             $objPartial->enableVoteField6 = $objConfig->enableVoteField6;
             $objPartial->VoteField1Name = $objConfig->VoteField1Name;
             $objPartial->VoteField2Name = $objConfig->VoteField2Name;
             $objPartial->VoteField3Name = $objConfig->VoteField3Name;
             $objPartial->VoteField4Name = $objConfig->VoteField4Name;
             $objPartial->VoteField5Name = $objConfig->VoteField5Name;
             $objPartial->VoteField6Name = $objConfig->VoteField6Name;
             $objPartial->design = $objConfig->design;
             $arrTestimonials[] = $objPartial->parse();
             ++$count;
         }
     }
     $objTemplate->testimonials = $arrTestimonials;
     $objTemplate->addVote = $objConfig->addVote;
     $objTemplate->name = $GLOBALS['TL_LANG']['MSC']['tm_name'];
     $objTemplate->email = $GLOBALS['TL_LANG']['MSC']['tm_email'];
     $objTemplate->url = $GLOBALS['TL_LANG']['MSC']['tm_website'];
     $objTemplate->company = $GLOBALS['TL_LANG']['MSC']['tm_company'];
     $objTemplate->title = $GLOBALS['TL_LANG']['MSC']['tm_title'];
     $objTemplate->TestimonialsTotal = $limit ? $gtotal : $total;
     // Add a form to create new testimonials
     $this->renderTestimonialForm($objTemplate, $objConfig, $intParent);
 }
开发者ID:jedostyle,项目名称:contao-testimonials,代码行数:94,代码来源:Testimonials.php


注:本文中的StringUtil::toXhtml方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。