[TASK] Clean up phpDoc comments in t3lib classes
authorWouter Wolters <typo3@wouterwolters.nl>
Fri, 18 May 2012 20:28:49 +0000 (22:28 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Sat, 19 May 2012 19:50:12 +0000 (21:50 +0200)
Clean up phpDoc comments for the following classes:

* t3lib/class.t3lib_tsfebeuserauth.php
* t3lib/class.t3lib_tsparser.php
* t3lib/class.t3lib_tsparser_ext.php
* t3lib/class.t3lib_tsparser_tsconfig.php
* t3lib/class.t3lib_tsstyleconfig.php
* t3lib/class.t3lib_tstemplate.php
* t3lib/class.t3lib_xml.php

Clean up provides:

* Provide correct parameter names in phpDoc
* Provide correct data types in phpDoc
* CGLify phpDoc (remove tabs)

Change-Id: I312660e9da1964cff90b3998155d77bb3f4f0edd
Resolves: #37291
Releases: 6.0
Reviewed-on: http://review.typo3.org/11289
Reviewed-by: Tolleiv Nietsch
Tested-by: Tolleiv Nietsch
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
t3lib/class.t3lib_tsfebeuserauth.php
t3lib/class.t3lib_tsparser.php
t3lib/class.t3lib_tsparser_ext.php
t3lib/class.t3lib_tsparser_tsconfig.php
t3lib/class.t3lib_tsstyleconfig.php
t3lib/class.t3lib_tstemplate.php
t3lib/class.t3lib_xml.php

index 2881829..912092e 100644 (file)
  * Revised for TYPO3 3.6 July/2003 by Kasper Skårhøj
  * XHTML compliant
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  */
 
-
 /**
  * TYPO3 backend user authentication in the TSFE frontend.
  * This includes mainly functions related to the Admin Panel
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage t3lib
  */
@@ -138,7 +137,7 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
        /**
         * Initializes frontend editing.
         *
-        * @return      void
+        * @return void
         */
        public function initializeFrontendEdit() {
                if (isset($this->extAdminConfig['enable.']) && $this->isFrontendEditingActive()) {
@@ -166,7 +165,7 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
        /**
         * Determines whether frontend editing is currently active.
         *
-        * @return      boolean         Wheter frontend editing is active
+        * @return boolean Wheter frontend editing is active
         */
        public function isFrontendEditingActive() {
                return ($this->extAdmEnabled
@@ -178,7 +177,7 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
        /**
         * Delegates to the appropriate view and renders the admin panel content.
         *
-        * @return      string.
+        * @return string.
         */
        public function displayAdminPanel() {
                $content = $this->adminPanel->display();
@@ -189,7 +188,7 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
        /**
         * Determines whether the admin panel is enabled and visible.
         *
-        * @return      boolean         Whether the admin panel is enabled and visible
+        * @return boolean Whether the admin panel is enabled and visible
         */
        public function isAdminPanelVisible() {
                return ($this->extAdmEnabled && !$this->extAdminConfig['hide'] && $GLOBALS['TSFE']->config['config']['admPanel']);
@@ -205,31 +204,22 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
         * Implementing the access checks that the typo3/init.php script does before a user is ever logged in.
         * Used in the frontend.
         *
-        * @return      boolean         Returns TRUE if access is OK
+        * @return boolean Returns TRUE if access is OK
         * @see typo3/init.php, t3lib_beuserauth::backendCheckLogin()
         */
        public function checkBackendAccessSettingsFromInitPhp() {
-
-                       // **********************
-                       // Check Hardcoded lock on BE:
-                       // **********************
+                       // Check Hardcoded lock on BE
                if ($GLOBALS['TYPO3_CONF_VARS']['BE']['adminOnly'] < 0) {
                        return FALSE;
                }
-
-                       // **********************
                        // Check IP
-                       // **********************
                if (trim($GLOBALS['TYPO3_CONF_VARS']['BE']['IPmaskList'])) {
                        if (!t3lib_div::cmpIP(t3lib_div::getIndpEnv('REMOTE_ADDR'), $GLOBALS['TYPO3_CONF_VARS']['BE']['IPmaskList'])) {
                                return FALSE;
                        }
                }
 
-
-                       // **********************
                        // Check SSL (https)
-                       // **********************
                if (intval($GLOBALS['TYPO3_CONF_VARS']['BE']['lockSSL']) && $GLOBALS['TYPO3_CONF_VARS']['BE']['lockSSL'] != 3) {
                        if (!t3lib_div::getIndpEnv('TYPO3_SSL')) {
                                return FALSE;
@@ -244,15 +234,14 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
                }
        }
 
-
        /**
         * Evaluates if the Backend User has read access to the input page record.
         * The evaluation is based on both read-permission and whether the page is found in one of the users webmounts. Only if both conditions are TRUE will the function return TRUE.
         * Read access means that previewing is allowed etc.
         * Used in index_ts.php
         *
-        * @param       array           The page record to evaluate for
-        * @return      boolean         TRUE if read access
+        * @param array $pageRec The page record to evaluate for
+        * @return boolean TRUE if read access
         */
        public function extPageReadAccess($pageRec) {
                return $this->isInWebMount($pageRec['uid']) && $this->doesUserHaveAccess($pageRec, 1);
@@ -268,11 +257,11 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
         * Generates a list of Page-uid's from $id. List does not include $id itself
         * The only pages excluded from the list are deleted pages.
         *
-        * @param       integer         Start page id
-        * @param       integer         Depth to traverse down the page tree.
-        * @param       integer         $begin is an optional integer that determines at which level in the tree to start collecting uid's. Zero means 'start right away', 1 = 'next level and out'
-        * @param       string          Perms clause
-        * @return      string          Returns the list with a comma in the end (if any pages selected!)
+        * @param integer $id Start page id
+        * @param integer $depth Depth to traverse down the page tree.
+        * @param integer $begin Is an optional integer that determines at which level in the tree to start collecting uid's. Zero means 'start right away', 1 = 'next level and out'
+        * @param string $perms_clause Perms clause
+        * @return string Returns the list with a comma in the end (if any pages selected!)
         */
        public function extGetTreeList($id, $depth, $begin = 0, $perms_clause) {
                $depth = intval($depth);
@@ -302,8 +291,8 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
        /**
         * Returns the number of cached pages for a page id.
         *
-        * @param       integer         The page id.
-        * @return      integer         The number of pages for this page in the table "cache_pages"
+        * @param integer $pageId The page id.
+        * @return integer The number of pages for this page in the table "cache_pages"
         */
        public function extGetNumberOfCachedPages($pageId) {
                $pageCache = $GLOBALS['typo3CacheManager']->getCache('cache_pages');
@@ -311,7 +300,6 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
                return count($pageCacheEntries);
        }
 
-
        /*****************************************************
         *
         * Localization handling
@@ -322,19 +310,20 @@ class t3lib_tsfeBeUserAuth extends t3lib_beUserAuth {
         * Returns the label for key, $key. If a translation for the language set in $this->uc['lang'] is found that is returned, otherwise the default value.
         * IF the global variable $LOCAL_LANG is NOT an array (yet) then this function loads the global $LOCAL_LANG array with the content of "sysext/lang/locallang_tsfe.php" so that the values therein can be used for labels in the Admin Panel
         *
-        * @param       string          Key for a label in the $GLOBALS['LOCAL_LANG'] array of "sysext/lang/locallang_tsfe.php"
-        * @return      string          The value for the $key
+        * @param string $key Key for a label in the $GLOBALS['LOCAL_LANG'] array of "sysext/lang/locallang_tsfe.php"
+        * @return string The value for the $key
         */
        public function extGetLL($key) {
                if (!is_array($GLOBALS['LOCAL_LANG'])) {
                        $GLOBALS['LANG']->includeLLFile('EXT:lang/locallang_tsfe.php');
-                       #include('./'.TYPO3_mainDir.'sysext/lang/locallang_tsfe.php');
+
                        if (!is_array($GLOBALS['LOCAL_LANG'])) {
                                $GLOBALS['LOCAL_LANG'] = array();
                        }
                }
 
-               $labelStr = htmlspecialchars($GLOBALS['LANG']->getLL($key)); // Label string in the default backend output charset.
+                       // Label string in the default backend output charset.
+               $labelStr = htmlspecialchars($GLOBALS['LANG']->getLL($key));
 
                $labelStr = $GLOBALS['LANG']->csConvObj->utf8_to_entities($labelStr);
 
index 1dadf3f..69326f9 100644 (file)
  *
  * Revised for TYPO3 3.6 July/2003 by Kasper Skårhøj
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  */
 
-
 /**
  * The TypoScript parser
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage t3lib
  * @see t3lib_tstemplate, t3lib_BEfunc::getPagesTSconfig(), t3lib_userAuthGroup::fetchGroupData(), t3lib_TStemplate::generateConfig()
  */
 class t3lib_TSparser {
-       var $strict = 1; // If set, then key names cannot contain characters other than [:alnum:]_\.-
+               // If set, then key names cannot contain characters other than [:alnum:]_\.-
+       var $strict = 1;
 
                // Internal
-       var $setup = array(); // TypoScript hierarchy being build during parsing.
-       var $raw; // raw data, the input string exploded by LF
-       var $rawP; // pointer to entry in raw data array
-       var $lastComment = ''; // Holding the value of the last comment
-       var $commentSet = 0; // Internally set, used as internal flag to create a multi-line comment (one of those like /*... */)
-       var $multiLineEnabled = 0; // Internally set, when multiline value is accumulated
-       var $multiLineObject = ''; // Internally set, when multiline value is accumulated
-       var $multiLineValue = array(); // Internally set, when multiline value is accumulated
-       var $inBrace = 0; // Internally set, when in brace. Counter.
-       var $lastConditionTrue = 1; // For each condition this flag is set, if the condition is TRUE, else it's cleared. Then it's used by the [ELSE] condition to determine if the next part should be parsed.
-       var $sections = array(); // Tracking all conditions found
-       var $sectionsMatch = array(); // Tracking all matching conditions found
-       var $syntaxHighLight = 0; // If set, then syntax highlight mode is on; Call the function syntaxHighlight() to use this function
-       var $highLightData = array(); // Syntax highlight data is accumulated in this array. Used by syntaxHighlight_print() to construct the output.
-       var $highLightData_bracelevel = array(); // Syntax highlight data keeping track of the curly brace level for each line
+               // TypoScript hierarchy being build during parsing.
+       var $setup = array();
+               // Raw data, the input string exploded by LF
+       var $raw;
+               // Pointer to entry in raw data array
+       var $rawP;
+               // Holding the value of the last comment
+       var $lastComment = '';
+               // Internally set, used as internal flag to create a multi-line comment (one of those like /*... */)
+       var $commentSet = 0;
+               // Internally set, when multiline value is accumulated
+       var $multiLineEnabled = 0;
+               // Internally set, when multiline value is accumulated
+       var $multiLineObject = '';
+               // Internally set, when multiline value is accumulated
+       var $multiLineValue = array();
+               // Internally set, when in brace. Counter.
+       var $inBrace = 0;
+               // For each condition this flag is set, if the condition is TRUE, else it's cleared. Then it's used by the [ELSE] condition to determine if the next part should be parsed.
+       var $lastConditionTrue = 1;
+               // Tracking all conditions found
+       var $sections = array();
+               // Tracking all matching conditions found
+       var $sectionsMatch = array();
+               // If set, then syntax highlight mode is on; Call the function syntaxHighlight() to use this function
+       var $syntaxHighLight = 0;
+               // Syntax highlight data is accumulated in this array. Used by syntaxHighlight_print() to construct the output.
+       var $highLightData = array();
+               // Syntax highlight data keeping track of the curly brace level for each line
+       var $highLightData_bracelevel = array();
 
                // Debugging, analysis:
-       var $regComments = 0; // DO NOT register the comments. This is default for the ordinary sitetemplate!
-       var $regLinenumbers = 0; // DO NOT register the linenumbers. This is default for the ordinary sitetemplate!
-       var $errors = array(); // Error accumulation array.
-       var $lineNumberOffset = 0; // Used for the error messages line number reporting. Set externally.
-       var $breakPointLN = 0; // Line for break point.
+               // DO NOT register the comments. This is default for the ordinary sitetemplate!
+       var $regComments = 0;
+               // DO NOT register the linenumbers. This is default for the ordinary sitetemplate!
+       var $regLinenumbers = 0;
+               // Error accumulation array.
+       var $errors = array();
+               // Used for the error messages line number reporting. Set externally.
+       var $lineNumberOffset = 0;
+               // Line for break point.
+       var $breakPointLN = 0;
        var $highLightStyles = array(
                'prespace' => array('<span class="ts-prespace">', '</span>'), // Space before any content on a line
                'objstr_postspace' => array('<span class="ts-objstr_postspace">', '</span>'), // Space after the object string on a line
@@ -83,17 +103,20 @@ class t3lib_TSparser {
                'error' => array('<span class="ts-error">', '</span>'), // Error messages
                'linenum' => array('<span class="ts-linenum">', '</span>'), // Line numbers
        );
-       var $highLightBlockStyles = ''; // Additional attributes for the <span> tags for a blockmode line
-       var $highLightBlockStyles_basecolor = '#cccccc'; // The hex-HTML color for the blockmode
+               // Additional attributes for the <span> tags for a blockmode line
+       var $highLightBlockStyles = '';
+               // The hex-HTML color for the blockmode
+       var $highLightBlockStyles_basecolor = '#cccccc';
 
-       public $parentObject; //Instance of parentObject, used by t3lib_tsparser_ext
+               //Instance of parentObject, used by t3lib_tsparser_ext
+       public $parentObject;
 
        /**
         * Start parsing the input TypoScript text piece. The result is stored in $this->setup
         *
-        * @param       string          The TypoScript text
-        * @param       object          If is object, then this is used to match conditions found in the TypoScript code. If matchObj not specified, then no conditions will work! (Except [GLOBAL])
-        * @return      void
+        * @param string $string The TypoScript text
+        * @param object $matchObj If is object, then this is used to match conditions found in the TypoScript code. If matchObj not specified, then no conditions will work! (Except [GLOBAL])
+        * @return void
         */
        function parse($string, $matchObj = '') {
                $this->raw = explode(LF, $string);
@@ -109,9 +132,11 @@ class t3lib_TSparser {
                                $pre = trim($this->parseSub($this->setup));
                                $this->lastConditionTrue = 1;
                        } else {
+                                       // We're in a specific section. Therefore we log this section
                                if (strtoupper($pre) != '[ELSE]') {
                                        $this->sections[md5($pre)] = $pre;
-                               } // we're in a specific section. Therefore we log this section
+                               }
+
                                if ((is_object($matchObj) && $matchObj->match($pre)) || $this->syntaxHighLight) {
                                        if (strtoupper($pre) != '[ELSE]') {
                                                $this->sectionsMatch[md5($pre)] = $pre;
@@ -136,7 +161,7 @@ class t3lib_TSparser {
        /**
         * Will search for the next condition. When found it will return the line content (the condition value) and have advanced the internal $this->rawP pointer to point to the next line after the condition.
         *
-        * @return      string          The condition value
+        * @return string The condition value
         * @see parse()
         */
        function nextDivider() {
@@ -152,8 +177,8 @@ class t3lib_TSparser {
        /**
         * Parsing the $this->raw TypoScript lines from pointer, $this->rawP
         *
-        * @param       array           Reference to the setup array in which to accumulate the values.
-        * @return      string          Returns the string of the condition found, the exit signal or possible nothing (if it completed parsing with no interruptions)
+        * @param array $setup Reference to the setup array in which to accumulate the values.
+        * @return string Returns the string of the condition found, the exit signal or possible nothing (if it completed parsing with no interruptions)
         */
        function parseSub(&$setup) {
                while (isset($this->raw[$this->rawP])) {
@@ -165,7 +190,8 @@ class t3lib_TSparser {
                        }
 
                                // Breakpoint?
-                       if ($this->breakPointLN && ($this->lineNumberOffset + $this->rawP - 1) == ($this->breakPointLN + 1)) { // by adding 1 we get that line processed
+                               // By adding 1 we get that line processed
+                       if ($this->breakPointLN && ($this->lineNumberOffset + $this->rawP - 1) == ($this->breakPointLN + 1)) {
                                return '[_BREAK]';
                        }
 
@@ -174,18 +200,24 @@ class t3lib_TSparser {
                                $this->commentSet = 1;
                        }
 
-                       if (!$this->commentSet && ($line || $this->multiLineEnabled)) { // If $this->multiLineEnabled we will go and get the line values here because we know, the first if() will be TRUE.
-                               if ($this->multiLineEnabled) { // If multiline is enabled. Escape by ')'
-                                       if (substr($line, 0, 1) == ')') { // Multiline ends...
+                               // If $this->multiLineEnabled we will go and get the line values here because we know, the first if() will be TRUE.
+                       if (!$this->commentSet && ($line || $this->multiLineEnabled)) {
+                                       // If multiline is enabled. Escape by ')'
+                               if ($this->multiLineEnabled) {
+                                               // Multiline ends...
+                                       if (substr($line, 0, 1) == ')') {
                                                if ($this->syntaxHighLight) {
                                                        $this->regHighLight("operator", $lineP, strlen($line) - 1);
                                                }
-                                               $this->multiLineEnabled = 0; // Disable multiline
+                                                       // Disable multiline
+                                               $this->multiLineEnabled = 0;
                                                $theValue = implode($this->multiLineValue, LF);
                                                if (strstr($this->multiLineObject, '.')) {
-                                                       $this->setVal($this->multiLineObject, $setup, array($theValue)); // Set the value deeper.
+                                                               // Set the value deeper.
+                                                       $this->setVal($this->multiLineObject, $setup, array($theValue));
                                                } else {
-                                                       $setup[$this->multiLineObject] = $theValue; // Set value regularly
+                                                               // Set value regularly
+                                                       $setup[$this->multiLineObject] = $theValue;
                                                        if ($this->lastComment && $this->regComments) {
                                                                $setup[$this->multiLineObject . '..'] .= $this->lastComment;
                                                        }
@@ -205,7 +237,8 @@ class t3lib_TSparser {
                                        }
                                        return $line;
                                } else {
-                                       if (substr($line, 0, 1) == '[' && strtoupper(trim($line)) == '[GLOBAL]') { // Return if GLOBAL condition is set - no matter what.
+                                               // Return if GLOBAL condition is set - no matter what.
+                                       if (substr($line, 0, 1) == '[' && strtoupper(trim($line)) == '[GLOBAL]') {
                                                if ($this->syntaxHighLight) {
                                                        $this->regHighLight("condition", $lineP);
                                                }
@@ -213,7 +246,8 @@ class t3lib_TSparser {
                                                $this->inBrace = 0;
                                                return $line;
                                        } elseif (strcspn($line, '}#/') != 0) { // If not brace-end or comment
-                                               $varL = strcspn($line, ' {=<>:('); // Find object name string until we meet an operator
+                                                       // Find object name string until we meet an operator
+                                               $varL = strcspn($line, ' {=<>:(');
                                                $objStrName = trim(substr($line, 0, $varL));
                                                if ($this->syntaxHighLight) {
                                                        $this->regHighLight("objstr", $lineP, strlen(substr($line, $varL)));
@@ -392,9 +426,9 @@ class t3lib_TSparser {
        /**
         * Parsing of TypoScript keys inside a curly brace where the key is composite of at least two keys, thus having to recursively call itself to get the value
         *
-        * @param       string          The object sub-path, eg "thisprop.another_prot"
-        * @param       array           The local setup array from the function calling this function
-        * @return      string          Returns the exitSignal
+        * @param string $string The object sub-path, eg "thisprop.another_prot"
+        * @param array $setup The local setup array from the function calling this function
+        * @return string Returns the exitSignal
         * @see parseSub()
         */
        function rollParseSub($string, &$setup) {
@@ -425,15 +459,16 @@ class t3lib_TSparser {
        /**
         * Get a value/property pair for an object path in TypoScript, eg. "myobject.myvalue.mysubproperty". Here: Used by the "copy" operator, <
         *
-        * @param       string          Object path for which to get the value
-        * @param       array           Global setup code if $string points to a global object path. But if string is prefixed with "." then its the local setup array.
-        * @return      array           An array with keys 0/1 being value/property respectively
+        * @param string $string Object path for which to get the value
+        * @param array $setup Global setup code if $string points to a global object path. But if string is prefixed with "." then its the local setup array.
+        * @return array An array with keys 0/1 being value/property respectively
         */
        function getVal($string, $setup) {
                if ((string) $string != '') {
                        $keyLen = strcspn($string, '.');
                        if ($keyLen == strlen($string)) {
-                               $retArr = array(); // Added 6/6/03. Shouldn't hurt
+                                       // Added 6/6/03. Shouldn't hurt
+                               $retArr = array();
                                if (isset($setup[$string])) {
                                        $retArr[0] = $setup[$string];
                                }
@@ -453,11 +488,11 @@ class t3lib_TSparser {
        /**
         * Setting a value/property of an object string in the setup array.
         *
-        * @param       string          The object sub-path, eg "thisprop.another_prot"
-        * @param       array           The local setup array from the function calling this function.
-        * @param       array           The value/property pair array to set. If only one of them is set, then the other is not touched (unless $wipeOut is set, which it is when copies are made which must include both value and property)
-        * @param       boolean         If set, then both value and property is wiped out when a copy is made of another value.
-        * @return      void
+        * @param string $string The object sub-path, eg "thisprop.another_prot"
+        * @param array $setup The local setup array from the function calling this function.
+        * @param array $value The value/property pair array to set. If only one of them is set, then the other is not touched (unless $wipeOut is set, which it is when copies are made which must include both value and property)
+        * @param boolean $wipeOut If set, then both value and property is wiped out when a copy is made of another value.
+        * @return void
         */
        function setVal($string, &$setup, $value, $wipeOut = 0) {
                if ((string) $string != '') {
@@ -506,9 +541,9 @@ class t3lib_TSparser {
         * Stacks errors/messages from the TypoScript parser into an internal array, $this->error
         * If "TT" is a global object (as it is in the frontend when backend users are logged in) the message will be registered here as well.
         *
-        * @param       string          The error message string
-        * @param       integer         The error severity (in the scale of $GLOBALS['TT']->setTSlogMessage: Approx: 2=warning, 1=info, 0=nothing, 3=fatal.)
-        * @return      void
+        * @param string $err The error message string
+        * @param integer $num The error severity (in the scale of $GLOBALS['TT']->setTSlogMessage: Approx: 2=warning, 1=info, 0=nothing, 3=fatal.)
+        * @return void
         */
        function error($err, $num = 2) {
                if (is_object($GLOBALS['TT'])) {
@@ -521,10 +556,10 @@ class t3lib_TSparser {
         * Checks the input string (un-parsed TypoScript) for include-commands ("<INCLUDE_TYPOSCRIPT: ....")
         * Use: t3lib_TSparser::checkIncludeLines()
         *
-        * @param       string          Unparsed TypoScript
-        * @param       integer         Counter for detecting endless loops
-        * @param       boolean         When set an array containing the resulting typoscript and all included files will get returned
-        * @return      string          Complete TypoScript with includes added.
+        * @param string $string Unparsed TypoScript
+        * @param integer $cycle_counter Counter for detecting endless loops
+        * @param boolean $returnFiles When set an array containing the resulting typoscript and all included files will get returned
+        * @return string Complete TypoScript with includes added.
         * @static
         */
        public static function checkIncludeLines($string, $cycle_counter = 1, $returnFiles = FALSE) {
@@ -542,13 +577,16 @@ class t3lib_TSparser {
                $splitStr = '<INCLUDE_TYPOSCRIPT:';
                if (strstr($string, $splitStr)) {
                        $newString = '';
-                       $allParts = explode($splitStr, LF . $string . LF); // adds line break char before/after
+                               // Adds line break char before/after
+                       $allParts = explode($splitStr, LF . $string . LF);
                        foreach ($allParts as $c => $v) {
-                               if (!$c) { // first goes through
+                                       // First goes through
+                               if (!$c) {
                                        $newString .= $v;
-                               } elseif (preg_match('/\r?\n\s*$/', $allParts[$c - 1])) { // There must be a line-break char before.
+                               } elseif (preg_match('/\r?\n\s*$/', $allParts[$c - 1])) {
                                        $subparts = explode('>', $v, 2);
-                                       if (preg_match('/^\s*\r?\n/', $subparts[1])) { // There must be a line-break char after
+                                               // There must be a line-break char after
+                                       if (preg_match('/^\s*\r?\n/', $subparts[1])) {
                                                        // SO, the include was positively recognized:
                                                $newString .= '### ' . $splitStr . $subparts[0] . '> BEGIN:' . LF;
                                                $params = t3lib_div::get_tag_attributes($subparts[0]);
@@ -557,10 +595,12 @@ class t3lib_TSparser {
                                                        switch (strtolower(trim($sourceParts[0]))) {
                                                                case 'file':
                                                                        $filename = t3lib_div::getFileAbsFileName(trim($sourceParts[1]));
-                                                                       if (strcmp($filename, '')) { // Must exist and must not contain '..' and must be relative
-                                                                               if (t3lib_div::verifyFilenameAgainstDenyPattern($filename)) { // Check for allowed files
+                                                                               // Must exist and must not contain '..' and must be relative
+                                                                       if (strcmp($filename, '')) {
+                                                                                       // Check for allowed files
+                                                                               if (t3lib_div::verifyFilenameAgainstDenyPattern($filename)) {
                                                                                        if (@is_file($filename)) {
-                                                                                                       // check for includes in included text
+                                                                                                       // Check for includes in included text
                                                                                                $includedFiles[] = $filename;
                                                                                                $included_text = self::checkIncludeLines(t3lib_div::getUrl($filename), $cycle_counter + 1, $returnFiles);
                                                                                                        // If the method also has to return all included files, merge currently included
@@ -591,7 +631,8 @@ class t3lib_TSparser {
                                        $newString .= $splitStr . $v;
                                }
                        }
-                       $string = substr($newString, 1, -1); // not the first/last linebreak char.
+                               // Not the first/last linebreak char.
+                       $string = substr($newString, 1, -1);
                }
                        // When all included files should get returned, simply return an compound array containing
                        // the TypoScript with all "includes" processed and the files which got included
@@ -607,8 +648,8 @@ class t3lib_TSparser {
        /**
         * Parses the string in each value of the input array for include-commands
         *
-        * @param       array           Array with TypoScript in each value
-        * @return      array           Same array but where the values has been parsed for include-commands
+        * @param array $array Array with TypoScript in each value
+        * @return array Same array but where the values has been parsed for include-commands
         */
        public static function checkIncludeLines_array($array) {
                foreach ($array as $k => $v) {
@@ -621,10 +662,10 @@ class t3lib_TSparser {
         * Search for commented INCLUDE_TYPOSCRIPT statements
         * and save the content between the BEGIN and the END line to the specified file
         *
-        * @param        string template content
-        * @param        int            Counter for detecting endless loops
-        * @return       string  template content with uncommented include statements
-        * @author       Fabrizio Branca <typo3@fabrizio-branca.de>
+        * @param string $string Template content
+        * @param integer $cycle_counter Counter for detecting endless loops
+        * @param array $extractedFileNames
+        * @return string Template content with uncommented include statements
         */
        public static function extractIncludes($string, $cycle_counter = 1, $extractedFileNames = array()) {
 
@@ -650,41 +691,42 @@ class t3lib_TSparser {
                                $skipNextLineIfEmpty = FALSE;
                        }
 
-                       if (!$inIncludePart) { // outside commented include statements
+                               // Outside commented include statements
+                       if (!$inIncludePart) {
 
-                                       // search for beginning commented include statements
+                                       // Search for beginning commented include statements
                                $matches = array();
                                if (preg_match('/###\s*<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*"\s*FILE\s*:\s*(.*)\s*">\s*BEGIN/i', $line, $matches)) {
 
-                                               // save this line in case there is no ending tag
+                                               // Save this line in case there is no ending tag
                                        $openingCommentedIncludeStatement = trim($line);
                                        $openingCommentedIncludeStatement = trim(preg_replace('/### Warning: .*###/', '', $openingCommentedIncludeStatement));
 
-                                               // found a commented include statement
+                                               // Found a commented include statement
                                        $fileName = trim($matches[1]);
                                        $inIncludePart = TRUE;
 
                                        $expectedEndTag = '### <INCLUDE_TYPOSCRIPT: source="FILE:' . $fileName . '"> END';
-                                               // strip all whitespace characters to make comparision safer
+                                               // Strip all whitespace characters to make comparision safer
                                        $expectedEndTag = strtolower(preg_replace('/\s/', '', $expectedEndTag));
                                } else {
-                                               // if this is not a beginning commented include statement this line goes into the rest content
+                                               // If this is not a beginning commented include statement this line goes into the rest content
                                        $restContent[] = $line;
                                }
 
-                       } else { // inside commented include statements
+                       } else { // Inside commented include statements
 
-                                       // search for the matching ending commented include statement
+                                       // Search for the matching ending commented include statement
                                $strippedLine = strtolower(preg_replace('/\s/', '', $line));
                                if (strpos($strippedLine, $expectedEndTag) !== FALSE) {
 
-                                               // found the matching ending include statement
+                                               // Found the matching ending include statement
                                        $fileContentString = implode("\n", $fileContent);
 
-                                               // write the content to the file
+                                               // Write the content to the file
                                        $realFileName = t3lib_div::getFileAbsFileName($fileName);
 
-                                               // some file checks
+                                               // Some file checks
                                        if (empty($realFileName)) {
                                                throw new UnexpectedValueException(sprintf('"%s" is not a valid file location.', $fileName), 1294586441);
                                        }
@@ -698,17 +740,17 @@ class t3lib_TSparser {
                                        }
                                        $extractedFileNames[] = $realFileName;
 
-                                               // recursive call to detected nested commented include statements
+                                               // Recursive call to detected nested commented include statements
                                        $fileContentString = self::extractIncludes($fileContentString, $cycle_counter + 1, $extractedFileNames);
 
                                        if (!t3lib_div::writeFile($realFileName, $fileContentString)) {
                                                throw new RuntimeException(sprintf('Could not write file "%s"', $realFileName), 1294586444);
                                        }
 
-                                               // insert reference to the file in the rest content
+                                               // Insert reference to the file in the rest content
                                        $restContent[] = "<INCLUDE_TYPOSCRIPT: source=\"FILE:$fileName\">";
 
-                                               // reset variables (preparing for the next commented include statement)
+                                               // Reset variables (preparing for the next commented include statement)
                                        $fileContent = array();
                                        $fileName = NULL;
                                        $inIncludePart = FALSE;
@@ -716,7 +758,7 @@ class t3lib_TSparser {
                                                // t3lib_TSparser::checkIncludeLines inserts an additional empty line, remove this again
                                        $skipNextLineIfEmpty = TRUE;
                                } else {
-                                               // if this is not a ending commented include statement this line goes into the file content
+                                               // If this is not a ending commented include statement this line goes into the file content
                                        $fileContent[] = $line;
                                }
 
@@ -724,7 +766,7 @@ class t3lib_TSparser {
 
                }
 
-                       // if we're still inside commented include statements copy the lines back to the rest content
+                       // If we're still inside commented include statements copy the lines back to the rest content
                if ($inIncludePart) {
                        $restContent[] = $openingCommentedIncludeStatement . ' ### Warning: Corresponding end line missing! ###';
                        $restContent = array_merge($restContent, $fileContent);
@@ -737,9 +779,8 @@ class t3lib_TSparser {
        /**
         * Processes the string in each value of the input array with extractIncludes
         *
-        * @param       array           Array with TypoScript in each value
-        * @return      array           Same array but where the values has been processed with extractIncludes
-        * @author       Fabrizio Branca <typo3@fabrizio-branca.de>
+        * @param array $array Array with TypoScript in each value
+        * @return array Same array but where the values has been processed with extractIncludes
         */
        public static function extractIncludes_array($array) {
                foreach ($array as $k => $v) {
@@ -748,7 +789,6 @@ class t3lib_TSparser {
                return $array;
        }
 
-
        /**********************************
         *
         * Syntax highlighting
@@ -759,16 +799,17 @@ class t3lib_TSparser {
         * Syntax highlight a TypoScript text
         * Will parse the content. Remember, the internal setup array may contain invalid parsed content since conditions are ignored!
         *
-        * @param       string          The TypoScript text
-        * @param       mixed           If blank, linenumbers are NOT printed. If array then the first key is the linenumber offset to add to the internal counter.
-        * @param       boolean         If set, then the highlighted output will be formatted in blocks based on the brace levels. prespace will be ignored and empty lines represented with a single no-break-space.
-        * @return      string          HTML code for the syntax highlighted string
+        * @param string $string The TypoScript text
+        * @param mixed $lineNum If blank, linenumbers are NOT printed. If array then the first key is the linenumber offset to add to the internal counter.
+        * @param boolean $highlightBlockMode If set, then the highlighted output will be formatted in blocks based on the brace levels. prespace will be ignored and empty lines represented with a single no-break-space.
+        * @return string HTML code for the syntax highlighted string
         */
        function doSyntaxHighlight($string, $lineNum = '', $highlightBlockMode = 0) {
                $this->syntaxHighLight = 1;
                $this->highLightData = array();
                $this->error = array();
-               $string = str_replace(CR, '', $string); // This is done in order to prevent empty <span>..</span> sections around CR content. Should not do anything but help lessen the amount of HTML code.
+                       // This is done in order to prevent empty <span>..</span> sections around CR content. Should not do anything but help lessen the amount of HTML code.
+               $string = str_replace(CR, '', $string);
 
                $this->parse($string);
 
@@ -778,10 +819,10 @@ class t3lib_TSparser {
        /**
         * Registers a part of a TypoScript line for syntax highlighting.
         *
-        * @param       string          Key from the internal array $this->highLightStyles
-        * @param       integer         Pointer to the line in $this->raw which this is about
-        * @param       integer         The number of chars LEFT on this line before the end is reached.
-        * @return      void
+        * @param string $code Key from the internal array $this->highLightStyles
+        * @param integer $pointer Pointer to the line in $this->raw which this is about
+        * @param integer $strlen The number of chars LEFT on this line before the end is reached.
+        * @return void
         * @access private
         * @see parse()
         */
@@ -797,9 +838,9 @@ class t3lib_TSparser {
        /**
         * Formatting the TypoScript code in $this->raw based on the data collected by $this->regHighLight in $this->highLightData
         *
-        * @param       mixed           If blank, linenumbers are NOT printed. If array then the first key is the linenumber offset to add to the internal counter.
-        * @param       boolean         If set, then the highlighted output will be formatted in blocks based on the brace levels. prespace will be ignored and empty lines represented with a single no-break-space.
-        * @return      string          HTML content
+        * @param mixed $lineNumDat If blank, linenumbers are NOT printed. If array then the first key is the linenumber offset to add to the internal counter.
+        * @param boolean $highlightBlockMode If set, then the highlighted output will be formatted in blocks based on the brace levels. prespace will be ignored and empty lines represented with a single no-break-space.
+        * @return string HTML content
         * @access private
         * @see doSyntaxHighlight()
         */
index f45847e..6b21ccb 100644 (file)
  *
  * Contains functions for the TS module in TYPO3 backend
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  */
 
-
 /**
  * TSParser extension class to t3lib_TStemplate
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage t3lib
  */
 class t3lib_tsparser_ext extends t3lib_TStemplate {
-
-       var $edit_divider = '###MOD_TS:EDITABLE_CONSTANTS###'; // This string is used to indicate the point in a template from where the editable constants are listed. Any vars before this point (if it exists though) is regarded as default values.
+               // This string is used to indicate the point in a template from where the editable constants are listed. Any vars before this point (if it exists though) is regarded as default values.
+       var $edit_divider = '###MOD_TS:EDITABLE_CONSTANTS###';
        var $HTMLcolorList = 'aqua,beige,black,blue,brown,fuchsia,gold,gray,green,lime,maroon,navy,olive,orange,purple,red,silver,tan,teal,turquoise,yellow,white';
 
                // internal
@@ -89,10 +88,10 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
 
        var $backend_info = 1;
 
-               // tsconstanteditor
+               // Tsconstanteditor
        var $ext_inBrace = 0;
 
-               // tsbrowser
+               // Tsbrowser
        var $tsbrowser_searchKeys = array();
        var $tsbrowser_depthKeys = array();
        var $constantMode = '';
@@ -107,14 +106,15 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
        var $ext_noSpecialCharsOnLabels = 0;
        var $ext_listOfTemplatesArr = array();
        var $ext_lineNumberOffset_mode = '';
-       var $ext_dontCheckIssetValues = 0; // Dont change...
+               // Dont change...
+       var $ext_dontCheckIssetValues = 0;
        var $ext_noCEUploadAndCopying = 0;
        var $ext_printAll = 0;
        var $ext_CEformName = 'forms[0]';
        var $ext_defaultOnlineResourceFlag = 0;
        var $doNotSortCategoriesBeforeMakingForm = FALSE;
 
-               // ts analyzer
+               // Ts analyzer
        var $templateTitles = array();
 
 
@@ -129,9 +129,11 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
         */
        function flattenSetup($setupArray, $prefix, $resourceFlag) {
                if (is_array($setupArray)) {
-                       $this->getFileName_backPath = PATH_site; // Setting absolute prefixed path for relative resources.
+                               // Setting absolute prefixed path for relative resources.
+                       $this->getFileName_backPath = PATH_site;
                        foreach ($setupArray as $key => $val) {
-                               if ($prefix || substr($key, 0, 16) != 'TSConstantEditor') { // We don't want 'TSConstantEditor' in the flattend setup.
+                                       // We don't want 'TSConstantEditor' in the flattend setup.
+                               if ($prefix || substr($key, 0, 16) != 'TSConstantEditor') {
                                        if (is_array($val)) {
                                                $this->flattenSetup($val, $prefix . $key, ($key == 'file.'));
                                        } elseif ($resourceFlag && $this->resourceCheck) {
@@ -163,8 +165,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
        /**
         * Call back method for preg_replace_callback in substituteConstants
         *
-        * @param       array           Regular expression matches
-        * @return      string          Replacement
+        * @param array $matches Regular expression matches
+        * @return string Replacement
         * @see substituteConstants()
         */
        function substituteConstantsCallBack($matches) {
@@ -225,15 +227,17 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                $this->setup['resources'] = $this->resources;
                $this->setup['sitetitle'] = $this->sitetitle;
 
-                       // parse constants
+                       // Parse constants
                $constants = t3lib_div::makeInstance('t3lib_TSparser');
-               $constants->regComments = 1; // Register comments!
+                       // Register comments!
+               $constants->regComments = 1;
                $constants->setup = $this->const;
                $constants->setup = $this->mergeConstantsFromPageTSconfig($constants->setup);
 
-               /* @var $matchObj t3lib_matchCondition_frontend */
+               /** @var $matchObj t3lib_matchCondition_frontend */
                $matchObj = t3lib_div::makeInstance('t3lib_matchCondition_frontend');
-               $matchObj->setSimulateMatchResult(TRUE); // Matches ALL conditions in TypoScript
+                       // Matches ALL conditions in TypoScript
+               $matchObj->setSimulateMatchResult(TRUE);
 
                $c = 0;
                $cc = count($this->constants);
@@ -291,7 +295,7 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
         * @param       [type]          $depthData: ...
         * @param       [type]          $parentType: ...
         * @param       [type]          $parentValue: ...
-        * @param       boolean         $alphaSort sorts the array keys / tree by alphabet when set to 1
+        * @param boolean $alphaSort sorts the array keys / tree by alphabet when set to 1
         * @return      [type]          ...
         */
        function ext_getObjTree($arr, $depth_in, $depthData, $parentType = '', $parentValue = '', $alphaSort = '0') {
@@ -304,7 +308,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                $keyArr_num = array();
                $keyArr_alpha = array();
                foreach ($arr as $key => $value) {
-                       if (substr($key, -2) != '..') { // Don't do anything with comments / linenumber registrations...
+                               // Don't do anything with comments / linenumber registrations...
+                       if (substr($key, -2) != '..') {
                                $key = preg_replace('/\.$/', '', $key);
                                if (substr($key, -1) != '.') {
                                        if (t3lib_utility_Math::canBeInterpretedAsInteger($key)) {
@@ -325,7 +330,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                foreach ($keyArr as $key => $value) {
                        $a++;
                        $depth = $depth_in . $key;
-                       if ($this->bType != 'const' || substr($depth, 0, 1) != '_') { // this excludes all constants starting with '_' from being shown.
+                               // This excludes all constants starting with '_' from being shown.
+                       if ($this->bType != 'const' || substr($depth, 0, 1) != '_') {
                                $goto = substr(md5($depth), 0, 6);
                                $deeper = (is_array($arr[$key . '.']) && ($this->tsbrowser_depthKeys[$depth] || $this->ext_expandAllNotes)) ? 1 : 0;
                                $PM = 'join';
@@ -346,7 +352,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                                }
 
                                $label = $key;
-                               if (t3lib_div::inList('types,resources,sitetitle', $depth) && $this->bType == 'setup') { // Read only...
+                                       // Read only...
+                               if (t3lib_div::inList('types,resources,sitetitle', $depth) && $this->bType == 'setup') {
                                        $label = '<font color="#666666">' . $label . '</font>';
                                } else {
                                        if ($this->linkObjects) {
@@ -375,18 +382,24 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                                                $lgdChars = 68 - ceil(strlen('[' . $key . ']') * 0.8) - $imgBlocks * 3;
                                                $theValue = $this->ext_fixed_lgd($theValue, $lgdChars);
                                        }
-                                       if ($this->tsbrowser_searchKeys[$depth] & 2) { // The value has matched the search string
+                                               // The value has matched the search string
+                                       if ($this->tsbrowser_searchKeys[$depth] & 2) {
                                                $HTML .= '&nbsp;=&nbsp;<strong><font color="red">' . $this->makeHtmlspecialchars($theValue) . '</font></strong>';
                                        } else {
                                                $HTML .= '&nbsp;=&nbsp;<strong>' . $this->makeHtmlspecialchars($theValue) . '</strong>';
                                        }
                                        if ($this->ext_regComments && isset($arr[$key . '..'])) {
                                                $comment = $arr[$key . '..'];
-                                               if (!preg_match('/### <INCLUDE_TYPOSCRIPT:.*/', $comment)) { // Skip INCLUDE_TYPOSCRIPT comments, they are almost useless
-                                                       $comment = preg_replace('/[\r\n]/', ' ', $comment); // Remove linebreaks, replace with ' '
-                                                       $comment = preg_replace('/[#\*]{2,}/', '', $comment); // Remove # and * if more than twice in a row
-                                                       $comment = preg_replace('/^[#\*\s]+/', '# ', $comment); // Replace leading # (just if it exists) and add it again. Result: Every comment should be prefixed by a '#'.
-                                                       $comment = $this->makeHtmlspecialchars($comment); // Masking HTML Tags: Replace < with &lt; and > with &gt;
+                                                       // Skip INCLUDE_TYPOSCRIPT comments, they are almost useless
+                                               if (!preg_match('/### <INCLUDE_TYPOSCRIPT:.*/', $comment)) {
+                                                               // Remove linebreaks, replace with ' '
+                                                       $comment = preg_replace('/[\r\n]/', ' ', $comment);
+                                                               // Remove # and * if more than twice in a row
+                                                       $comment = preg_replace('/[#\*]{2,}/', '', $comment);
+                                                               // Replace leading # (just if it exists) and add it again. Result: Every comment should be prefixed by a '#'.
+                                                       $comment = preg_replace('/^[#\*\s]+/', '# ', $comment);
+                                                               // Masking HTML Tags: Replace < with &lt; and > with &gt;
+                                                       $comment = $this->makeHtmlspecialchars($comment);
                                                        $HTML .= ' <span class="comment">' . trim($comment) . '</span>';
                                                }
                                        }
@@ -398,7 +411,7 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                                                $arr[$key . '.'],
                                                $depth,
                                                $depthData . '<img src="' . $GLOBALS['BACK_PATH'] . 'gfx/ol/' . $LN . '.gif" width="18" height="16" align="top" alt="" />',
-                                               '' /* not used: $validate_info[$key] */,
+                                               '', // not used: $validate_info[$key]
                                                $arr[$key],
                                                $alphaSort
                                        );
@@ -475,23 +488,29 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                        $deeper = is_array($arr[$key . '.']);
 
                        if ($this->regexMode) {
-                               if (preg_match('/' . $searchString . '/', $arr[$key])) { // The value has matched
+                                       // The value has matched
+                               if (preg_match('/' . $searchString . '/', $arr[$key])) {
                                        $this->tsbrowser_searchKeys[$depth] += 2;
                                }
-                               if (preg_match('/' . $searchString . '/', $key)) { // The key has matched
+                                       // The key has matched
+                               if (preg_match('/' . $searchString . '/', $key)) {
                                        $this->tsbrowser_searchKeys[$depth] += 4;
                                }
-                               if (preg_match('/' . $searchString . '/', $depth_in)) { // Just open this subtree if the parent key has matched the search
+                                       // Just open this subtree if the parent key has matched the search
+                               if (preg_match('/' . $searchString . '/', $depth_in)) {
                                        $this->tsbrowser_searchKeys[$depth] = 1;
                                }
                        } else {
-                               if (stristr($arr[$key], $searchString)) { // The value has matched
+                                       // The value has matched
+                               if (stristr($arr[$key], $searchString)) {
                                        $this->tsbrowser_searchKeys[$depth] += 2;
                                }
-                               if (stristr($key, $searchString)) { // The key has matches
+                                       // The key has matches
+                               if (stristr($key, $searchString)) {
                                        $this->tsbrowser_searchKeys[$depth] += 4;
                                }
-                               if (stristr($depth_in, $searchString)) { // Just open this subtree if the parent key has matched the search
+                                       // Just open this subtree if the parent key has matched the search
+                               if (stristr($depth_in, $searchString)) {
                                        $this->tsbrowser_searchKeys[$depth] = 1;
                                }
                        }
@@ -748,7 +767,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                        $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
                        t3lib_BEfunc::workspaceOL('sys_template', $row);
                        $GLOBALS['TYPO3_DB']->sql_free_result($res);
-                       return $row; // Returns the template row if found.
+                               // Returns the template row if found.
+                       return $row;
                }
        }
 
@@ -770,7 +790,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                                }
                        }
                        $GLOBALS['TYPO3_DB']->sql_free_result($res);
-                       return $outRes; // Returns the template rows in an array.
+                               // Returns the template rows in an array.
+                       return $outRes;
                }
        }
 
@@ -800,10 +821,11 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                                                                                $editableComments[$const]['type'] = trim($keyValPair[1]);
                                                                        break;
                                                                        case 'cat':
-                                                                                       // list of categories.
+                                                                                       // List of categories.
                                                                                $catSplit = explode('/', strtolower($keyValPair[1]));
                                                                                $editableComments[$const]['cat'] = trim($catSplit[0]);
-                                                                               $catSplit[1] = trim($catSplit[1]); // This is the subcategory. Must be a key in $this->subCategories[]. catSplit[2] represents the search-order within the subcat.
+                                                                                       // This is the subcategory. Must be a key in $this->subCategories[]. catSplit[2] represents the search-order within the subcat.
+                                                                               $catSplit[1] = trim($catSplit[1]);
                                                                                if ($catSplit[1] && isset($this->subCategories[$catSplit[1]])) {
                                                                                        $editableComments[$const]['subcat_name'] = $catSplit[1];
                                                                                        $editableComments[$const]['subcat'] = $this->subCategories[$catSplit[1]][1] . '/' .
@@ -813,11 +835,11 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                                                                                }
                                                                        break;
                                                                        case 'label':
-                                                                                       // label
+                                                                                       // Label
                                                                                $editableComments[$const]['label'] = trim($keyValPair[1]);
                                                                        break;
                                                                        case 'customsubcategory':
-                                                                                       // custom subCategory label
+                                                                                       // Custom subCategory label
                                                                                $customSubcategory = explode('=', $keyValPair[1], 2);
                                                                                if (trim($customSubcategory[0])) {
                                                                                        $subCategoryKey = strtolower($customSubcategory[0]);
@@ -854,7 +876,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                                $constData['type'] = 'string';
                        }
                        $cats = explode(',', $constData['cat']);
-                       foreach ($cats as $theCat) { // if = only one category, while allows for many. We have agreed on only one category is the most basic way...
+                               // if = only one category, while allows for many. We have agreed on only one category is the most basic way...
+                       foreach ($cats as $theCat) {
                                $theCat = trim($theCat);
                                if ($theCat) {
                                        $this->categories[$theCat][$constName] = $constData['subcat'];
@@ -1048,7 +1071,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                        if (is_object($d)) {
                                while ($entry = $d->read()) {
                                        if ($entry != '.' && $entry != '..') {
-                                               $wholePath = $path . '/' . $entry; // Because of odd PHP-error where  <BR>-tag is sometimes placed after a filename!!
+                                                       // Because of odd PHP-error where  <BR>-tag is sometimes placed after a filename!!
+                                               $wholePath = $path . '/' . $entry;
                                                if (file_exists($wholePath) && (!$type || filetype($wholePath) == $type)) {
                                                        $fI = t3lib_div::split_fileref($wholePath);
                                                        $this->dirResources[] = substr($wholePath, strlen(PATH_site));
@@ -1069,7 +1093,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
        function ext_fNandV($params) {
                $fN = 'data[' . $params['name'] . ']';
                $fV = $params['value'];
-               if (preg_match('/^{[\$][a-zA-Z0-9\.]*}$/', trim($fV), $reg)) { // Values entered from the constantsedit cannot be constants!    230502; removed \{ and set {
+                       // Values entered from the constantsedit cannot be constants!   230502; removed \{ and set {
+               if (preg_match('/^{[\$][a-zA-Z0-9\.]*}$/', trim($fV), $reg)) {
                        $fV = '';
                }
                $fV = htmlspecialchars($fV);
@@ -1354,7 +1379,7 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
 
                                        if (!$this->ext_dontCheckIssetValues) {
 
-                                               /* Set the default styling options */
+                                               // Set the default styling options
                                                if (isset($this->objReg[$params['name']])) {
                                                        $checkboxValue = 'checked';
                                                        $userTyposcriptStyle = '';
@@ -1415,7 +1440,6 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                return $output;
        }
 
-
        /***************************
         *
         * Processing input values
@@ -1432,7 +1456,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                $this->raw = explode(LF, $constants);
                $this->rawP = 0;
 
-               $this->objReg = array(); // resetting the objReg if the divider is found!!
+                       // Resetting the objReg if the divider is found!!
+               $this->objReg = array();
                $this->ext_regObjects('');
        }
 
@@ -1443,16 +1468,17 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
         * @return      [type]          ...
         */
        function ext_regObjects($pre) {
-                       // works with regObjectPositions. "expands" the names of the TypoScript objects
+                       // Works with regObjectPositions. "expands" the names of the TypoScript objects
                while (isset($this->raw[$this->rawP])) {
                        $line = ltrim($this->raw[$this->rawP]);
                        if (strstr($line, $this->edit_divider)) {
-                               $this->objReg = array(); // resetting the objReg if the divider is found!!
+                                       // Resetting the objReg if the divider is found!!
+                               $this->objReg = array();
                        }
                        $this->rawP++;
                        if ($line) {
                                if (substr($line, 0, 1) == '[') {
-                                       //                                      return $line;
+                                       // return $line;
                                } elseif (strcspn($line, '}#/') != 0) {
                                        $varL = strcspn($line, ' {=<');
                                        $var = substr($line, 0, $varL);
@@ -1572,8 +1598,10 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                if (is_array($data)) {
                        foreach ($data as $key => $var) {
                                if (isset($theConstants[$key])) {
-                                       if ($this->ext_dontCheckIssetValues || isset($check[$key])) { // If checkbox is set, update the value
-                                               list($var) = explode(LF, $var); // exploding with linebreak, just to make sure that no multiline input is given!
+                                               // If checkbox is set, update the value
+                                       if ($this->ext_dontCheckIssetValues || isset($check[$key])) {
+                                                       // Exploding with linebreak, just to make sure that no multiline input is given!
+                                               list($var) = explode(LF, $var);
                                                $typeDat = $this->ext_getTypeData($theConstants[$key]['type']);
                                                switch ($typeDat['type']) {
                                                        case 'int':
@@ -1666,9 +1694,11 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                                                        break;
                                                }
                                                if ($this->ext_printAll || strcmp($theConstants[$key]['value'], $var)) {
-                                                       $this->ext_putValueInConf($key, $var); // Put value in, if changed.
+                                                               // Put value in, if changed.
+                                                       $this->ext_putValueInConf($key, $var);
                                                }
-                                               unset($check[$key]); // Remove the entry because it has been "used"
+                                                       // Remove the entry because it has been "used"
+                                               unset($check[$key]);
                                        } else {
                                                $this->ext_removeValueInConf($key);
                                        }
@@ -1704,7 +1734,8 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                }
                $fI = t3lib_div::split_fileref($theRealFileName);
                if ($theRealFileName && (!$extList || t3lib_div::inList($extList, $fI['fileext']))) {
-                       $tmp_upload_name = t3lib_div::upload_to_tempfile($tmp_name); // If there is an uploaded file, move it.
+                               // If there is an uploaded file, move it.
+                       $tmp_upload_name = t3lib_div::upload_to_tempfile($tmp_name);
 
                                // Saving resource
                        $alternativeFileName = array();
index 2ca5d65..3c03883 100644 (file)
@@ -28,7 +28,7 @@
 /**
  * A TS-Config parsing class which performs condition evaluation
  *
- * @author     Kraft Bernhard <kraftb@kraftb.at>
+ * @author Kraft Bernhard <kraftb@kraftb.at>
  */
 
 class t3lib_TSparser_TSconfig extends t3lib_TSparser {
@@ -40,11 +40,11 @@ class t3lib_TSparser_TSconfig extends t3lib_TSparser {
        /**
         * Parses the passed TS-Config using conditions and caching
         *
-        * @param       string          $TStext: The TSConfig being parsed
-        * @param       string          $type: The type of TSConfig (either "userTS" or "PAGES")
-        * @param       integer         $id: The uid of the page being handled
-        * @param       array           $rootLine: The rootline of the page being handled
-        * @return      array           Array containing the parsed TSConfig and a flag wheter the content was retrieved from cache
+        * @param string $TStext The TSConfig being parsed
+        * @param string $type The type of TSConfig (either "userTS" or "PAGES")
+        * @param integer $id The uid of the page being handled
+        * @param array $rootLine The rootline of the page being handled
+        * @return array Array containing the parsed TSConfig and a flag wheter the content was retrieved from cache
         * @see t3lib_TSparser
         */
        public function parseTSconfig($TStext, $type, $id = 0, array $rootLine = array()) {
@@ -102,11 +102,11 @@ class t3lib_TSparser_TSconfig extends t3lib_TSparser {
        /**
         * Does the actual parsing using the parent objects "parse" method. Creates the match-Object
         *
-        * @param       string          $TSconfig: The TSConfig being parsed
-        * @return      array           Array containing the parsed TSConfig, the encountered sectiosn, the matched sections
+        * @param string $TSconfig The TSConfig being parsed
+        * @return array Array containing the parsed TSConfig, the encountered sectiosn, the matched sections
         */
        protected function parseWithConditions($TSconfig) {
-               /* @var $matchObj t3lib_matchCondition_backend */
+               /** @var $matchObj t3lib_matchCondition_backend */
                $matchObj = t3lib_div::makeInstance('t3lib_matchCondition_backend');
                $matchObj->setRootline($this->rootLine);
                $matchObj->setPageId($this->id);
@@ -126,12 +126,12 @@ class t3lib_TSparser_TSconfig extends t3lib_TSparser {
        /**
         * Is just going through an array of conditions to determine which are matching (for getting correct cache entry)
         *
-        * @param       array           $cc: An array containing the sections to match
-        * @return      array           The input array with matching sections filled into the "match" key
+        * @param array $cc An array containing the sections to match
+        * @return array The input array with matching sections filled into the "match" key
         */
        protected function matching(array $cc) {
                if (is_array($cc['sections'])) {
-                       /* @var $matchObj t3lib_matchCondition_backend */
+                       /** @var $matchObj t3lib_matchCondition_backend */
                        $matchObj = t3lib_div::makeInstance('t3lib_matchCondition_backend');
                        $matchObj->setRootline($this->rootLine);
                        $matchObj->setPageId($this->id);
index 5dd78f4..e638390 100644 (file)
 /**
  * Provides a simplified layer for making Constant Editor style configuration forms
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  */
 
-
 /**
  * Provides a simplified layer for making Constant Editor style configuration forms
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage t3lib
  */
 class t3lib_tsStyleConfig extends t3lib_tsparser_ext {
-               // internal
+               // Internal
        var $categories = array();
        var $ext_dontCheckIssetValues = 1;
        var $ext_CEformName = "tsStyleConfigForm";
@@ -51,17 +50,19 @@ class t3lib_tsStyleConfig extends t3lib_tsparser_ext {
 
 
        /**
-        * @param       string          pathRel is the path relative to the typo3/ directory
-        * @param       string          pathAbs is the absolute path from root
-        * @param       string          backPath is the backReference from current position to typo3/ dir
-        * @param       [type]          $backPath: ...
+        * @param string $configTemplate
+        * @param string $pathRel PathRel is the path relative to the typo3/ directory
+        * @param string $pathAbs PathAbs is the absolute path from root
+        * @param string $backPath BackPath is the backReference from current position to typo3/ dir
         * @return      [type]          ...
         */
        function ext_initTSstyleConfig($configTemplate, $pathRel, $pathAbs, $backPath) {
-               $this->tt_track = 0; // Do not log time-performance information
-               $this->constants = array($configTemplate, "");
+                       // Do not log time-performance information
+               $this->tt_track = 0;
+               $this->constants = array($configTemplate, '');
 
-               $theConstants = $this->generateConfig_constants(); // The editable constants are returned in an array.
+                       // The editable constants are returned in an array.
+               $theConstants = $this->generateConfig_constants();
 
                $this->ext_localGfxPrefix = $pathAbs;
                $this->ext_localWebGfxPrefix = $backPath . $pathRel;
@@ -81,7 +82,7 @@ class t3lib_tsStyleConfig extends t3lib_tsparser_ext {
 
                $temp = $this->flatSetup;
                $this->flatSetup = array();
-               $this->flattenSetup($valueArray, "", "");
+               $this->flattenSetup($valueArray, '', '');
                $this->objReg = $this->ext_realValues = $this->flatSetup;
                $this->flatSetup = $temp;
 
@@ -92,8 +93,10 @@ class t3lib_tsStyleConfig extends t3lib_tsparser_ext {
                        }
                }
 
-               $this->categories = array(); // Reset the default pool of categories.
-               $this->ext_categorizeEditableConstants($theConstants); // The returned constants are sorted in categories, that goes into the $this->categories array
+                       // Reset the default pool of categories.
+               $this->categories = array();
+                       // The returned constants are sorted in categories, that goes into the $this->categories array
+               $this->ext_categorizeEditableConstants($theConstants);
 
                return $theConstants;
        }
@@ -120,13 +123,13 @@ class t3lib_tsStyleConfig extends t3lib_tsparser_ext {
        /**
         * Get the form for extension configuration
         *
-        * @param  string  $cat
-        * @param  array $theConstants
-        * @param  string  $script
-        * @param  string $addFields
-        * @param  string $extKey
-        * @param  bool  Adds opening <form> tag to the ouput, if TRUE
-        * @return  string the form
+        * @param string $cat
+        * @param array $theConstants
+        * @param string $script
+        * @param string $addFields
+        * @param string $extKey
+        * @param boolean Adds opening <form> tag to the ouput, if TRUE
+        * @return string The form
         */
        function ext_getForm($cat, $theConstants, $script = "", $addFields = "", $extKey = "", $addFormTag = TRUE) {
                $this->ext_makeHelpInformationForCategory($cat);
@@ -180,7 +183,7 @@ class t3lib_tsStyleConfig extends t3lib_tsparser_ext {
                return t3lib_div::array_merge_recursive_overrule($arr, $arr2);
        }
 
-               // extends:
+               // Extends:
        function ext_getKeyImage($key) {
                return '<img' . t3lib_iconWorks::skinImg($this->ext_backPath, 'gfx/rednumbers/' . $key . '.gif', '') . ' hspace="2" align="top" alt="" />';
        }
@@ -208,7 +211,8 @@ class t3lib_tsStyleConfig extends t3lib_tsparser_ext {
                $fN = 'data[' . $params["name"] . ']';
                $fV = $params["value"] = isset($this->ext_realValues[$params["name"]]) ? $this->ext_realValues[$params["name"]] : $params["default_value"];
                $reg = array();
-               if (preg_match('/^\{[\$][a-zA-Z0-9\.]*\}$/', trim($fV), $reg)) { // Values entered from the constantsedit cannot be constants!
+                       // Values entered from the constantsedit cannot be constants!
+               if (preg_match('/^\{[\$][a-zA-Z0-9\.]*\}$/', trim($fV), $reg)) {
                        $fV = "";
                }
                $fV = htmlspecialchars($fV);
index f58f45b..d27d714 100644 (file)
  *
  * Revised for TYPO3 3.6 July/2003 by Kasper Skårhøj
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  */
 
-
 /**
  * Template object that is responsible for generating the TypoScript template based on template records.
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage t3lib
  * @see        t3lib_tsparser, t3lib_matchcondition_abstract
 class t3lib_TStemplate {
 
                // Debugging, analysis:
-       var $tt_track = 1; // If set, the global tt-timeobject is used to log the performance.
-       var $forceTemplateParsing = 0; // If set, the template is always rendered. Used from Admin Panel.
+               // If set, the global tt-timeobject is used to log the performance.
+       var $tt_track = 1;
+               // If set, the template is always rendered. Used from Admin Panel.
+       var $forceTemplateParsing = 0;
 
                // Backend Analysis modules settings:
-       var $matchAlternative = array(); // This array is passed on to matchObj by generateConfig(). If it holds elements, they are used for matching instead. See commment at the match-class. Used for backend modules only. Never frontend!
-       var $matchAll = 0; // If set, the match-class matches everything! Used for backend modules only. Never frontend!
+               // This array is passed on to matchObj by generateConfig(). If it holds elements, they are used for matching instead. See commment at the match-class. Used for backend modules only. Never frontend!
+       var $matchAlternative = array();
+               // If set, the match-class matches everything! Used for backend modules only. Never frontend!
+       var $matchAll = 0;
        var $backend_info = 0;
-       var $getFileName_backPath = ''; // Set from the backend - used to set an absolute path (PATH_site) so that relative resources are properly found with getFileName()
+               // Set from the backend - used to set an absolute path (PATH_site) so that relative resources are properly found with getFileName()
+       var $getFileName_backPath = '';
 
                // Externally set breakpoints (used by Backend Modules)
        var $ext_constants_BRP = 0;
@@ -65,13 +69,18 @@ class t3lib_TStemplate {
        var $menuclasses = 'gmenu,tmenu,imgmenu,jsmenu';
 
                // Set Internally:
-       var $whereClause = ''; // This MUST be initialized by the init() function
+               // This MUST be initialized by the init() function
+       var $whereClause = '';
        var $debug = 0;
-       var $allowedPaths = array(); // This is the only paths (relative!!) that are allowed for resources in TypoScript. Should all be appended with '/'. You can extend these by the global array TYPO3_CONF_VARS. See init() function.
-       var $simulationHiddenOrTime = 0; // See init(); Set if preview of some kind is enabled.
-
-       var $loaded = 0; // Set, if the TypoScript template structure is loaded and OK, see ->start()
-       var $setup = array( // Default TypoScript Setup code
+               // This is the only paths (relative!!) that are allowed for resources in TypoScript. Should all be appended with '/'. You can extend these by the global array TYPO3_CONF_VARS. See init() function.
+       var $allowedPaths = array();
+               // See init(); Set if preview of some kind is enabled.
+       var $simulationHiddenOrTime = 0;
+               // Set, if the TypoScript template structure is loaded and OK, see ->start()
+       var $loaded = 0;
+
+               // Default TypoScript Setup code
+       var $setup = array(
                'styles.' => array(
                        'insertContent' => 'CONTENT',
                        'insertContent.' => array(
@@ -90,9 +99,10 @@ class t3lib_TStemplate {
                        'uniqueLinkVars' => 1
                )
        );
-       var $flatSetup = array(
-       );
-       var $const = array( // Default TypoScript Constants code:
+       var $flatSetup = array();
+
+               // Default TypoScript Constants code:
+       var $const = array(
                '_clear' => '<img src="clear.gif" width="1" height="1" alt="" />',
                '_blackBorderWrap' => '<table border="0" bgcolor="black" cellspacing="0" cellpadding="1"><tr><td> | </td></tr></table>',
                '_tableWrap' => '<table border="0" cellspacing="0" cellpadding="0"> | </table>',
@@ -103,22 +113,34 @@ class t3lib_TStemplate {
 
 
                // For fetching TypoScript code from template hierarchy before parsing it. Each array contains code field values from template records/files:
-       var $config = array(); // Setup field
-       var $constants = array(); // Constant field
-
-       var $hierarchyInfo = array(); // For Template Analyser in backend
-       var $hierarchyInfoToRoot = array(); // For Template Analyser in backend (setup content only)
-       var $nextLevel = 0; // Next-level flag (see runThroughTemplates())
-       var $rootId; // The Page UID of the root page
-       var $rootLine; // The rootline from current page to the root page
-       var $absoluteRootLine; // Rootline all the way to the root. Set but runThroughTemplates
-       var $outermostRootlineIndexWithTemplate = 0; // A pointer to the last entry in the rootline where a template was found.
-       var $rowSum; // Array of arrays with title/uid of templates in hierarchy
-       var $resources = ''; // Resources for the template hierarchy in a comma list
-       var $sitetitle = ''; // The current site title field.
-       var $sections; // Tracking all conditions found during parsing of TypoScript. Used for the "all" key in currentPageData
-       var $sectionsMatch; // Tracking all matching conditions found
-
+               // Setup field
+       var $config = array();
+               // Constant field
+       var $constants = array();
+               // For Template Analyser in backend
+       var $hierarchyInfo = array();
+               // For Template Analyser in backend (setup content only)
+       var $hierarchyInfoToRoot = array();
+               // Next-level flag (see runThroughTemplates())
+       var $nextLevel = 0;
+               // The Page UID of the root page
+       var $rootId;
+               // The rootline from current page to the root page
+       var $rootLine;
+               // Rootline all the way to the root. Set but runThroughTemplates
+       var $absoluteRootLine;
+               // A pointer to the last entry in the rootline where a template was found.
+       var $outermostRootlineIndexWithTemplate = 0;
+               // Array of arrays with title/uid of templates in hierarchy
+       var $rowSum;
+               // Resources for the template hierarchy in a comma list
+       var $resources = '';
+               // The current site title field.
+       var $sitetitle = '';
+               // Tracking all conditions found during parsing of TypoScript. Used for the "all" key in currentPageData
+       var $sections;
+               // Tracking all matching conditions found
+       var $sectionsMatch;
                // Backend: ts_analyzer
        var $clearList_const = array();
        var $clearList_setup = array();
@@ -126,9 +148,12 @@ class t3lib_TStemplate {
        var $setup_constants = array();
 
                // Other:
-       var $fileCache = array(); // Used by getFileName for caching of references to file resources
-       var $frames = array(); // Keys are frame names and values are type-values, which must be used to refer correctly to the content of the frames.
-       var $MPmap = ''; // Contains mapping of Page id numbers to MP variables.
+               // Used by getFileName for caching of references to file resources
+       var $fileCache = array();
+               // Keys are frame names and values are type-values, which must be used to refer correctly to the content of the frames.
+       var $frames = array();
+               // Contains mapping of Page id numbers to MP variables.
+       var $MPmap = '';
 
 
        /**
@@ -168,7 +193,7 @@ class t3lib_TStemplate {
                if ($GLOBALS['TYPO3_CONF_VARS']['FE']['addAllowedPaths']) {
                        $pathArr = t3lib_div::trimExplode(',', $GLOBALS['TYPO3_CONF_VARS']['FE']['addAllowedPaths'], TRUE);
                        foreach ($pathArr as $p) {
-                               // Once checked for path, but as this may run from typo3/mod/web/ts/ dir, that'll not work!! So the paths ar uncritically included here.
+                                       // Once checked for path, but as this may run from typo3/mod/web/ts/ dir, that'll not work!! So the paths ar uncritically included here.
                                $this->allowedPaths[] = $p;
                        }
                }
@@ -206,7 +231,7 @@ class t3lib_TStemplate {
         */
        function matching($cc) {
                if (is_array($cc['all'])) {
-                       /* @var $matchObj t3lib_matchCondition_frontend */
+                       /** @var $matchObj t3lib_matchCondition_frontend */
                        $matchObj = t3lib_div::makeInstance('t3lib_matchCondition_frontend');
                        $matchObj->setRootline((array) $cc['rootLine']);
                        foreach ($cc['all'] as $key => $pre) {
@@ -296,8 +321,10 @@ class t3lib_TStemplate {
 
                                        // This stores the template hash thing
                                $cc = array();
-                               $cc['all'] = $this->sections; // All sections in the template at this point is found
-                               $cc['rowSum'] = $this->rowSum; // The line of templates is collected
+                                       // All sections in the template at this point is found
+                               $cc['all'] = $this->sections;
+                                       // The line of templates is collected
+                               $cc['rowSum'] = $this->rowSum;
                                $cc = $this->matching($cc);
                                ksort($cc);
 
@@ -343,7 +370,6 @@ class t3lib_TStemplate {
                }
        }
 
-
        /*******************************************************************
         *
         * Fetching TypoScript code text for the Template Hierarchy
@@ -365,12 +391,14 @@ class t3lib_TStemplate {
                $this->config = array();
                $this->rowSum = array();
                $this->hierarchyInfoToRoot = array();
-               $this->absoluteRootLine = $theRootLine; // Is the TOTAL rootline
+                       // Is the TOTAL rootline
+               $this->absoluteRootLine = $theRootLine;
 
                reset($this->absoluteRootLine);
                $c = count($this->absoluteRootLine);
                for ($a = 0; $a < $c; $a++) {
-                       if ($this->nextLevel) { // If some template loaded before has set a template-id for the next level, then load this template first!
+                               // If some template loaded before has set a template-id for the next level, then load this template first!
+                       if ($this->nextLevel) {
                                $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'sys_template', 'uid=' . intval($this->nextLevel) . ' ' . $this->whereClause);
                                $this->nextLevel = 0;
                                if ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
@@ -383,7 +411,8 @@ class t3lib_TStemplate {
                                $GLOBALS['TYPO3_DB']->sql_free_result($res);
                        }
                        $addC = '';
-                       if ($a == ($c - 1) && $start_template_uid) { // If first loop AND there is set an alternative template uid, use that
+                               // If first loop AND there is set an alternative template uid, use that
+                       if ($a == ($c - 1) && $start_template_uid) {
                                $addC = ' AND uid=' . intval($start_template_uid);
                        }
 
@@ -439,16 +468,19 @@ class t3lib_TStemplate {
                }
 
                        // Include "Based On" sys_templates:
-               if (trim($row['basedOn'])) { // 'basedOn' is a list of templates to include
+                       // 'basedOn' is a list of templates to include
+               if (trim($row['basedOn'])) {
                                // Manually you can put this value in the field and then the based_on ID will be taken from the $_GET var defined by '=....'.
                                // Example: If $row['basedOn'] is 'EXTERNAL_BASED_ON_TEMPLATE_ID=based_on_uid', then the global var, based_on_uid - given by the URL like '&based_on_uid=999' - is included instead!
                                // This feature allows us a hack to test/demonstrate various included templates on the same set of content bearing pages. Used by the "freesite" extension.
                        $basedOn_hackFeature = explode('=', $row['basedOn']);
                        if ($basedOn_hackFeature[0] == 'EXTERNAL_BASED_ON_TEMPLATE_ID' && $basedOn_hackFeature[1]) {
                                $id = intval(t3lib_div::_GET($basedOn_hackFeature[1]));
-                               if ($id && !t3lib_div::inList($idList, 'sys_' . $id)) { // if $id is not allready included ...
+                                       // If $id is not allready included ...
+                               if ($id && !t3lib_div::inList($idList, 'sys_' . $id)) {
                                        $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'sys_template', 'uid=' . $id . ' ' . $this->whereClause);
-                                       if ($subrow = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { // there was a template, then we fetch that
+                                               // there was a template, then we fetch that
+                                       if ($subrow = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
                                                $this->versionOL($subrow);
                                                if (is_array($subrow)) {
                                                        $this->processTemplate($subrow, $idList . ',sys_' . $id, $pid, 'sys_' . $id, $templateID);
@@ -475,7 +507,7 @@ class t3lib_TStemplate {
                                        'uid' // the associative array that is returned will contain this field as key
                                );
 
-                                       // traversing list again to ensure the sorting of the templates
+                                       // Traversing list again to ensure the sorting of the templates
                                foreach ($basedOnIds as $id) {
                                        if (is_array($subTemplates[$id])) {
                                                $this->versionOL($subTemplates[$id]);
@@ -565,7 +597,8 @@ class t3lib_TStemplate {
                        // Static Template Files (Text files from extensions): include_static_file is a list of static files to include (from extensions)
                if (trim($row['include_static_file'])) {
                        $include_static_fileArr = t3lib_div::trimExplode(',', $row['include_static_file'], TRUE);
-                       foreach ($include_static_fileArr as $ISF_file) { // traversing list
+                               // Traversing list
+                       foreach ($include_static_fileArr as $ISF_file) {
                                if (substr($ISF_file, 0, 4) == 'EXT:') {
                                        list($ISF_extKey, $ISF_localPath) = explode('/', substr($ISF_file, 4), 2);
                                        if (strcmp($ISF_extKey, '') && t3lib_extMgm::isLoaded($ISF_extKey) && strcmp($ISF_localPath, '')) {
@@ -661,14 +694,14 @@ class t3lib_TStemplate {
         * @return void
         */
        function versionOL(&$row) {
-               if (TYPO3_MODE === 'FE') { // Frontend:
+                       // Frontend:
+               if (TYPO3_MODE === 'FE') {
                        $GLOBALS['TSFE']->sys_page->versionOL('sys_template', $row);
                } else { // Backend:
                        t3lib_BEfunc::workspaceOL('sys_template', $row);
                }
        }
 
-
        /*******************************************************************
         *
         * Parsing TypoScript code text from Template Records into PHP array
@@ -700,13 +733,13 @@ class t3lib_TStemplate {
                        // ****************************
 
                        // Initialize parser and match-condition classes:
-                       /* @var $constants t3lib_TSparser */
+                       /** @var $constants t3lib_TSparser */
                $constants = t3lib_div::makeInstance('t3lib_TSparser');
                $constants->breakPointLN = intval($this->ext_constants_BRP);
                $constants->setup = $this->const;
                $constants->setup = $this->mergeConstantsFromPageTSconfig($constants->setup);
 
-                       /* @var $matchObj t3lib_matchCondition_frontend */
+                       /** @var $matchObj t3lib_matchCondition_frontend */
                $matchObj = t3lib_div::makeInstance('t3lib_matchCondition_frontend');
                $matchObj->setSimulateMatchConditions($this->matchAlternative);
                $matchObj->setSimulateMatchResult((bool) $this->matchAll);
@@ -728,7 +761,7 @@ class t3lib_TStemplate {
                        // Parse TypoScript Setup (here called "config")
                        // ***********************************************
                        // Initialize parser and match-condition classes:
-                       /* @var $config t3lib_TSparser */
+               /** @var $config t3lib_TSparser */
                $config = t3lib_div::makeInstance('t3lib_TSparser');
                $config->breakPointLN = intval($this->ext_config_BRP);
                $config->regLinenumbers = $this->ext_regLinenumbers;
@@ -782,7 +815,8 @@ class t3lib_TStemplate {
                        // Transfer the TypoScript array from the parser object to the internal $this->setup array:
                $this->setup = $config->setup;
                if ($this->backend_info) {
-                       $this->setup_constants = $constants->setup; // Used for backend purposes only
+                               // Used for backend purposes only
+                       $this->setup_constants = $constants->setup;
                }
 
                        // ****************************************************************
@@ -866,7 +900,8 @@ class t3lib_TStemplate {
         */
        function mergeConstantsFromPageTSconfig($constArray) {
                $TSdataArray = array();
-               $TSdataArray[] = $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig']; // Setting default configuration:
+                       // Setting default configuration:
+               $TSdataArray[] = $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'];
 
                for ($a = 0; $a <= $this->outermostRootlineIndexWithTemplate; $a++) {
                        $TSdataArray[] = $this->absoluteRootLine[$a]['TSconfig'];
@@ -875,7 +910,7 @@ class t3lib_TStemplate {
                $TSdataArray = t3lib_TSparser::checkIncludeLines_array($TSdataArray);
                $userTS = implode(LF . '[GLOBAL]' . LF, $TSdataArray);
 
-                       /* @var $parseObj t3lib_TSparser */
+                       /** @var $parseObj t3lib_TSparser */
                $parseObj = t3lib_div::makeInstance('t3lib_TSparser');
                $parseObj->parse($userTS);
 
@@ -923,7 +958,7 @@ class t3lib_TStemplate {
                }
 
                $noChange = FALSE;
-                       // recursive substitution of constants (up to 10 nested levels)
+                       // Recursive substitution of constants (up to 10 nested levels)
                for ($i = 0; $i < 10 && !$noChange; $i++) {
                        $old_all = $all;
                        $all = preg_replace_callback('/\{\$(.[^}]*)\}/', array($this, 'substituteConstantsCallBack'), $all);
@@ -943,11 +978,10 @@ class t3lib_TStemplate {
         * @see substituteConstants()
         */
        function substituteConstantsCallBack($matches) {
-                       // replace {$CONST} if found in $this->flatSetup, else leave unchanged
+                       // Replace {$CONST} if found in $this->flatSetup, else leave unchanged
                return isset($this->flatSetup[$matches[1]]) && !is_array($this->flatSetup[$matches[1]]) ? $this->flatSetup[$matches[1]] : $matches[0];
        }
 
-
        /*******************************************************************
         *
         * Various API functions, used from elsewhere in the frontend classes
@@ -1047,7 +1081,7 @@ class t3lib_TStemplate {
                        }
                        return;
                }
-                       // cache
+                       // Cache
                $hash = md5($file);
                if (isset($this->fileCache[$hash])) {
                        return $this->fileCache[$hash];
@@ -1074,9 +1108,9 @@ class t3lib_TStemplate {
                        return $file;
                }
 
-                       // find
+                       // Find
                if (strpos($file, '/') !== FALSE) {
-                               // if the file is in the media/ folder but it doesn't exist,
+                               // If the file is in the media/ folder but it doesn't exist,
                                // it is assumed that it's in the tslib folder
                        if (t3lib_div::isFirstPartOfStr($file, 'media/') && !is_file($this->getFileName_backPath . $file)) {
                                $file = t3lib_extMgm::siteRelPath('cms') . 'tslib/' . $file;
@@ -1258,7 +1292,6 @@ class t3lib_TStemplate {
                return FALSE;
        }
 
-
        /*******************************************************************
         *
         * Functions for creating links
@@ -1296,7 +1329,8 @@ class t3lib_TStemplate {
 
                        // Adding Mount Points, "&MP=", parameter for the current page if any is set:
                if (!strstr($addParams, '&MP=')) {
-                       if (trim($GLOBALS['TSFE']->MP_defaults[$page['uid']])) { // Looking for hardcoded defaults:
+                               // Looking for hardcoded defaults:
+                       if (trim($GLOBALS['TSFE']->MP_defaults[$page['uid']])) {
                                $addParams .= '&MP=' . rawurlencode(trim($GLOBALS['TSFE']->MP_defaults[$page['uid']]));
                        } elseif ($GLOBALS['TSFE']->config['config']['MP_mapRootPoints']) { // Else look in automatically created map:
                                $m = $this->getFromMPmap($page['uid']);
@@ -1331,7 +1365,8 @@ class t3lib_TStemplate {
                } else {
                        $LD['type'] = '';
                }
-               $LD['orig_type'] = $LD['type']; // Preserving the type number.
+                       // Preserving the type number.
+               $LD['orig_type'] = $LD['type'];
 
                        // noCache
                $LD['no_cache'] = (trim($page['no_cache']) || $no_cache) ? '&no_cache=1' : '';
@@ -1388,7 +1423,8 @@ class t3lib_TStemplate {
                        $this->MPmap = array();
 
                        $rootPoints = t3lib_div::trimExplode(',', strtolower($GLOBALS['TSFE']->config['config']['MP_mapRootPoints']), 1);
-                       foreach ($rootPoints as $p) { // Traverse rootpoints:
+                               // Traverse rootpoints:
+                       foreach ($rootPoints as $p) {
                                if ($p == 'root') {
                                        $p = $this->rootLine[0]['uid'];
                                        $initMParray = array();
@@ -1414,7 +1450,7 @@ class t3lib_TStemplate {
         * @param integer $id Root id from which to start map creation.
         * @param array $MP_array MP_array passed from root page.
         * @param integer $level Recursion brake. Incremented for each recursive call. 20 is the limit.
-        * @return      void
+        * @return void
         * @see getFromMPvar()
         */
        function initMPmap_create($id, $MP_array = array(), $level = 0) {
index 0f22c92..719467c 100644 (file)
  *
  * Revised for TYPO3 3.6 July/2003 by Kasper Skårhøj
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  */
 
-
 /**
  * XML class, Used to create XML output from input rows.
  * Doesn't contain a lot of advanced features - pretty straight forward, practical stuff
  * You are encouraged to use this class in your own applications.
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage t3lib
  * @see user_xmlversion, user_wapversion
  */
 class t3lib_xml {
-       var $topLevelName = 'typo3_test'; // Top element name
-       var $XML_recFields = array(); // Contains a list of fields for each table which should be presented in the XML output
+               // Top element name
+       var $topLevelName = 'typo3_test';
+               // Contains a list of fields for each table which should be presented in the XML output
+       var $XML_recFields = array();
 
        var $XMLIndent = 0;
        var $Icode = '';
        var $XMLdebug = 0;
-       var $includeNonEmptyValues = 0; // if set, all fields from records are rendered no matter their content. If not set, only 'true' (that is '' or zero) fields make it to the document.
+               // If set, all fields from records are rendered no matter their content. If not set, only 'true' (that is '' or zero) fields make it to the document.
+       var $includeNonEmptyValues = 0;
        var $lines = array();
 
        /**
         * Constructor, setting topLevelName to the input var
         *
-        * @param       string          Top Level Name
-        * @return      void
+        * @param string $topLevelName Top Level Name
+        * @return void
         */
        function __construct($topLevelName) {
                $this->topLevelName = $topLevelName;
@@ -66,9 +68,9 @@ class t3lib_xml {
        /**
         * When outputting a input record in XML only fields listed in $this->XML_recFields for the current table will be rendered.
         *
-        * @param       string          Table name
-        * @param       string          Commalist of fields names from the table, $table, which is supposed to be rendered in the XML output. If a field is not in this list, it is not rendered.
-        * @return      void
+        * @param string $table Table name
+        * @param string $list Commalist of fields names from the table, $table, which is supposed to be rendered in the XML output. If a field is not in this list, it is not rendered.
+        * @return void
         */
        function setRecFields($table, $list) {
                $this->XML_recFields[$table] = $list;
@@ -77,7 +79,7 @@ class t3lib_xml {
        /**
         * Returns the result of the XML rendering, basically this is imploding the internal ->lines array with linebreaks.
         *
-        * @return      string
+        * @return string
         */
        function getResult() {
                $content = implode(LF, $this->lines);
@@ -87,7 +89,7 @@ class t3lib_xml {
        /**
         * Initialize WML (WAP) document with <?xml + <!DOCTYPE header tags and setting ->topLevelName as the first level.
         *
-        * @return      void
+        * @return void
         */
        function WAPHeader() {
                $this->lines[] = '<?xml version="1.0"?>';
@@ -99,7 +101,7 @@ class t3lib_xml {
         * Initialize "anonymous" XML document with <?xml + <!DOCTYPE header tags and setting ->topLevelName as the first level.
         * Encoding is set to UTF-8!
         *
-        * @return      void
+        * @return void
         */
        function renderHeader() {
                $this->lines[] = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
@@ -110,7 +112,7 @@ class t3lib_xml {
        /**
         * Sets the footer (of ->topLevelName)
         *
-        * @return      void
+        * @return void
         */
        function renderFooter() {
                $this->newLevel($this->topLevelName, 0);
@@ -119,10 +121,10 @@ class t3lib_xml {
        /**
         * Indents/Outdents a new level named, $name
         *
-        * @param       string          The name of the new element for this level
-        * @param       boolean         If FALSE, then this function call will *end* the level, otherwise create it.
-        * @param       array           Array of attributes in key/value pairs which will be added to the element (tag), $name
-        * @return      void
+        * @param string $name The name of the new element for this level
+        * @param boolean $beginEndFlag If FALSE, then this function call will *end* the level, otherwise create it.
+        * @param array $params Array of attributes in key/value pairs which will be added to the element (tag), $name
+        * @return void
         */
        function newLevel($name, $beginEndFlag = 0, $params = array()) {
                if ($beginEndFlag) {
@@ -145,8 +147,8 @@ class t3lib_xml {
        /**
         * Function that will return the content from string $content. If the internal ->XMLdebug flag is set the content returned will be formatted in <pre>-tags
         *
-        * @param       string          The XML content to output
-        * @return      string          Output
+        * @param string The XML content to output
+        * @return string Output
         */
        function output($content) {
                if ($this->XMLdebug) {
@@ -161,8 +163,8 @@ class t3lib_xml {
         * Increments/Decrements Indentation counter, ->XMLIndent
         * Sets and returns ->Icode variable which is a line prefix consisting of a number of tab-chars corresponding to the indent-levels of the current posision (->XMLindent)
         *
-        * @param       boolean         If TRUE the XMLIndent var is increased, otherwise decreased
-        * @return      string          ->Icode - the prefix string with TAB-chars.
+        * @param boolean $b If TRUE the XMLIndent var is increased, otherwise decreased
+        * @return string ->Icode - the prefix string with TAB-chars.
         */
        function indent($b) {
                if ($b) {
@@ -180,9 +182,9 @@ class t3lib_xml {
        /**
         * Takes a SQL result for $table and traverses it, adding rows
         *
-        * @param       string          Tablename
-        * @param       pointer         SQL resource pointer, should be reset
-        * @return      void
+        * @param string $table Tablename
+        * @param pointer $res SQL resource pointer, should be reset
+        * @return void
         */
        function renderRecords($table, $res) {
                while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
@@ -193,9 +195,9 @@ class t3lib_xml {
        /**
         * Adds record, $row, from table, $table, to the internal array of XML-lines
         *
-        * @param       string          Table name
-        * @param       array           The row to add to XML structure from the table name
-        * @return      void
+        * @param string $table Table name
+        * @param array $row The row to add to XML structure from the table name
+        * @return void
         */
        function addRecord($table, $row) {
                $this->lines[] = $this->Icode . '<' . $table . ' uid="' . $row["uid"] . '">';
@@ -210,9 +212,9 @@ class t3lib_xml {
         * Notice that only fields from $table that are listed in $this->XML_recFields[$table] (set by setRecFields()) will be rendered (and in the order found in that array!)
         * Content from the row will be htmlspecialchar()'ed, UTF-8 encoded and have LF (newlines) exchanged for '<newline/>' tags. The element name for a value equals the fieldname from the record.
         *
-        * @param       string          Table name
-        * @param       array           Row from table to add.
-        * @return      void
+        * @param string $table Table name
+        * @param array $row Row from table to add.
+        * @return void
         * @access private
         */
        function getRowInXML($table, $row) {
@@ -227,8 +229,8 @@ class t3lib_xml {
        /**
         * UTF-8 encodes the input content (from ISO-8859-1!)
         *
-        * @param       string          String content to UTF-8 encode
-        * @return      string          Encoded content.
+        * @param string $content String content to UTF-8 encode
+        * @return string Encoded content.
         */
        function utf8($content) {
                return utf8_encode($content);
@@ -237,8 +239,8 @@ class t3lib_xml {
        /**
         * Substitutes LF characters with a '<newline/>' tag.
         *
-        * @param       string          Input value
-        * @return      string          Processed input value
+        * @param string $string Input value
+        * @return string Processed input value
         */
        function substNewline($string) {
                return str_replace(LF, '<newline/>', $string);
@@ -247,9 +249,9 @@ class t3lib_xml {
        /**
         * Wraps the value in tags with element name, $field.
         *
-        * @param       string          Fieldname from a record - will be the element name
-        * @param       string          Value from the field - will be wrapped in the elements.
-        * @return      string          The wrapped string.
+        * @param string $field Fieldname from a record - will be the element name
+        * @param string $value Value from the field - will be wrapped in the elements.
+        * @return string The wrapped string.
         */
        function fieldWrap($field, $value) {
                return '<' . $field . '>' . $value . '</' . $field . '>';
@@ -258,7 +260,7 @@ class t3lib_xml {
        /**
         * Creates the BACK button for WAP documents
         *
-        * @return      void
+        * @return void
         */
        function WAPback() {
                $this->newLevel('template', 1);
@@ -271,8 +273,8 @@ class t3lib_xml {
        /**
         * Add a line to the internal XML structure (automatically prefixed with ->Icode.
         *
-        * @param       string          Line to add to the $this->lines array
-        * @return      void
+        * @param string Line to add to the $this->lines array
+        * @return void
         */
        function addLine($str) {
                $this->lines[] = $this->Icode . $str;