| | |
| | | { |
| | | public $multi = true; |
| | | public $sets = array(); |
| | | public $folder; |
| | | |
| | | protected $meta = array(); |
| | | protected $index = array(); |
| | | protected $sorting; |
| | | protected $order = 'ASC'; |
| | | |
| | | |
| | |
| | | $this->meta['count'] += $result->count(); |
| | | } |
| | | |
| | | /** |
| | | * Store a global index of (sorted) message UIDs |
| | | */ |
| | | public function set_message_index($headers, $sort_field, $sort_order) |
| | | { |
| | | $this->index = array(); |
| | | foreach ($headers as $header) { |
| | | $this->index[] = $header->uid . '-' . $header->folder; |
| | | } |
| | | |
| | | $this->sorting = $sort_field; |
| | | $this->order = $sort_order; |
| | | } |
| | | |
| | | /** |
| | | * Checks the result from IMAP command |
| | |
| | | */ |
| | | public function exists($msgid, $get_index = false) |
| | | { |
| | | return false; |
| | | if (!empty($this->folder)) { |
| | | $msgid .= '-' . $this->folder; |
| | | } |
| | | return array_search($msgid, $this->index); |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | public function get() |
| | | { |
| | | return array(); |
| | | return $this->index; |
| | | } |
| | | |
| | | |
| | |
| | | * |
| | | * @return int Element value |
| | | */ |
| | | public function get_element($index) |
| | | public function get_element($idx) |
| | | { |
| | | return null; |
| | | switch ($idx) { |
| | | case 'FIRST': return $this->index[0]; |
| | | case 'LAST': return end($this->index); |
| | | default: return $this->index[$idx]; |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | public function get_parameters($param=null) |
| | | { |
| | | $params = array( |
| | | 'SORT' => $this->sorting, |
| | | 'ORDER' => $this->order, |
| | | ); |
| | | |
| | | if ($param !== null) { |
| | | return $params[$param]; |
| | | } |
| | | |
| | | return $params; |
| | | } |
| | | |