From: Michael M Slusarz Date: Thu, 4 Feb 2010 18:58:11 +0000 (-0700) Subject: Correctly rebuild mailbox list in dimp X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=90a58957ac67340e75d02931abf537b4991e7a97;p=horde.git Correctly rebuild mailbox list in dimp --- diff --git a/imp/lib/Ajax/Application.php b/imp/lib/Ajax/Application.php index 472c8586b..8c985adfa 100644 --- a/imp/lib/Ajax/Application.php +++ b/imp/lib/Ajax/Application.php @@ -281,6 +281,7 @@ class IMP_Ajax_Application extends Horde_Ajax_Application_Base public function ListMailboxes($vars) { $imptree = $GLOBALS['injector']->getInstance('IMP_Imap_Tree'); + $mask = IMP_Imap_Tree::FLIST_CONTAINER | IMP_Imap_Tree::FLIST_VFOLDER | IMP_Imap_Tree::FLIST_ELT; if ($vars->unsub) { $mask |= IMP_Imap_Tree::FLIST_UNSUB; @@ -293,13 +294,18 @@ class IMP_Ajax_Application extends Horde_Ajax_Application_Base } } + if ($vars->reload) { + $GLOBALS['injector']->getInstance('IMP_Folder')->clearFlistCache(); + $imptree->init(); + } + $folder_list = array(); if (!empty($vars->mboxes)) { foreach (Horde_Serialize::unserialize($vars->mboxes, Horde_Serialize::JSON) as $val) { $folder_list += $imptree->folderList($mask, $val); } - if ($vars->initial && empty($folder_list)) { + if (($vars->initial || $vars->reload) && empty($folder_list)) { $folder_list = $imptree->folderList($mask, 'INBOX'); } }