| | |
| | | |
| | | |
| | | /** |
| | | * PHP 4 object constructor |
| | | * |
| | | * @see rcube_imap::__construct |
| | | */ |
| | | function rcube_imap($db_conn) |
| | | { |
| | | $this->__construct($db_conn); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Connect to an IMAP server |
| | | * |
| | | * @param string Host to connect |
| | |
| | | { |
| | | $cap = strtoupper($cap); |
| | | return $this->capabilities[$cap]; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Checks the PERMANENTFLAGS capability of the current mailbox |
| | | * and returns true if the given flag is supported by the IMAP server |
| | | * |
| | | * @param string Permanentflag name |
| | | * @return mixed True if this flag is supported |
| | | * @access public |
| | | */ |
| | | function check_permflag($flag) |
| | | { |
| | | $flagsmap = $GLOBALS['IMAP_FLAGS']; |
| | | return (($imap_flag = $flagsmap[strtoupper($flag)]) && in_array_nocase($imap_flag, $this->conn->permanentflags)); |
| | | } |
| | | |
| | | |
| | |
| | | $folders = array_merge($a_defaults, array_keys($folders)); |
| | | |
| | | // finally we must rebuild the list to move |
| | | // subfolders of default folders to their place |
| | | // subfolders of default folders to their place... |
| | | // ...also do this for the rest of folders because |
| | | // asort() is not properly sorting case sensitive names |
| | | while (list($key, $folder) = each($folders)) { |
| | | $a_out[] = $folder; |
| | | unset($folders[$key]); |
| | | if (in_array(strtolower($folder), $this->default_folders_lc)) { |
| | | foreach ($folders as $idx => $f) { |
| | | if (strpos($f, $folder.$delimiter) === 0) { |
| | | $a_out[] = $f; |
| | | unset($folders[$idx]); |
| | | } |
| | | foreach ($folders as $idx => $f) { |
| | | if (strpos($f, $folder.$delimiter) === 0) { |
| | | $a_out[] = $f; |
| | | unset($folders[$idx]); |
| | | } |
| | | reset($folders); |
| | | } |
| | | } |
| | | reset($folders); |
| | | } |
| | | |
| | | return $a_out; |