alecpl
2010-03-04 f1ce5163e5b91ab2efc0eb28eec7091be0144483
- Fix inconsistent behaviour of 'delete_always' option (#1486299)


3 files modified
17 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
config/main.inc.php.dist 10 ●●●●● patch | view | raw | blame | history
program/include/rcube_imap.php 6 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
- Fix inconsistent behaviour of 'delete_always' option (#1486299)
- Fix deleting all messages from last list page (#1486293)
- Flag original messages when sending a draft (#1486203)
- Changed signature separator when top-posting (#1486330)
config/main.inc.php.dist
@@ -361,13 +361,9 @@
/**
 * 'Delete always'
 * This setting reflects if mail should be always marked as deleted,
 * even if moving to "Trash" fails. This is necessary in some setups
 * because a) people may not have a Trash folder or b) they are over
 * quota (and Trash is included in the quota).
 *
 * This is a failover setting for iil_C_Move when a message is moved
 * to the Trash.
 * This setting reflects if mail should be always deleted
 * when moving to Trash fails. This is necessary in some setups
 * when user is over quota and Trash is included in the quota.
 */
$rcmail_config['delete_always'] = false;
program/include/rcube_imap.php
@@ -1793,7 +1793,7 @@
    // move messages
    $iil_move = iil_C_Move($this->conn, join(',', $a_uids), $from_mbox, $to_mbox);
    $moved = !($iil_move === false || $iil_move < 0);
    // send expunge command in order to have the moved message
    // really deleted from the source mailbox
    if ($moved) {
@@ -1802,8 +1802,8 @@
      $this->_clear_messagecount($to_mbox);
    }
    // moving failed
    else if (rcmail::get_instance()->config->get('delete_always', false)) {
      return iil_C_Delete($this->conn, $from_mbox, join(',', $a_uids));
    else if ($config->get('delete_always', false) && $tbox == $config->get('trash_mbox')) {
      return $this->delete_message($a_uids, $fbox);
    }
    // remove message ids from search set