From: Tomas K. <to...@us...> - 2006-07-29 08:47:09
|
Update of /cvsroot/squirrelmail/squirrelmail/plugins/filters In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv10296/plugins/filters Modified Files: Tag: SM-1_4-STABLE filters.php Log Message: make sure that filters plugin does not break interface on IMAP COPY error. (#1520437) Index: filters.php =================================================================== RCS file: /cvsroot/squirrelmail/squirrelmail/plugins/filters/filters.php,v retrieving revision 1.45.2.17 retrieving revision 1.45.2.18 diff -u -w -r1.45.2.17 -r1.45.2.18 --- filters.php 3 Feb 2006 22:27:52 -0000 1.45.2.17 +++ filters.php 29 Jul 2006 08:46:57 -0000 1.45.2.18 @@ -333,14 +333,20 @@ if ($response == 'OK') { $ids = explode(' ', $read[$r]); if (sqimap_mailbox_exists($imap, $where_to)) { + /* + * why we do n calls instead of just one. It is safer to copy + * messages one by one, but code does not call expunge after + * message is copied and quota limits are not resolved. + */ for ($j=2, $num = count($ids); $j < $num; $j++) { $id = trim($ids[$j]); + if (sqimap_messages_copy ($imap, $id, $id, $where_to, false)) { $del_id[] = $id; - sqimap_messages_copy ($imap, $id, $id, $where_to); sqimap_messages_flag ($imap, $id, $id, 'Deleted',false); } } } + } return $del_id; } @@ -463,11 +469,13 @@ // Lookie! It's spam! Yum! if ($IsSpam) { if (sqimap_mailbox_exists($imap_stream, $filters_spam_folder)) { - sqimap_messages_copy ($imap_stream, $MsgNum, $MsgNum, - $filters_spam_folder); + // check if message copy was successful + if (sqimap_messages_copy ($imap_stream, $MsgNum, $MsgNum, + $filters_spam_folder, false)) { sqimap_messages_flag ($imap_stream, $MsgNum, $MsgNum, 'Deleted', false); } + } } else { } } |