/** * Renders Lorem Ipsum paragraphs. If $lipsum is provided it * will be used as source text. If not provided as an argument * or as inline argument, $lipsum is fetched from TypoScript settings. * * @param string $lipsum String of paragraphs file path or EXT:myext/path/to/file * @return string */ public function render($lipsum = NULL) { if (strlen($lipsum) === 0) { $this->getDefaultLoremIpsum(); } if (strlen($lipsum) < 255 && !preg_match('/[^a-z0-9_\\./]/i', $lipsum)) { // argument is most likely a file reference. $sourceFile = t3lib_div::getFileAbsFileName($lipsum); if (file_exists($sourceFile) === TRUE) { $lipsum = file_get_contents($sourceFile); } else { t3lib_div::sysLog('Vhs LipsumViewHelper was asked to load Lorem Ipsum from a file which does not exist. ' . 'The file was: ' . $sourceFile, 'Vhs'); $lipsum = $this->getDefaultLoremIpsum(); } } $lipsum = preg_replace('/[\\r\\n]{1,}/i', "\n", $lipsum); $paragraphs = explode("\n", $lipsum); $paragraphs = array_slice($paragraphs, 0, intval($settings['paragraphs'])); foreach ($paragraphs as $index => $paragraph) { $length = $settings['wordsPerParagraph'] + rand(0 - intval($settings['skew']), intval($settings['skew'])); $words = explode(' ', $paragraph); $paragraphs[$index] = implode(' ', array_slice($words, 0, $length)); } $lipsum = implode("\n", $paragraphs); if ((bool) $settings['html'] === TRUE) { $lipsum = $this->contentObject->parseFunc($lipsum, array(), '< ' . $settings['parseFuncTSPath']); } return $lipsum; }
/** * @param string $parseFuncTSPath path to TypoScript parseFunc setup. * @return the parsed string. * @author Bastian Waidelich <*****@*****.**> * @author Niels Pardon <*****@*****.**> */ public function render($parseFuncTSPath = 'lib.parseFunc_RTE') { if (TYPO3_MODE === 'BE') { $this->simulateFrontendEnvironment(); } $value = $this->renderChildren(); $content = $this->contentObject->parseFunc($value, array(), '< ' . $parseFuncTSPath); if (TYPO3_MODE === 'BE') { $this->resetFrontendEnvironment(); } return $content; }
/** * Will process the input string with the parseFunc function from tslib_cObj based on configuration set in "lib.parseFunc_RTE" in the current TypoScript template. * This is useful for rendering of content in RTE fields where the transformation mode is set to "ts_css" or so. * Notice that this requires the use of "css_styled_content" to work right. * * @param string The input text string to process * @return string The processed string * @see tslib_cObj::parseFunc() */ function pi_RTEcssText($str) { $parseFunc = $GLOBALS['TSFE']->tmpl->setup['lib.']['parseFunc_RTE.']; if (is_array($parseFunc)) { $str = $this->cObj->parseFunc($str, $parseFunc); } return $str; }
/** * @param string $parseFuncTSPath path to TypoScript parseFunc setup. * @return the parsed string. * @author Bastian Waidelich <*****@*****.**> * @author Niels Pardon <*****@*****.**> */ public function render($parseFuncTSPath = 'lib.parseFunc_RTE') { $value = $this->renderChildren(); return $this->contentObject->parseFunc($value, array(), '< ' . $parseFuncTSPath); }