Allow unsent compose sessions to stay around, but remove them after successful send
[squirrelmail.git] / functions / imap_messages.php
index 62a658f60c7b61c252b1b75b2d9f207e439da68e..50f89836e40f95cba61d94ddc554b3d956f57fdf 100755 (executable)
@@ -6,7 +6,7 @@
  * This implements functions that manipulate messages
  * NOTE: Quite a few functions in this file are obsolete
  *
- * @copyright © 1999-2007 The SquirrelMail Project Team
+ * @copyright 1999-2018 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
@@ -47,7 +47,6 @@ function sqimap_msgs_list_move($imap_stream, $id, $mailbox, $handle_errors = tru
     if ($source_mailbox!==false && $source_mailbox==$mailbox) {
         return false;
     }
-    $msgs_id = sqimap_message_list_squisher($id);
     if (sqimap_msgs_list_copy ($imap_stream, $id, $mailbox, $handle_errors)) {
         return sqimap_toggle_flag($imap_stream, $id, '\\Deleted', true, true);
     } else {
@@ -623,7 +622,7 @@ function parseFetch(&$aResponse,$aMessageList = array()) {
         $aMsg['ID'] = $id;
         $fetch = substr($read,$i_space+1,5);
         if (!is_numeric($id) && $fetch !== 'FETCH') {
-            $aMsg['ERROR'] = $read; // htmlspecialchars should be done just before display. this is backend code
+            $aMsg['ERROR'] = $read; // sm_encode_html_special_chars should be done just before display. this is backend code
             break;
         }
         $i = strpos($read,'(',$i_space+5);
@@ -896,7 +895,10 @@ function sqimap_parse_address($read, &$i) {
  */
 function sqimap_get_message($imap_stream, $id, $mailbox, $hide=0) {
     // typecast to int to prohibit 1:* msgs sets
-    $id = (int) $id;
+    // Update: $id should always be sanitized into a BIGINT so this
+    // is being removed; leaving this code here in case something goes
+    // wrong, however
+    //$id = (int) $id;
     $flags = array();
     $read = sqimap_run_command($imap_stream, "FETCH $id (FLAGS BODYSTRUCTURE)", true, $response, $message, TRUE);
     if ($read) {
@@ -954,7 +956,7 @@ function sqimap_get_message($imap_stream, $id, $mailbox, $hide=0) {
  */
 function parse_message_entities(&$msg, $id, $imap_stream) {
     if (!empty($msg->entities)) foreach ($msg->entities as $i => $entity) {
-        if (is_object($entity) && get_class($entity) == 'Message') {
+        if (is_object($entity) && strtolower(get_class($entity)) == 'message') {
             if (!empty($entity->rfc822_header)) {
                 $read = sqimap_run_command($imap_stream, "FETCH $id BODY[". $entity->entity_id .".HEADER]", true, $response, $message, TRUE);
                 $rfc822_header = new Rfc822Header();