* 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-2010 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
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 {
* @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)) ) {
$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') {
*/
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) {
*/
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();