Move request_id and update determination into ListMessages()
authorMichael M Slusarz <slusarz@curecanti.org>
Thu, 24 Dec 2009 08:25:31 +0000 (01:25 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Thu, 24 Dec 2009 09:07:28 +0000 (02:07 -0700)
imp/ajax.php
imp/lib/Views/ListMessages.php

index f8acd9f..15580b6 100644 (file)
@@ -71,9 +71,11 @@ function _getListMessages($mbox, $change)
         'applyfilter' => Horde_Util::getPost('applyfilter'),
         'cache' => Horde_Util::getPost('cache'),
         'cacheid' => Horde_Util::getPost('cacheid'),
+        'change' => $change,
         'initial' => Horde_Util::getPost('initial'),
         'mbox' => $mbox,
         'rangeslice' => Horde_Util::getPost('rangeslice'),
+        'requestid' => Horde_Util::getPost('requestid'),
         'qsearch' => Horde_Util::getPost('qsearch'),
         'qsearchflag' => Horde_Util::getPost('qsearchflag'),
         'qsearchmbox' => Horde_Util::getPost('qsearchmbox'),
@@ -106,20 +108,7 @@ function _getListMessages($mbox, $change)
     }
 
     $list_msg = new IMP_Views_ListMessages();
-    $res = $list_msg->listMessages($args);
-
-    // TODO: This can potentially be optimized for arrival time sort - if the
-    // cache ID changes, we know the changes must occur at end of mailbox.
-    if (empty($res->reset) && $change) {
-        $res->update = 1;
-    }
-
-    $req_id = Horde_Util::getPost('requestid');
-    if (!is_null($req_id)) {
-        $res->requestid = intval($req_id);
-    }
-
-    return $res;
+    return $list_msg->listMessages($args);
 }
 
 function _getIdxString($indices)
index be1120e..7799d2e 100644 (file)
@@ -95,6 +95,9 @@ class IMP_Views_ListMessages
         /* Create the base object. */
         $result = $this->getBaseOb($mbox);
         $result->cacheid = $imp_mailbox->getCacheID();
+        if (!empty($args['requestid'])) {
+            $result->requestid = intval($args['requestid']);
+        }
         $result->totalrows = $msgcount;
         if (!$args['initial']) {
             unset($result->label);
@@ -160,6 +163,13 @@ class IMP_Views_ListMessages
             }
         }
 
+        /* TODO: This can potentially be optimized for arrival time sort - if
+         * the cache ID changes, we know the changes must occur at end of
+         * mailbox. */
+        if (!isset($result->reset) && !empty($args['change'])) {
+            $result->update = 1;
+        }
+
         /* Get the cached list. */
         if (empty($args['cache'])) {
             $cached = array();