ignore msg copy errors when messages are deleted. Most common error is related
authortokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sat, 30 Sep 2006 09:49:08 +0000 (09:49 +0000)
committertokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sat, 30 Sep 2006 09:49:08 +0000 (09:49 +0000)
to quota issues. Updated function tries to copy message to trash and then tags
it as deleted. If we can store message in trash, message is stored. If we can't,
trash folder is bypassed.

added version information to two configuration variables

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@11783 7612ce4b-ef26-0410-bec9-ea0150e637f0

ChangeLog
config/conf.pl
functions/imap_messages.php

index 08e0157..6ee3458 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -138,6 +138,8 @@ Version 1.5.2 - CVS
   - Added check_plugin_version() function.
   - If mailbox name starts with slash or contains ../, error message is
     generated. Safety check for insecure default UW IMAP setup (#1557078).
+  - Ignore message copy errors when messages are deleted. Allows to delete
+    messages when quota is exceeded. (#614887) (#646386) (#1446026)
 
 Version 1.5.1 (branched on 2006-02-12)
 --------------------------------------
index 5f2bc81..b11e04f 100755 (executable)
@@ -357,8 +357,6 @@ $noselect_fix_enable = 'false'          if ( !$noselect_fix_enable );
 $frame_top = "_top"                     if ( !$frame_top );
 $provider_uri = ''                      if ( !$provider_uri );
 $provider_name = ''                     if ( !$provider_name );
-$edit_identity = 'true'                 if ( !$edit_identity );
-$edit_name = 'true'                     if ( !$edit_name );
 $no_list_for_subscribe = 'false'        if ( !$no_list_for_subscribe );
 $allow_charset_search = 'true'          if ( !$allow_charset_search );
 $allow_advanced_search = 0              if ( !$allow_advanced_search) ;
@@ -371,6 +369,9 @@ $default_use_javascript_addr_book = 'false' if (! $default_use_javascript_addr_b
 
 # since 1.2.0
 $hide_sm_attributions = 'false'         if ( !$hide_sm_attributions );
+# since 1.2.5
+$edit_identity = 'true'                 if ( !$edit_identity );
+$edit_name = 'true'                     if ( !$edit_name );
 
 # since 1.4.0
 $use_smtp_tls= 'false'                  if ( !$use_smtp_tls);
index 7f9f263..d99bceb 100755 (executable)
@@ -69,16 +69,15 @@ function sqimap_msgs_list_delete($imap_stream, $mailbox, $id, $bypass_trash=fals
     // FIX ME, remove globals by introducing an associative array with properties
     // as 4th argument as replacement for the bypass_trash var
     global $move_to_trash, $trash_folder;
-    $bRes = true;
     if (($move_to_trash == true) && ($bypass_trash != true) &&
         (sqimap_mailbox_exists($imap_stream, $trash_folder) &&  ($mailbox != $trash_folder)) ) {
-        $bRes = sqimap_msgs_list_copy ($imap_stream, $id, $trash_folder);
-    }
-    if ($bRes) {
-        return sqimap_toggle_flag($imap_stream, $id, '\\Deleted', true, true);
-    } else {
-        return false;
+        /**
+         * turn off internal error handling (fourth argument = false) and
+         * ignore copy to trash errors (allows to delete messages when overquota)
+         */
+        sqimap_msgs_list_copy ($imap_stream, $id, $trash_folder, false);
     }
+    return sqimap_toggle_flag($imap_stream, $id, '\\Deleted', true, true);
 }