📄 example_callfunction.php
字号:
<?php/**************************************************************** Copyright notice** (c) 1999-2005 Kasper Skaarhoj (kasperYYYY@typo3.com)* All rights reserved** This script is part of the TYPO3 project. The TYPO3 project is* free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.** The GNU General Public License can be found at* http://www.gnu.org/copyleft/gpl.html.* A copy is found in the textfile GPL.txt and important notices to the license* from the author is found in LICENSE.txt distributed with these scripts.*** This script is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** This copyright notice MUST APPEAR in all copies of the script!***************************************************************//** * USER cObject EXAMPLE FILE * * This is an example of how to use your own functions and classes directly from TYPO3. * Used in the "testsite" package * * $Id: example_callfunction.php 639 2005-04-13 23:12:04Z mundaun $ * Revised for TYPO3 3.6 June/2003 by Kasper Skaarhoj * XHTML compliant * * @author Kasper Skaarhoj <kasperYYYY@typo3.com> *//** * Call custom function from TypoScript for data processing * * Example can be found in the testsite package at the page-path "/Intro/TypoScript examples/Custom Dynamic Co.../Passing a string.../" * This TypoScript configuration will also demonstrate it: * * includeLibs.something = media/scripts/example_callfunction.php * page = PAGE * page.10 = TEXT * page.10 { * value = Hello World * preUserFunc = user_reverseString * preUserFunc.uppercase = 1 * } * * @param string When custom functions are used for data processing the $content variable will hold the value to be processed. When functions are meant to just return some generated content this variable is empty. * @param array TypoScript properties passed on to this function. * @return string The input string reversed. If the TypoScript property "uppercase" was set it will also be in uppercase. */function user_reverseString($content,$conf) { $content = strrev($content); if ($conf['uppercase']) { $content=strtoupper($content); } return $content;}/** * Simply outputting the current time in red letters. * * Example can be found in the testsite package at the page-path "/Intro/TypoScript examples/Custom Dynamic Co.../Mixing cached and.../" * This TypoScript configuration will also demonstrate it: * * includeLibs.something = media/scripts/example_callfunction.php * page = PAGE * page.10 = USER_INT * page.10 { * userFunc = user_printTime * } * * @param string Empty string (no content to process) * @param array TypoScript configuration * @return string HTML output, showing the current server time. */function user_printTime($content,$conf) { return '<font color="red">Dynamic time: '.date('H:i:s').'</font><br />';}/** * Example of calling a method in a PHP class from TypoScript * */class user_various { var $cObj; // Reference to the parent (calling) cObj set from TypoScript /** * Doing the same as user_reverseString() but with a class. Also demonstrates how this gives us the ability to use methods in the parent object. * * @param string String to process (from stdWrap) * @param array TypoScript properties passed on to this method. * @return string The input string reversed. If the TypoScript property "uppercase" was set it will also be in uppercase. May also be linked. * @see user_reverseString() */ function reverseString($content,$conf) { $content = strrev($content); if ($conf['uppercase']) { $content=$this->cObj->caseshift($content,'upper'); } if ($conf['typolink']) { $content=$this->cObj->getTypoLink($content,$conf['typolink']); } return $content; } /** * Testing USER cObject: * * Example can be found in the testsite package at the page-path "/Intro/TypoScript examples/Custom Dynamic Co.../Calling a method.../" * This TypoScript configuration will also demonstrate it: * * includeLibs.something = media/scripts/example_callfunction.php * page = PAGE * page.30 = USER * page.30 { * userFunc = user_various->listContentRecordsOnPage * reverseOrder = 1 * } * * @param string Empty string (no content to process) * @param array TypoScript configuration * @return string HTML output, showing content elements (in reverse order if configured.) */ function listContentRecordsOnPage($content,$conf) { $query = $GLOBALS['TYPO3_DB']->SELECTquery( 'header', 'tt_content', 'pid='.intval($GLOBALS['TSFE']->id).$this->cObj->enableFields('tt_content'), '', 'sorting'.($conf['reverseOrder'] ? ' DESC' : '') ); $output = 'This is the query: <strong>'.$query.'</strong><br /><br />'; return $output.$this->selectThem($query); } /** * Selecting the records by input $query and returning the header field values * * @param string SQL query selecting the content elements. * @return string The header field values of the content elements imploded by a <br /> tag * @access private */ function selectThem($query) { $res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db,$query); $output=array(); while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $output[]=$row['header']; } return implode($output,'<br />'); }}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -