summaryrefslogtreecommitdiff
path: root/program/steps/settings/manage_folders.inc
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2009-01-23 10:29:51 +0000
committeralecpl <alec@alec.pl>2009-01-23 10:29:51 +0000
commitcbf1f3cfaa477ca1dfef372751c551f1a75e46b6 (patch)
treeea290ec20f5569131c12bacfbce0f9383236b24f /program/steps/settings/manage_folders.inc
parentf3bd5ae1c2a27e2d64363d00569f40107c3e9aeb (diff)
- Fixed creation of folders with '&' sign in name (reverted r1357)
Diffstat (limited to 'program/steps/settings/manage_folders.inc')
-rw-r--r--program/steps/settings/manage_folders.inc9
1 files changed, 2 insertions, 7 deletions
diff --git a/program/steps/settings/manage_folders.inc b/program/steps/settings/manage_folders.inc
index 2af922898..9affded98 100644
--- a/program/steps/settings/manage_folders.inc
+++ b/program/steps/settings/manage_folders.inc
@@ -44,8 +44,6 @@ else if ($RCMAIL->action=='create-folder')
if (!empty($_POST['_name']))
{
$name = trim(get_input_value('_name', RCUBE_INPUT_POST, FALSE, 'UTF-7'));
- // #1485036 (RFC3501, 5.1.3) TODO: it should be done on read not on write
- $name = str_replace('&-', '&', $name);
$create = $IMAP->create_mailbox($name, TRUE);
}
@@ -78,9 +76,6 @@ else if ($RCMAIL->action=='rename-folder')
$name = rcube_charset_convert($name_utf8, 'UTF-8', 'UTF-7');
$oldname = rcube_charset_convert($oldname_utf8, 'UTF-8', 'UTF-7');
- // #1485036 (RFC3501, 5.1.3) TODO: it should be done on read not on write
- $name = str_replace('&-', '&', $name);
-
$rename = $IMAP->rename_mailbox($oldname, $name);
}
@@ -190,14 +185,14 @@ function rcube_subscription_form($attrib)
$a_subscribed = $IMAP->list_mailboxes();
$delimiter = $IMAP->get_hierarchy_delimiter();
$a_js_folders = $seen_folders = $list_folders = array();
-
+
// pre-process folders list
foreach ($a_unsubscribed as $i => $folder) {
$foldersplit = explode($delimiter, $folder);
$name = rcube_charset_convert(array_pop($foldersplit), 'UTF-7');
$parent_folder = join($delimiter, $foldersplit);
$level = count($foldersplit);
-
+
// add any necessary "virtual" parent folders
if ($parent_folder && !$seen[$parent_folder]) {
for ($i=1; $i<=$level; $i++) {