summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include/rcube_imap.php
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-09-08 08:31:13 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-09-08 08:31:13 +0000
commit82610b112849c4dccbef2ccd4fc6627da62bed07 (patch)
treecbb824f731ad5a3076241ada5bf519b8f82294a4 /roundcubemail/program/include/rcube_imap.php
parentd5058de8feef7bcb9daa256b2502ccd58c74a184 (diff)
- Fix new caching issue when broken/misleading object data was stored in database.
The object must be cleaned up before storing in DB, because some code (out of rcube_message and rcube_imap classes) is changing objects data e.g. parts mimetype or body. Now it's become a problem because we're saving the object in cache at shutdown (after all modifications). - Make stored message object smaller by removing some redundant data. git-svn-id: https://svn.roundcube.net/trunk@5192 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/rcube_imap.php')
-rw-r--r--roundcubemail/program/include/rcube_imap.php5
1 files changed, 2 insertions, 3 deletions
diff --git a/roundcubemail/program/include/rcube_imap.php b/roundcubemail/program/include/rcube_imap.php
index a15a5923c..d14a643de 100644
--- a/roundcubemail/program/include/rcube_imap.php
+++ b/roundcubemail/program/include/rcube_imap.php
@@ -1999,12 +1999,11 @@ class rcube_imap
}
$struct = &$this->_structure_part($structure, 0, '', $headers);
- $struct->headers = get_object_vars($headers);
// don't trust given content-type
- if (empty($struct->parts) && !empty($struct->headers['ctype'])) {
+ if (empty($struct->parts) && !empty($headers->ctype)) {
$struct->mime_id = '1';
- $struct->mimetype = strtolower($struct->headers['ctype']);
+ $struct->mimetype = strtolower($headers->ctype);
list($struct->ctype_primary, $struct->ctype_secondary) = explode('/', $struct->mimetype);
}