This commit was manufactured by cvs2svn to create tag
[Packages/TYPO3.CMS.git] / typo3 / sysext / cms / tslib / media / scripts / example_callfunction.php
index c7057db..41efcd1 100755 (executable)
@@ -1,22 +1,22 @@
 <?php
 /***************************************************************
 *  Copyright notice
-*  
-*  (c) 1999-2003 Kasper Skårhøj (kasper@typo3.com)
+*
+*  (c) 1999-2004 Kasper Skaarhoj (kasper@typo3.com)
 *  All rights reserved
 *
-*  This script is part of the TYPO3 project. The TYPO3 project is 
+*  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 
+*  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
  * This is an example of how to use your own functions and classes directly from TYPO3.
  * Used in the "testsite" package
  *
- * Revised for TYPO3 3.6 June/2003 by Kasper Skårhøj
+ * $Id$
+ * Revised for TYPO3 3.6 June/2003 by Kasper Skaarhoj
  * XHTML compliant
  *
- * @author     Kasper Skårhøj <kasper@typo3.com>
+ * @author     Kasper Skaarhoj <kasper@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.typeNum=0
@@ -57,7 +58,7 @@
  *     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.
@@ -72,10 +73,10 @@ function user_reverseString($content,$conf) {
 
 /**
  * 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.typeNum=0
@@ -83,7 +84,7 @@ function user_reverseString($content,$conf)   {
  * 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.
@@ -96,14 +97,14 @@ function user_printTime($content,$conf)     {
 
 /**
  * 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.
@@ -119,13 +120,13 @@ class user_various        {
                }
                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.typeNum=0
@@ -134,29 +135,34 @@ class user_various        {
         *   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 = 'SELECT header FROM tt_content WHERE pid='.$GLOBALS['TSFE']->id.$this->cObj->enableFields('tt_content').' ORDER BY sorting';
-               if ($conf['reverseOrder'])      $query.=' DESC';
-               $output='This is the query: <strong>'.$query.'</strong><br /><br />';
+               $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          MySQL query selecting the content elements.
+        *
+        * @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 = mysql(TYPO3_db,$query);
+               $res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db,$query);
                $output=array();
-               while($row=mysql_fetch_assoc($res))     {
+               while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))       {
                        $output[]=$row['header'];
                }
                return implode($output,'<br />');