[TASK] Remove t3lib_superadmin
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_pagetree.php
old mode 100755 (executable)
new mode 100644 (file)
index 9a92c29..23d6725
 <?php
 /***************************************************************
-*  Copyright notice
-*  
-*  (c) 1999-2003 Kasper Skaarhoj (kasper@typo3.com)
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is 
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-* 
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license 
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-* 
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/** 
- * generate a page-tree. OBS: remember $clause
+ *  Copyright notice
  *
- * $Id$
- * Revised for TYPO3 3.6 August/2003 by Kasper Skaarhoj
- * Maintained by René Fritz
+ *  (c) 1999-2011 Kasper Skårhøj (kasperYYYY@typo3.com)
+ *  All rights reserved
  *
- * @author     Kasper Skaarhoj <kasper@typo3.com>
- * @coauthor   René Fritz <r.fritz@colorcube.de>
- */
-/**
- * [CLASS/FUNCTION INDEX of SCRIPT]
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the textfile GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
  *
  *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
  *
- *   78: class t3lib_pageTree extends t3lib_treeView
- *   91:     function init($clause='') 
- *  106:     function expandNext($id)  
- *  117:     function wrapIcon($icon,$row)     
- *  131:     function PMicon($row,$a,$c,$nextCount,$exp)       
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+/**
+ * Generate a page-tree, non-browsable.
  *
- * TOTAL FUNCTIONS: 4
- * (This index is automatically created/updated by the extension "extdeveval")
+ * Revised for TYPO3 3.6 November/2003 by Kasper Skårhøj
  *
+ * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @coauthor   René Fritz <r.fritz@colorcube.de>
  */
-
-
-
-
-
-
-
-
 
 
-
-
-
-require_once (PATH_t3lib."class.t3lib_treeview.php");
-
 /**
  * Class for generating a page tree.
- * 
- * @author     Kasper Skaarhoj <kasper@typo3.com>
- * @coauthor   René Fritz <r.fritz@colorcube.de>
+ *
+ * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @coauthor   René Fritz <r.fritz@colorcube.de>
+ * @see t3lib_treeView, t3lib_browseTree
  * @package TYPO3
  * @subpackage t3lib
  */
-class t3lib_pageTree extends t3lib_treeView{
-       var $makeHTML=1;
-
-       var $clause=' AND NOT deleted';
-       var $db;
-       var $fieldArray = Array('uid','title','doktype','php_tree_stop');
+class t3lib_pageTree extends t3lib_treeView {
+       var $fieldArray = array(
+               'uid',
+               'title',
+               'doktype',
+               'php_tree_stop',
+               't3ver_id',
+               't3ver_state',
+               't3ver_swapmode'
+       );
        var $defaultList = 'uid,pid,tstamp,sorting,deleted,perms_userid,perms_groupid,perms_user,perms_group,perms_everybody,crdate,cruser_id';
        var $setRecs = 0;
-       
+
        /**
-        * @param       [type]          $clause: ...
-        * @return      [type]          ...
+        * Init function
+        * REMEMBER to feed a $clause which will filter out non-readable pages!
+        *
+        * @param string $clause Part of where query which will filter out non-readable pages.
+        * @param string $orderByFields record ORDER BY field
+        * @return void
         */
-       function init($clause='')       {
-               parent::init($clause);
-               if (t3lib_extMgm::isLoaded('cms'))      {
-                       $this->fieldArray=array_merge($this->fieldArray,array('hidden','starttime','endtime','fe_group','module','extendToSubpages'));
+       function init($clause = '', $orderByFields = '') {
+               parent::init(' AND deleted=0 ' . $clause, 'sorting');
+
+               if (t3lib_extMgm::isLoaded('cms')) {
+                       $this->fieldArray = array_merge(
+                               $this->fieldArray,
+                               array(
+                                        'hidden',
+                                        'starttime',
+                                        'endtime',
+                                        'fe_group',
+                                        'module',
+                                        'extendToSubpages',
+                                        'nav_hide')
+                       );
                }
-               $this->table='pages';
-               $this->treeName='pages';
+               $this->table = 'pages';
+               $this->treeName = 'pages';
        }
 
        /**
-        * [Describe function...]
-        * 
-        * @param       [type]          $id: ...
-        * @return      [type]          ...
+        * Returns TRUE/FALSE if the next level for $id should be expanded - and all levels should, so we always return 1.
+        *
+        * @param       integer         ID (uid) to test for (see extending classes where this is checked againts session data)
+        * @return      boolean
         */
-       function expandNext($id)        {
+       function expandNext($id) {
                return 1;
        }
 
        /**
-        * [Describe function...]
-        * 
-        * @param       [type]          $icon: ...
-        * @param       [type]          $row: ...
-        * @return      [type]          ...
+        * Generate the plus/minus icon for the browsable tree.
+        * In this case, there is no plus-minus icon displayed.
+        *
+        * @param       array           record for the entry
+        * @param       integer         The current entry number
+        * @param       integer         The total number of entries. If equal to $a, a 'bottom' element is returned.
+        * @param       integer         The number of sub-elements to the current element.
+        * @param       boolean         The element was expanded to render subelements if this flag is set.
+        * @return      string          Image tag with the plus/minus icon.
+        * @access private
+        * @see t3lib_treeView::PMicon()
         */
-       function wrapIcon($icon,$row)   {
+       function PMicon($row, $a, $c, $nextCount, $exp) {
+               $PM = 'join';
+               $BTM = ($a == $c) ? 'bottom' : '';
+               $icon = '<img' . t3lib_iconWorks::skinImg($this->backPath, 'gfx/ol/' . $PM . $BTM . '.gif', 'width="18" height="16"') . ' alt="" />';
+
                return $icon;
        }
 
+
        /**
-        * [Describe function...]
-        * 
-        * @param       [type]          $row: ...
-        * @param       [type]          $a: ...
-        * @param       [type]          $c: ...
-        * @param       [type]          $nextCount: ...
-        * @param       [type]          $exp: ...
-        * @return      [type]          ...
+        * Get stored tree structure AND updating it if needed according to incoming PM GET var.
+        * - Here we just set it to nothing since we want to just render the tree, nothing more.
+        *
+        * @return      void
+        * @access private
         */
-       function PMicon($row,$a,$c,$nextCount,$exp)     {
-               $PM = 'join';
-               $BTM = ($a==$c)?'bottom':'';
-               $icon = '<img src="'.$this->backPath.'t3lib/gfx/ol/'.$PM.$BTM.'.gif" width="18" height="16" align="top" alt="" />';
-               return $icon;
+       function initializePositionSaving() {
+               $this->stored = array();
        }
 }
 
 
-if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_pagetree.php']) {
-       include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_pagetree.php']);
+if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_pagetree.php'])) {
+       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_pagetree.php']);
 }
 ?>
\ No newline at end of file