Horde_ActiveSync_Collections::getBackendIdForFolderUid PHP Method

getBackendIdForFolderUid() public method

Translate an EAS folder uid into a backend serverid.
public getBackendIdForFolderUid ( $folderid ) : string
return string The backend server id.
    public function getBackendIdForFolderUid($folderid)
    {
        // Always use RI for recipient cache.
        if ($folderid == 'RI') {
            return $folderid;
        }
        $folder = $this->_cache->getFolder($folderid);
        if ($folder) {
            return $folder['serverid'];
        } else {
            $this->_logger->err(sprintf('[%s] Horde_ActiveSync_Collections::getBackendIdForFolderUid failed because folder was not found in cache.', $this->_procid));
            throw new Horde_ActiveSync_Exception_FolderGone('Folder not found in cache.');
        }
    }

Usage Example

示例#1
0
文件: Search.php 项目: Gomez/horde
 /**
  * Receive, and parse, the incoming wbxml query.
  *
  * According to MS docs, OR is supported in the protocol, but will ALWAYS
  * return a searchToComplex status in Exchange 2007. Additionally, AND is
  * ONLY supported as the topmost element. No nested AND is allowed. All
  * such queries will return a searchToComplex status.
  *
  * @param boolean $subquery  Parsing a subquery.
  *
  * @return array
  */
 protected function _parseQuery($subquery = null)
 {
     $query = array();
     while (($type = $this->_decoder->getElementStartTag(self::SEARCH_AND) ? self::SEARCH_AND : ($this->_decoder->getElementStartTag(self::SEARCH_OR) ? self::SEARCH_OR : ($this->_decoder->getElementStartTag(self::SEARCH_EQUALTO) ? self::SEARCH_EQUALTO : ($this->_decoder->getElementStartTag(self::SEARCH_LESSTHAN) ? self::SEARCH_LESSTHAN : ($this->_decoder->getElementStartTag(self::SEARCH_GREATERTHAN) ? self::SEARCH_GREATERTHAN : ($this->_decoder->getElementStartTag(self::SEARCH_FREETEXT) ? self::SEARCH_FREETEXT : ($this->_decoder->getElementStartTag(Horde_ActiveSync::SYNC_FOLDERID) ? Horde_ActiveSync::SYNC_FOLDERID : ($this->_decoder->getElementStartTag(Horde_ActiveSync::SYNC_FOLDERTYPE) ? Horde_ActiveSync::SYNC_FOLDERTYPE : ($this->_decoder->getElementStartTag(Horde_ActiveSync::SYNC_DOCUMENTLIBRARY_LINKID) ? Horde_ActiveSync::SYNC_DOCUMENTLIBRARY_LINKID : ($this->_decoder->getElementStartTag(Horde_ActiveSync_Message_Mail::POOMMAIL_DATERECEIVED) ? Horde_ActiveSync_Message_Mail::POOMMAIL_DATERECEIVED : -1)))))))))) != -1) {
         switch ($type) {
             case self::SEARCH_AND:
             case self::SEARCH_OR:
             case self::SEARCH_EQUALTO:
             case self::SEARCH_LESSTHAN:
             case self::SEARCH_GREATERTHAN:
                 $q = array('op' => $type, 'value' => $this->_parseQuery(true));
                 if ($subquery) {
                     $query['subquery'][] = $q;
                 } else {
                     $query[] = $q;
                 }
                 $this->_decoder->getElementEndTag();
                 break;
             default:
                 if ($query[$type] = $this->_decoder->getElementContent()) {
                     if ($type == Horde_ActiveSync::SYNC_FOLDERID) {
                         $query['serverid'] = $this->_collections->getBackendIdForFolderUid($query[$type]);
                     }
                     $this->_decoder->getElementEndTag();
                 } else {
                     $this->_decoder->getElementStartTag(self::SEARCH_VALUE);
                     $query[$type] = $this->_decoder->getElementContent();
                     switch ($type) {
                         case Horde_ActiveSync_Message_Mail::POOMMAIL_DATERECEIVED:
                             $query[$type] = new Horde_Date($query[$type]);
                             break;
                     }
                     $this->_decoder->getElementEndTag();
                 }
                 break;
         }
     }
     return $query;
 }
All Usage Examples Of Horde_ActiveSync_Collections::getBackendIdForFolderUid