alecpl
2011-09-22 bba25299f8d1569f560fc66f82837c95145ee121
- Fix bug where after delete message rows can be added to the list of another folder (#1487752)


9 files modified
31 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/js/app.js 16 ●●●● patch | view | raw | blame | history
program/steps/mail/check_recent.inc 2 ●●● patch | view | raw | blame | history
program/steps/mail/folders.inc 2 ●●● patch | view | raw | blame | history
program/steps/mail/func.inc 2 ●●● patch | view | raw | blame | history
program/steps/mail/list.inc 2 ●●● patch | view | raw | blame | history
program/steps/mail/mark.inc 2 ●●● patch | view | raw | blame | history
program/steps/mail/move_del.inc 2 ●●● patch | view | raw | blame | history
program/steps/mail/search.inc 2 ●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix bug where after delete message rows can be added to the list of another folder (#1487752)
- Add notice on autocompletion that not all records were displayed
- Add option 'searchonly' for LDAP address books
- Add Priority filter to the messages list
program/js/app.js
@@ -1641,6 +1641,10 @@
    if (!this.gui_objects.messagelist || !this.message_list)
      return false;
    // Prevent from adding messages from different folder (#1487752)
    if (flags.mbox != this.env.mailbox && !flags.skip_mbox_check)
      return false;
    if (!this.env.messages[uid])
      this.env.messages[uid] = {};
@@ -2091,8 +2095,12 @@
  };
  // Initializes threads indicators/expanders after list update
  this.init_threads = function(roots)
  this.init_threads = function(roots, mbox)
  {
    // #1487752
    if (mbox && mbox != this.env.mailbox)
      return false;
    for (var n=0, len=roots.length; n<len; n++)
      this.add_tree_icons(roots[n]);
    this.expand_threads();
@@ -5463,8 +5471,12 @@
  };
  // replace content of row count display
  this.set_rowcount = function(text)
  this.set_rowcount = function(text, mbox)
  {
    // #1487752
    if (mbox && mbox != this.env.mailbox)
      return false;
    $(this.gui_objects.countdisplay).html(text);
    // update page navigation buttons
program/steps/mail/check_recent.inc
@@ -81,7 +81,7 @@
        $OUTPUT->set_env('messagecount', $all_count);
        $OUTPUT->set_env('pagecount', ceil($all_count/$IMAP->page_size));
        $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($all_count));
        $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($all_count), $mbox_name);
        $OUTPUT->set_env('current_page', $all_count ? $IMAP->list_page : 1);
        // remove old rows (and clear selection if new list is empty)
program/steps/mail/folders.inc
@@ -65,7 +65,7 @@
                $OUTPUT->set_env('messagecount', 0);
                $OUTPUT->set_env('pagecount', 0);
                $OUTPUT->command('message_list.clear');
                $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text());
                $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text(), $mbox);
                $OUTPUT->command('set_unread_count', $mbox, 0);
                $OUTPUT->command('set_quota', rcmail_quota_content());
                rcmail_set_unseen_count($mbox, 0);
program/steps/mail/func.inc
@@ -320,7 +320,7 @@
  }
  if ($IMAP->threading) {
    $OUTPUT->command('init_threads', (array) $roots);
    $OUTPUT->command('init_threads', (array) $roots, $mbox);
  }
}
program/steps/mail/list.inc
@@ -96,7 +96,7 @@
$OUTPUT->set_env('pagecount', $pages);
$OUTPUT->set_env('threading', (bool) $IMAP->threading);
$OUTPUT->set_env('current_page', $count ? $IMAP->list_page : 1);
$OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($count));
$OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($count), $mbox_name);
$OUTPUT->command('set_mailboxname', rcmail_get_mailbox_name_text());
// add message rows
program/steps/mail/mark.inc
@@ -104,7 +104,7 @@
        $OUTPUT->command('set_unread_count', $mbox, $unseen_count, ($mbox == 'INBOX'));
        rcmail_set_unseen_count($mbox, $unseen_count);
      }
      $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($msg_count));
      $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($msg_count), $mbox);
      if ($IMAP->threading)
        $count = get_input_value('_count', RCUBE_INPUT_POST);
program/steps/mail/move_del.inc
@@ -121,7 +121,7 @@
  }
  $OUTPUT->command('set_quota', rcmail_quota_content());
  $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($msg_count));
  $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($msg_count), $mbox);
  if ($IMAP->threading)
    $count = get_input_value('_count', RCUBE_INPUT_POST);
program/steps/mail/search.inc
@@ -135,7 +135,7 @@
$OUTPUT->set_env('search_request', $search_str ? $search_request : '');
$OUTPUT->set_env('messagecount', $count);
$OUTPUT->set_env('pagecount', ceil($count/$IMAP->page_size));
$OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($count, 1));
$OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($count, 1), $mbox);
$OUTPUT->send();