From: Michael M Slusarz Date: Fri, 5 Feb 2010 21:21:09 +0000 (-0700) Subject: Ticket #8805: Optimize folder tree initialization X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=a3f0c954834ed50d3cbe84863651ab82e3c0c529;p=horde.git Ticket #8805: Optimize folder tree initialization --- diff --git a/imp/docs/CHANGES b/imp/docs/CHANGES index c8a009bc4..38d6fd7b5 100644 --- a/imp/docs/CHANGES +++ b/imp/docs/CHANGES @@ -144,6 +144,7 @@ v5.0-git v4.3.7-cvs ---------- +[mms] Optimize folder tree initialization (Ticket #8805). [mms] Add command line fetchmail script (tjacyno@galasoft.net, Ticket #8812). [jan] Workaround broken PHP number formatting with some locales (Bug #8780). diff --git a/imp/lib/Imap/Tree.php b/imp/lib/Imap/Tree.php index 5abb53ca1..66aa741fa 100644 --- a/imp/lib/Imap/Tree.php +++ b/imp/lib/Imap/Tree.php @@ -1079,12 +1079,18 @@ class IMP_Imap_Tree protected function _modifyExpandedList($id, $action) { $this->_initExpandedList(); + if ($action == 'add') { + $change = empty($this->_expanded[$id]); $this->_expanded[$id] = true; } else { + $change = !empty($this->_expanded[$id]); unset($this->_expanded[$id]); } - $GLOBALS['prefs']->setValue('expanded_folders', serialize($this->_expanded)); + + if ($change) { + $GLOBALS['prefs']->setValue('expanded_folders', serialize($this->_expanded)); + } } /**