Aleksander Machniak
2014-10-18 ced34cb15e095836767971aa4d27b141fb1d7ec9
program/steps/settings/save_prefs.inc
@@ -90,6 +90,7 @@
        'default_font_size'  => rcube_utils::get_input_value('_default_font_size', rcube_utils::INPUT_POST),
        'reply_all_mode'     => intval($_POST['_reply_all_mode']),
        'forward_attachment' => !empty($_POST['_forward_attachment']),
        'compose_save_localstorage' => intval($_POST['_compose_save_localstorage']),
    );
    break;
@@ -121,11 +122,11 @@
case 'folders':
    $a_user_prefs = array(
        'show_real_foldernames' => isset($_POST['_show_real_foldernames']) ? true : false,
        'drafts_mbox' => rcube_utils::get_input_value('_drafts_mbox', rcube_utils::INPUT_POST, true),
        'sent_mbox'   => rcube_utils::get_input_value('_sent_mbox', rcube_utils::INPUT_POST, true),
        'junk_mbox'   => rcube_utils::get_input_value('_junk_mbox', rcube_utils::INPUT_POST, true),
        'trash_mbox'  => rcube_utils::get_input_value('_trash_mbox', rcube_utils::INPUT_POST, true),
    );
    foreach (rcube_storage::$folder_types as $type) {
        $a_user_prefs[$type . '_mbox'] = rcube_utils::get_input_value('_' . $type . '_mbox', rcube_utils::INPUT_POST, true);
    };
    break;
}
@@ -191,20 +192,14 @@
    break;
case 'folders':
    // special handling for 'default_folders'
    if (in_array('default_folders', (array)$CONFIG['dont_override'])) {
        foreach (array('drafts_mbox','sent_mbox','junk_mbox','trash_mbox') as $p) {
            $a_user_prefs[$p] = $CONFIG[$p];
        }
    $storage  = $RCMAIL->get_storage();
    $specials = array();
    foreach (rcube_storage::$folder_types as $type) {
        $specials[$type] = $a_user_prefs[$type . '_mbox'];
    }
    else {
        $a_user_prefs['default_folders'] = array('INBOX');
        foreach (array('drafts_mbox','sent_mbox','junk_mbox','trash_mbox') as $p) {
            if ($a_user_prefs[$p]) {
                $a_user_prefs['default_folders'][] = $a_user_prefs[$p];
            }
        }
    }
    $storage->set_special_folders($specials);
    break;
}