alecpl
2012-02-13 18a3dcaf56aa8d650db8c791cdba90fcd38468ab
- Fix issue with folder creation under INBOX. namespace (#1488349)


4 files modified
21 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/js/app.js 8 ●●●● patch | view | raw | blame | history
program/steps/settings/edit_folder.inc 11 ●●●●● patch | view | raw | blame | history
program/steps/settings/folders.inc 1 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix issue with folder creation under INBOX. namespace (#1488349)
- Added mailto: protocol handler registration link in User Preferences (#1486580)
- Handle identity details box with an iframe (#1487020)
- Fix issue where some text from original message was missing on reply (#1488340)
program/js/app.js
@@ -4984,7 +4984,7 @@
    if (!this.gui_objects.subscriptionlist)
      return false;
    var row, n, i, tmp, folders, rowid, list = [], slist = [],
    var row, n, i, tmp, tmp_name, folders, rowid, list = [], slist = [],
      tbody = this.gui_objects.subscriptionlist.tBodies[0],
      refrow = $('tr', tbody).get(1),
      id = 'rcmrow'+((new Date).getTime());
@@ -5020,8 +5020,12 @@
    for (n in folders) {
      // protected folder
      if (folders[n][2]) {
        tmp_name = folders[n][0] + this.env.delimiter;
        // prefix namespace cannot have subfolders (#1488349)
        if (tmp_name == this.env.prefix_ns)
          continue;
        slist.push(folders[n][0]);
        tmp = folders[n][0]+this.env.delimiter;
        tmp = tmp_name;
      }
      // protected folder's child
      else if (tmp && folders[n][0].indexOf(tmp) == 0)
program/steps/settings/edit_folder.inc
@@ -115,6 +115,15 @@
    }
    else {
        $selected = isset($_POST['_parent']) ? $_POST['_parent'] : $path_id;
        $exceptions = array($mbox_imap);
        // Exclude 'prefix' namespace from parent folders list (#1488349)
        // If INBOX. namespace exists, folders created as INBOX subfolders
        // will be listed at the same level - selecting INBOX as a parent does nothing
        if ($prefix = $storage->get_namespace('prefix')) {
            $exceptions[] = substr($prefix, 0, -1);
        }
        $select = rcmail_mailbox_select(array(
            'name'        => '_parent',
            'noselection' => '---',
@@ -122,7 +131,7 @@
            'maxlength'   => 150,
            'unsubscribed' => true,
            'skip_noinferiors' => true,
            'exceptions'  => array($mbox_imap),
            'exceptions'  => $exceptions,
        ));
        $form['props']['fieldsets']['location']['content']['path'] = array(
program/steps/settings/folders.inc
@@ -415,6 +415,7 @@
$OUTPUT->set_pagetitle(rcube_label('folders'));
$OUTPUT->include_script('list.js');
$OUTPUT->set_env('quota', $STORAGE->get_capability('QUOTA'));
$OUTPUT->set_env('prefix_ns', $STORAGE->get_namespace('prefix'));
// add some labels to client
$OUTPUT->add_label('deletefolderconfirm', 'purgefolderconfirm', 'folderdeleting',