Aleksander Machniak
2012-09-11 8361a48bdd2c365a82ed67ce652a83663149713c
program/steps/settings/folders.inc
@@ -47,8 +47,8 @@
        if ($result) {
            // Handle subscription of protected folder (#1487656)
            if ($CONFIG['protect_default_folders'] == true
                && in_array($mbox, $CONFIG['default_folders'])
            if ($RCMAIL->config->get('protect_default_folders')
                && in_array($mbox, (array)$RCMAIL->config->get('default_folders'))
            ) {
                $OUTPUT->command('disable_subscription', $mbox);
            }
@@ -87,6 +87,11 @@
        }
        else {
            $deleted = $plugin['result'];
        }
        // #1488692: update session
        if ($deleted && $_SESSION['mbox'] === $mbox) {
            $RCMAIL->session->remove('mbox');
        }
    }
@@ -396,15 +401,20 @@
        foreach ($a_threaded as $key => $val) {
            if ($key == $oldname) {
                unset($a_threaded[$key]);
               $a_threaded[$newname] = true;
                $a_threaded[$newname] = true;
            }
            else if (preg_match($oldprefix, $key)) {
                unset($a_threaded[$key]);
               $a_threaded[preg_replace($oldprefix, $newname.$delimiter, $key)] = true;
                $a_threaded[preg_replace($oldprefix, $newname.$delimiter, $key)] = true;
            }
        }
        $RCMAIL->user->save_prefs(array('message_threading' => $a_threaded));
        // #1488692: update session
        if ($_SESSION['mbox'] === $oldname) {
            $_SESSION['mbox'] = $newname;
        }
        return true;
    }