gXbfB#) ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIߪ ۻbis_II4&D.5;Aϳކ:}Wۻp%7ޔ_#5L@?ss\,fa\eChɛ+MMX,-\_[6Eq_uC^avh ->]+/Wg׿>|"d2D^1=]mwgFN5K]OElf5F \wgFN5K]OwgFN5K]OwgFN5K]O[_׮|S 6 iS&XVŰįwgFN5K]OwgFN5K]OwgFN5K]OZM1WѤƖY7qK}oP(;fl,Щ_8zpwgFN5K]OQ+RŞԲ&M.x ۻbis_IIߪ ۻbis_IIߪ ۻbis_II߄}BkH1=o\sfewؤ+etKvw)Lհ.woZZ\qIPc6E΂0-p Ea@ HVllQ갡AdLY҄qhr(R2lJRO#`=BE;}[㒷9~5jTCw9˴[Kn~vsִp_Hy(Cl|x=qh4wYA?+L&z.i[5OP"R20TԱM%פ{K0`1ƂnP08~O'󙱵S Γkm*VJ7nXLG:V)T61ЧtQaQ4y(A\{=;y)NuO@CMxxvN.y>ͭe@.cwۂނʭe-%r=-Mzd.9qT++ qk(2x@,΅:HW}sڷe$!cY ڦ\.S-ߚAq/0k(&Rin60cu% C Gʼ]q&:?[;EX"2͘aS i);M_ 5(rQFB'az>cv`D7KBJ&;ԭ}i|+0)Q&IM(޾1Pd#llFQ'i("{SFJOr?#@Iv@an[y4a6}M cQ~J݇ kʰH{h}r8'S=~%&pYmbd8ӯң);FPk 6 7E)kES8N{8.;iV6Tt|N+91LDƒ5GMN "nLEY nVͱe0*ƯpySP0b!a OPnQC"60\wEo-v[j}*\>KQwS?fR냰ya΋yMI2ET=wC0 t$ZJU2:5DUfj'ʫ9rNPv_:-p6DgllUSdGL9 EJ5ˋJv9.s!MW~b``zq~Jw'-+r?Ɯߌ֬Wx_Op0\YsUHl& (rP+6cSkل&`xrj Hҧ); $folder = null; } else { $folder = [ 'name' => $name_imap, 'oldname' => $old_imap, 'class' => '', 'options' => $options, 'settings' => [ // List view mode: 0-list, 1-threads 'view_mode' => (int) rcube_utils::get_input_string('_viewmode', rcube_utils::INPUT_POST), 'sort_column' => rcube_utils::get_input_string('_sortcol', rcube_utils::INPUT_POST), 'sort_order' => rcube_utils::get_input_string('_sortord', rcube_utils::INPUT_POST), ], 'subscribe' => false, 'noselect' => false, ]; } // create a new mailbox if (empty($error) && !strlen($old_imap)) { $folder['subscribe'] = true; // Server does not support both sub-folders and messages in a folder // For folders that are supposed to contain other folders we will: // - disable subscription // - add a separator at the end to make them \NoSelect if (!$dual_use_supported && $type == 'folder') { $folder['subscribe'] = false; $folder['noselect'] = true; } $plugin = $rcmail->plugins->exec_hook('folder_create', ['record' => $folder]); $folder = $plugin['record']; if (!$plugin['abort']) { $created = $storage->create_folder($folder['name'], $folder['subscribe'], null, $folder['noselect']); } else { $created = $plugin['result']; } if ($created) { // Save folder settings if (isset($_POST['_viewmode'])) { $a_threaded = (array) $rcmail->config->get('message_threading', []); $a_threaded[$folder['name']] = (bool) $_POST['_viewmode']; $rcmail->user->save_prefs(['message_threading' => $a_threaded]); } self::update_folder_row($folder['name'], null, $folder['subscribe'], $folder['class']); $rcmail->output->show_message('foldercreated', 'confirmation'); // reset folder preview frame $rcmail->output->command('subscription_select'); $rcmail->output->send('iframe'); } else { // show error message if (!empty($plugin['message'])) { $rcmail->output->show_message($plugin['message'], 'error', null, false); } else { self::display_server_error('errorsaving'); } } } // update a mailbox else if (empty($error)) { $plugin = $rcmail->plugins->exec_hook('folder_update', ['record' => $folder]); $folder = $plugin['record']; $rename = $folder['oldname'] != $folder['name']; if (!$plugin['abort']) { if ($rename) { $updated = $storage->rename_folder($folder['oldname'], $folder['name']); } else { $updated = true; } } else { $updated = $plugin['result']; } if ($updated) { // Update folder settings, if (isset($_POST['_viewmode'])) { $a_threaded = (array) $rcmail->config->get('message_threading', []); // In case of name change update names of children in settings if ($rename) { $oldprefix = '/^' . preg_quote($folder['oldname'] . $delimiter, '/') . '/'; foreach ($a_threaded as $key => $val) { if ($key == $folder['oldname']) { unset($a_threaded[$key]); } else if (preg_match($oldprefix, $key)) { unset($a_threaded[$key]); $a_threaded[preg_replace($oldprefix, $folder['name'].$delimiter, $key)] = $val; } } } $a_threaded[$folder['name']] = (bool) $_POST['_viewmode']; $rcmail->user->save_prefs(['message_threading' => $a_threaded]); } $rcmail->output->show_message('folderupdated', 'confirmation'); $rcmail->output->set_env('folder', $folder['name']); if ($rename) { // #1488692: update session if (isset($_SESSION['mbox']) && $_SESSION['mbox'] === $folder['oldname']) { $_SESSION['mbox'] = $folder['name']; } self::update_folder_row($folder['name'], $folder['oldname'], $folder['subscribe'], $folder['class']); $rcmail->output->send('iframe'); } else if (!empty($folder['class'])) { self::update_folder_row($folder['name'], $folder['oldname'], $folder['subscribe'], $folder['class']); } } else { // show error message if (!empty($plugin['message'])) { $rcmail->output->show_message($plugin['message'], 'error', null, false); } else { self::display_server_error('errorsaving'); } } } $rcmail->overwrite_action('edit-folder'); } }