Horde_ActiveSync_SyncCache::validateCollectionsFromCache PHP Method

validateCollectionsFromCache() public method

Validate the collections from the cache and fill in any missing values from the folder cache.
public validateCollectionsFromCache ( array &$collections )
$collections array A reference to an array of collections.
    public function validateCollectionsFromCache(&$collections)
    {
        foreach ($collections as $key => $values) {
            if (!isset($values['class']) && isset($this->_data['folders'][$values['id']]['class'])) {
                $collections[$key]['class'] = $this->_data['folders'][$values['id']]['class'];
                $this->_markCollectionsDirty($key);
            }
            if (!isset($values['type']) && isset($this->_data['folders'][$values['id']]['type'])) {
                $collections[$key]['type'] = $this->_data['folders'][$values['id']]['type'];
                $this->_markCollectionsDirty($key);
            }
            if (!isset($values['filtertype']) && isset($this->_data['collections'][$values['id']]['filtertype'])) {
                $collections[$key]['filtertype'] = $this->_data['collections'][$values['id']]['filtertype'];
                $this->_markCollectionsDirty($key);
            }
            if (!isset($values['mimesupport']) && isset($this->_data['collections'][$values['id']]['mimesupport'])) {
                $collections[$key]['mimesupport'] = $this->_data['collections'][$values['id']]['mimesupport'];
                $this->_markCollectionsDirty($key);
            }
            if (empty($values['bodyprefs']) && isset($this->_data['collections'][$values['id']]['bodyprefs'])) {
                $collections[$key]['bodyprefs'] = $this->_data['collections'][$values['id']]['bodyprefs'];
                $this->_markCollectionsDirty($key);
            }
            if (empty($values['truncation']) && isset($this->_data['collections'][$values['id']]['truncation'])) {
                $collections[$key]['truncation'] = $this->_data['collections'][$values['id']]['truncation'];
                $this->_markCollectionsDirty($key);
            }
            if (empty($values['mimetruncation']) && isset($this->_data['collections'][$values['id']]['mimetruncation'])) {
                $collections[$key]['mimetruncation'] = $this->_data['collections'][$values['id']]['mimetruncation'];
                $this->_markCollectionsDirty($key);
            }
            if (empty($values['serverid']) && isset($this->_data['collections'][$values['id']]['serverid'])) {
                $collections[$key]['serverid'] = $this->_data['collections'][$values['id']]['serverid'];
                $this->_markCollectionsDirty($key);
            }
            if (!isset($values['windowsize'])) {
                $collections[$key]['windowsize'] = isset($this->_data['collections'][$values['id']]['windowsize']) ? $this->_data['collections'][$values['id']]['windowsize'] : 100;
                $this->_markCollectionsDirty($key);
            }
            // According to specs, if WINDOWSIZE is out of bounds, interpret as 512.
            if ($collections[$key]['windowsize'] > Horde_ActiveSync_Request_Sync::MAX_WINDOW_SIZE || $collections[$key]['windowsize'] == 0) {
                $collections[$key]['windowsize'] = self::MAX_WINDOW_SIZE;
                $this->_markCollectionsDirty($key);
            }
            if (isset($values['synckey']) && $values['synckey'] == '0' && isset($this->_data['collections'][$values['id']]['synckey']) && $this->_data['collections'][$values['id']]['synckey'] != '0') {
                unset($this->_data['collections'][$values['id']]['synckey']);
                $this->_markCollectionsDirty($key);
            }
            if (!isset($values['pingable']) && isset($this->_data['collections'][$values['id']]['pingable'])) {
                $collections[$key]['pingable'] = $this->_data['collections'][$values['id']]['pingable'];
                $this->_markCollectionsDirty($key);
            }
        }
    }

Usage Example

Esempio n. 1
0
 /**
  * Validates the collection data from the syncCache, filling in missing
  * values from the folder cache.
  */
 public function validateFromCache()
 {
     $this->_cache->validateCollectionsFromCache($this->_collections);
 }
All Usage Examples Of Horde_ActiveSync_SyncCache::validateCollectionsFromCache