X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Fimap_messages.php;h=912c549bb64d7b961cb21ecc142f3c039066d5db;hp=9107e43cd9de8b1be18aa252efdfe4bd5683a6cd;hb=282f8e7cde15516c5224421c21785dbd605b3419;hpb=0331a925bde1c018c0c5e5bbee465c93cbeb1569 diff --git a/functions/imap_messages.php b/functions/imap_messages.php index 9107e43c..912c549b 100755 --- a/functions/imap_messages.php +++ b/functions/imap_messages.php @@ -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-2013 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 { @@ -66,8 +65,7 @@ function sqimap_msgs_list_move($imap_stream, $id, $mailbox, $handle_errors = tru * @since 1.4.0 */ function sqimap_msgs_list_delete($imap_stream, $mailbox, $id, $bypass_trash=false) { - // FIXME, remove globals by introducing an associative array with properties - // as 4th argument as replacement for the bypass_trash var + // FIXME: Remove globals by introducing an associative array with properties as 4th argument as replacement for the $bypass_trash variable. global $move_to_trash, $trash_folder; if (($move_to_trash == true) && ($bypass_trash != true) && (sqimap_mailbox_exists($imap_stream, $trash_folder) && ($mailbox != $trash_folder)) ) { @@ -165,8 +163,8 @@ function sqimap_get_sort_order($imap_stream, $sSortField, $reverse, $search='ALL $sSortField = 'REVERSE '.$sSortField; } $query = "SORT ($sSortField) ".strtoupper($default_charset)." $search"; - // FIXME sqimap_run_command should return the parsed data accessible by $aDATA['SORT'] - // use sqimap_run_command_list in case of unsollicited responses. If we don't we could loose the SORT response + // FIXME: sqimap_run_command() should return the parsed data accessible by $aDATA['SORT'] + // use sqimap_run_command_list() in case of unsolicited responses. If we don't we could loose the SORT response. $aData = sqimap_run_command_list ($imap_stream, $query, false, $response, $message, TRUE); /* fallback to default charset */ if ($response == 'NO') { @@ -624,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); @@ -897,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) { @@ -955,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();