summaryrefslogtreecommitdiff
path: root/roundcubemail/program
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-10-17 06:50:28 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-10-17 06:50:28 +0000
commitfb95cd9b59db49aae3bd9224327ffeb8a3e5d376 (patch)
tree01ec77dc95e9b2c628f7ae9c48b6a230580c7c2e /roundcubemail/program
parentc0dbbe593d9894cd66d9d30bab2f9d3cf4b4dbe5 (diff)
Make message listing less error prone
git-svn-id: https://svn.roundcube.net/trunk@875 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program')
-rw-r--r--roundcubemail/program/include/rcube_imap.inc4
-rw-r--r--roundcubemail/program/steps/mail/func.inc6
2 files changed, 8 insertions, 2 deletions
diff --git a/roundcubemail/program/include/rcube_imap.inc b/roundcubemail/program/include/rcube_imap.inc
index 9eb359457..be7f44f4e 100644
--- a/roundcubemail/program/include/rcube_imap.inc
+++ b/roundcubemail/program/include/rcube_imap.inc
@@ -2040,6 +2040,10 @@ class rcube_imap
{
$uid = $sql_arr['uid'];
$this->cache[$cache_key][$uid] = unserialize($sql_arr['headers']);
+
+ // featch headers if unserialize failed
+ if (empty($this->cache[$cache_key][$uid]))
+ $this->cache[$cache_key][$uid] = iil_C_FetchHeader($this->conn, preg_replace('/.msg$/', '', $key), $uid, true);
}
}
diff --git a/roundcubemail/program/steps/mail/func.inc b/roundcubemail/program/steps/mail/func.inc
index 30d60e6da..02263292a 100644
--- a/roundcubemail/program/steps/mail/func.inc
+++ b/roundcubemail/program/steps/mail/func.inc
@@ -314,11 +314,13 @@ function rcmail_js_message_list($a_headers, $insert_top=FALSE)
$OUTPUT->command('set_message_coltypes', $a_show_cols);
// loop through message headers
- for ($n=0; $a_headers[$n]; $n++)
+ foreach ($a_headers as $n => $header)
{
- $header = $a_headers[$n];
$a_msg_cols = array();
$a_msg_flags = array();
+
+ if (empty($header))
+ continue;
// format each col; similar as in rcmail_message_list()
foreach ($a_show_cols as $col)