| | |
| | | return $this->conn->setMetadata($mailbox, $entries); |
| | | } |
| | | else if ($this->get_capability('ANNOTATEMORE') || $this->get_capability('ANNOTATEMORE2')) { |
| | | foreach ($entries as $entry => $value) { |
| | | foreach ((array)$entries as $entry => $value) { |
| | | list($ent, $attr) = $this->md2annotate($entry); |
| | | $entries[$entry] = array($ent, $attr, $value); |
| | | } |
| | |
| | | return $this->conn->deleteMetadata($mailbox, $entries); |
| | | } |
| | | else if ($this->get_capability('ANNOTATEMORE') || $this->get_capability('ANNOTATEMORE2')) { |
| | | foreach ($entries as $idx => $entry) { |
| | | foreach ((array)$entries as $idx => $entry) { |
| | | list($ent, $attr) = $this->md2annotate($entry); |
| | | $entries[$idx] = array($ent, $attr, NULL); |
| | | } |
| | |
| | | function get_metadata($mailbox, $entries, $options=array()) |
| | | { |
| | | if ($this->get_capability('METADATA') || |
| | | !strlen(($mailbox) && $this->get_capability('METADATA-SERVER')) |
| | | (!strlen($mailbox) && $this->get_capability('METADATA-SERVER')) |
| | | ) { |
| | | return $this->conn->getMetadata($mailbox, $entries, $options); |
| | | } |
| | |
| | | $res = array(); |
| | | |
| | | // Convert entry names |
| | | foreach ($entries as $entry) { |
| | | foreach ((array)$entries as $entry) { |
| | | list($ent, $attr) = $this->md2annotate($entry); |
| | | $queries[$attr][] = $ent; |
| | | } |
| | |
| | | * Converts the METADATA extension entry name into the correct |
| | | * entry-attrib names for older ANNOTATEMORE version. |
| | | * |
| | | * @param string Entry name |
| | | * @param string $entry Entry name |
| | | * |
| | | * @return array Entry-attribute list, NULL if not supported (?) |
| | | */ |
| | | private function md2annotate($name) |
| | | private function md2annotate($entry) |
| | | { |
| | | if (substr($entry, 0, 7) == '/shared') { |
| | | return array(substr($entry, 7), 'value.shared'); |