Fixed bug #17275: Pagetree preloads huge amount of pages with initial load / refresh
authorSteffen Kamper <info@sk-typo3.de>
Mon, 24 Jan 2011 21:53:02 +0000 (21:53 +0000)
committerSteffen Kamper <info@sk-typo3.de>
Mon, 24 Jan 2011 21:53:02 +0000 (21:53 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@10286 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/config_default.php
t3lib/tree/pagetree/class.t3lib_tree_pagetree_dataprovider.php

index 9474f0e..3996f15 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 2011-01-24  Steffen Kamper  <steffen@typo3.org>
 
+       * Fixed bug #17275: Pagetree preloads huge amount of pages with initial load / refresh
        * Follow-up to #17222: in case of render outside the BE set default value
        * Fixed bug #17222: fitToParent calculates wrong height
 
index f7dfcb8..ed75098 100644 (file)
@@ -215,6 +215,9 @@ $TYPO3_CONF_VARS = array(
                'maxFileSize' => '10240',                               // Integer: If set this is the max filesize in KB's for file operations in the backend. Can be overridden through $TCA per table field separately.
                'forceCharset' => '-1',                                 // String: Normally the charset of the backend users language selection is used. If you set this value to a charset found in t3lib/csconvtbl/ (or "utf-8") the backend (and database) will ALWAYS use this charset. Always use a lowercase value. NOTICE: This option is deprecated since TYPO3 4.5, and will be removed in 4.7. Please use proper tools to set your installation to native UTF-8.
                'installToolPassword' => '',                    // String: This is the md5-hashed password for the Install Tool. Set this to '' and access will be totally denied. PLEASE consider to externally password protect the typo3/install/ folder, eg. with a .htaccess file.
+               'pageTree' => array(
+                       'preloadLimit' => 50,                           // Integer: Count of pages that will be preloaded in pagetree. Big amount makes collapsing new branches faster but requires more SQL queries.
+               ),
                'defaultUserTSconfig' => 'options.enableBookmarks=1
                        options.enableShowPalettes=1
                        options.file_list.enableDisplayBigControlPanel=selectable
@@ -933,4 +936,4 @@ $SIM_EXEC_TIME = $EXEC_TIME;                        // $SIM_EXEC_TIME is set to $EXEC_TIME but can be
 $ACCESS_TIME = $EXEC_TIME - ($EXEC_TIME % 60);         // $ACCESS_TIME is a common time in minutes for access control
 $SIM_ACCESS_TIME = $ACCESS_TIME;               // if $SIM_EXEC_TIME is changed this value must be set accordingly
 
-?>
\ No newline at end of file
+?>
index 6db4562..64a9b8d 100644 (file)
@@ -38,7 +38,7 @@ class t3lib_tree_pagetree_DataProvider extends t3lib_tree_AbstractDataProvider {
         *
         * @var int
         */
-       protected $nodeLimit = 500;
+       protected $nodeLimit = 0;
 
        /**
         * Current amount of nodes
@@ -56,8 +56,15 @@ class t3lib_tree_pagetree_DataProvider extends t3lib_tree_AbstractDataProvider {
 
        /**
         * Constructor
+        *
+        * @param int $nodeLimit (optional)
         */
-       public function __construct() {
+       public function __construct($nodeLimit = NULL) {
+               if ($nodeLimit === NULL) {
+                       $nodeLimit = $GLOBALS['BE']['pageTree']['preloadLimit'];
+               }
+               $this->nodeLimit = abs(intval($nodeLimit));
+
                $this->hiddenRecords = t3lib_div::trimExplode(
                        ',',
                        $GLOBALS['BE_USER']->getTSConfigVal('options.hideRecords.pages')
@@ -372,4 +379,4 @@ if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLA
        include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/tree/pagetree/class.t3lib_tree_pagetree_dataprovider.php']);
 }
 
-?>
\ No newline at end of file
+?>