From 2143a648734fe631bcab8516ca8f08128dd6a735 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Wed, 30 Oct 2013 04:47:56 -0400
Subject: [PATCH] Performance improvement - call IMAP LIST only once

---
 plugins/archive/archive.php |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/plugins/archive/archive.php b/plugins/archive/archive.php
index 4ef46e4..420f691 100644
--- a/plugins/archive/archive.php
+++ b/plugins/archive/archive.php
@@ -170,7 +170,9 @@
       // create archive subfolder if it doesn't yet exist
       // we'll create all folders in the path
       if (!in_array($folder, $folders)) {
-        $list = $storage->list_folders('', $archive_folder . '*', 'mail', null, true);
+        if (empty($list)) {
+          $list = $storage->list_folders('', $archive_folder . '*', 'mail', null, true);
+        }
         $path = explode($delimiter, $folder);
 
         for ($i=0; $i<count($path); $i++) {
@@ -178,6 +180,7 @@
           if (!in_array($_folder, $list)) {
             if ($storage->create_folder($_folder, true)) {
               $result['reload'] = true;
+              $list[] = $_folder;
             }
           }
         }

--
Gitblit v1.9.1