| | |
| | | return; |
| | | } |
| | | |
| | | $save_arr = array(); |
| | | $dont_override = (array) $RCMAIL->config->get('dont_override'); |
| | | $save_arr = array(); |
| | | $dont_override = (array) $RCMAIL->config->get('dont_override'); |
| | | |
| | | // is there a sort type for this request? |
| | | if ($sort = rcube_utils::get_input_value('_sort', rcube_utils::INPUT_GET)) { |
| | |
| | | && $_SESSION['search_request'] == $_REQUEST['_search'] |
| | | ) { |
| | | $_SESSION['search'] = $RCMAIL->storage->get_search_set(); |
| | | |
| | | // multi-folder search |
| | | if ($_SESSION['search'][1]->multi) { |
| | | if (empty($cols)) |
| | | $cols = $_SESSION['list_attrib']['columns'] ? $_SESSION['list_attrib']['columns'] : (array)$CONFIG['list_cols']; |
| | | if (!in_array('folder', $cols)) |
| | | $cols[] = 'folder'; // Add 'folder' column to list |
| | | |
| | | // make message UIDs unique by appending the folder name |
| | | foreach ($a_headers as $i => $header) { |
| | | $header->uid .= '-'.$header->folder; |
| | | $header->flags['skip_mbox_check'] = true; |
| | | if ($header->parent_uid) |
| | | $header->parent_uid .= '-'.$header->folder; |
| | | } |
| | | } |
| | | } |
| | | // remove old search data |
| | | else if (empty($_REQUEST['_search']) && isset($_SESSION['search'])) { |
| | |
| | | rcmail_send_unread_count($mbox_name, !empty($_REQUEST['_refresh']), $unseen); |
| | | |
| | | // update message count display |
| | | $pages = ceil($count/$RCMAIL->storage->get_pagesize()); |
| | | $pages = ceil($count/$RCMAIL->storage->get_pagesize()); |
| | | $exists = $RCMAIL->storage->count($mbox_name, 'EXISTS'); |
| | | |
| | | $OUTPUT->set_env('messagecount', $count); |
| | | $OUTPUT->set_env('pagecount', $pages); |
| | | $OUTPUT->set_env('threading', $threading); |
| | | $OUTPUT->set_env('current_page', $count ? $RCMAIL->storage->get_page() : 1); |
| | | $OUTPUT->set_env('exists', $RCMAIL->storage->count($mbox_name, 'EXISTS')); |
| | | $OUTPUT->set_env('exists', $exists); |
| | | $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($count), $mbox_name); |
| | | |
| | | // add message rows |
| | |
| | | if (isset($a_headers) && count($a_headers)) { |
| | | if ($search_request) { |
| | | $OUTPUT->show_message('searchsuccessful', 'confirmation', array('nr' => $count)); |
| | | } |
| | | |
| | | // remember last HIGHESTMODSEQ value (if supported) |
| | | // we need it for flag updates in check-recent |
| | | $data = $RCMAIL->storage->folder_data($mbox_name); |
| | | if (!empty($data['HIGHESTMODSEQ'])) { |
| | | $_SESSION['list_mod_seq'] = $data['HIGHESTMODSEQ']; |
| | | } |
| | | } |
| | | else { |
| | |
| | | $OUTPUT->show_message('nomessagesfound', 'notice'); |
| | | } |
| | | |
| | | // set trash folder state |
| | | if ($mbox_name === $RCMAIL->config->get('trash_mbox')) { |
| | | $OUTPUT->command('set_trash_count', $exists); |
| | | } |
| | | |
| | | // send response |
| | | $OUTPUT->send(); |