diff options
Diffstat (limited to 'program/include')
-rw-r--r-- | program/include/rcube_message.php | 26 | ||||
-rw-r--r-- | program/include/rcube_session.php | 14 |
2 files changed, 36 insertions, 4 deletions
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php index 8f1432fb8..745019e18 100644 --- a/program/include/rcube_message.php +++ b/program/include/rcube_message.php @@ -278,6 +278,32 @@ class rcube_message /** + * Checks if part of the message is an attachment (or part of it) + * + * @param rcube_message_part $part Message part + * + * @return bool True if the part is an attachment part + */ + public function is_attachment($part) + { + foreach ($this->attachments as $att_part) { + if ($att_part->mime_id == $part->mime_id) { + return true; + } + + // check if the part is a subpart of another attachment part (message/rfc822) + if ($att_part->mimetype == 'message/rfc822') { + if (in_array($part, (array)$att_part->parts)) { + return true; + } + } + } + + return false; + } + + + /** * Read the message structure returend by the IMAP server * and build flat lists of content parts and attachments * diff --git a/program/include/rcube_session.php b/program/include/rcube_session.php index 4ac395472..6916e2ba8 100644 --- a/program/include/rcube_session.php +++ b/program/include/rcube_session.php @@ -221,13 +221,14 @@ class rcube_session * Handler for session_destroy() * * @param string Session ID + * * @return boolean True on success */ public function db_destroy($key) { - $this->db->query( - sprintf("DELETE FROM %s WHERE sess_id = ?", get_table_name('session')), - $key); + if ($key) { + $this->db->query(sprintf("DELETE FROM %s WHERE sess_id = ?", get_table_name('session')), $key); + } return true; } @@ -308,11 +309,16 @@ class rcube_session * Handler for session_destroy() with memcache backend * * @param string Session ID + * * @return boolean True on success */ public function mc_destroy($key) { - return $this->memcache->delete($key); + if ($key) { + $this->memcache->delete($key); + } + + return true; } |