| | |
| | | { |
| | | var $db; |
| | | var $conn; |
| | | var $root_ns = ''; |
| | | var $root_dir = ''; |
| | | var $mailbox = 'INBOX'; |
| | | var $list_page = 1; |
| | |
| | | if ($this->conn) |
| | | { |
| | | if (!empty($this->conn->rootdir)) |
| | | { |
| | | $this->set_rootdir($this->conn->rootdir); |
| | | $this->root_ns = preg_replace('/[.\/]$/', '', $this->conn->rootdir); |
| | | } |
| | | if (empty($this->delimiter)) |
| | | $this->get_hierarchy_delimiter(); |
| | | } |
| | |
| | | // not very performant but more precise (using UNDELETED) |
| | | $index = $this->_search_index($mailbox, $search_str); |
| | | $count = is_array($index) ? count($index) : 0; |
| | | |
| | | if ($mode == 'ALL') |
| | | $_SESSION['maxuid'][$mailbox] = $index ? $this->_id2uid(max($index)) : 0; |
| | | } |
| | | else { |
| | | if ($mode == 'UNSEEN') |
| | |
| | | foreach ($a as $val) |
| | | { |
| | | $j++; |
| | | $address = $val['address']; |
| | | $name = preg_replace(array('/^[\'"]/', '/[\'"]$/'), '', trim($val['name'])); |
| | | $address = trim($val['address']); |
| | | $name = trim($val['name']); |
| | | |
| | | if (preg_match('/^[\'"]/', $name) && preg_match('/[\'"]$/', $name)) |
| | | $name = preg_replace(array('/^[\'"]/', '/[\'"]$/'), '', $name); |
| | | |
| | | if ($name && $address && $name != $address) |
| | | $string = sprintf('%s <%s>', preg_match("/$special_chars/", $name) ? '"'.addcslashes($name, '"').'"' : $name, $address); |
| | | else if ($address) |
| | |
| | | $out[$j] = array('name' => $name, |
| | | 'mailto' => $address, |
| | | 'string' => $string); |
| | | |
| | | |
| | | if ($max && $j==$max) |
| | | break; |
| | | } |
| | |
| | | */ |
| | | function mod_mailbox($mbox_name, $mode='in') |
| | | { |
| | | if ((!empty($this->root_ns) && $this->root_ns == $mbox_name) || $mbox_name == 'INBOX') |
| | | if ($mbox_name == 'INBOX') |
| | | return $mbox_name; |
| | | |
| | | if (!empty($this->root_dir)) { |