| | |
| | | $msgs = split(',', $msgs); |
| | | |
| | | $this->search_string = $str; |
| | | $this->search_set = (array)$msgs; |
| | | $this->search_set = $msgs; |
| | | $this->search_charset = $charset; |
| | | $this->search_sort_field = $sort_field; |
| | | } |
| | |
| | | |
| | | // TODO: Add caching for message parts |
| | | |
| | | if (!$part) $part = 'TEXT'; |
| | | |
| | | if ($print) |
| | | { |
| | | $mode = $o_part->encoding == 'base64' ? 3 : ($o_part->encoding == 'quoted-printable' ? 1 : 2); |
| | |
| | | { |
| | | $this->db->query( |
| | | "UPDATE ".get_table_name('cache')." |
| | | SET created=".$this->db->now().", |
| | | data=? |
| | | SET created=". $this->db->now().", data=? |
| | | WHERE user_id=? |
| | | AND cache_key=?", |
| | | $data, |
| | |
| | | $folders[$folder] = rc_strtolower(rcube_charset_convert($folder, 'UTF-7')); |
| | | } |
| | | |
| | | // sort folders and place defaults on the top |
| | | asort($folders, SORT_LOCALE_STRING); |
| | | ksort($a_defaults); |
| | | |
| | | $folders = array_merge($a_defaults, array_keys($folders)); |
| | | |
| | | // finally we must rebuild the list to move |
| | | // subfolders of default folders to their place... |
| | | // ...also do this for the rest of folders because |
| | | // asort() is not properly sorting case sensitive names |
| | | |
| | | // set the type of folder name variable (#1485527) |
| | | while (list($key, $folder) = each($folders)) { |
| | | // set the type of folder name variable (#1485527) |
| | | $a_out[] = (string) $folder; |
| | | unset($folders[$key]); |
| | | foreach ($folders as $idx => $f) { |
| | | if (strpos($f, $folder.$delimiter) === 0) { |
| | | $a_out[] = (string) $f; |
| | | unset($folders[$idx]); |
| | | } |
| | | } |
| | | reset($folders); |
| | | $this->_rsort($folder, $delimiter, $folders, $a_out); |
| | | } |
| | | |
| | | return $a_out; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @access private |
| | | */ |
| | | function _rsort($folder, $delimiter, &$list, &$out) |
| | | { |
| | | while (list($key, $name) = each($list)) { |
| | | if (strpos($name, $folder.$delimiter) === 0) { |
| | | // set the type of folder name variable (#1485527) |
| | | $out[] = (string) $name; |
| | | unset($list[$key]); |
| | | $this->_rsort($name, $delimiter, $list, $out); |
| | | } |
| | | } |
| | | reset($list); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @access private |
| | | */ |