Update a folder entry in the cache.
public updateFolder ( Horde_ActiveSync_Message_Folder $folder ) | ||
$folder | Horde_ActiveSync_Message_Folder | The folder object. |
/** * Update/Add a folder in the hierarchy cache. * * @param Horde_ActiveSync_Message_Folder $folder The folder object. * @param boolean $update Update the state objects? @since 2.4.0 */ public function updateFolderinHierarchy(Horde_ActiveSync_Message_Folder $folder, $update = false) { $this->_cache->updateFolder($folder); $cols = $this->_cache->getCollections(false); $cols[$folder->serverid]['serverid'] = $folder->_serverid; $this->_cache->updateCollection($cols[$folder->serverid]); if ($update) { $this->_as->state->updateServerIdInState($folder->serverid, $folder->_serverid); } }
protected function _testCacheFolders() { $log = new Horde_Test_Log(); $cache = new Horde_ActiveSync_SyncCache(self::$state, 'dev123', 'mike', self::$logger->getLogger()); // First Fixture $folder = new Horde_ActiveSync_Message_Folder(array('logger' => $log->getLogger(), 'protocolversion' => Horde_ActiveSync::VERSION_TWELVEONE)); $folder->type = Horde_ActiveSync::FOLDER_TYPE_CONTACT; $folder->serverid = '@Contacts@'; $folder->_serverid = '@Contacts@'; $cache->updateFolder($folder); // Second fixture $folder = new Horde_ActiveSync_Message_Folder(array('logger' => $log->getLogger(), 'protocolversion' => Horde_ActiveSync::VERSION_TWELVEONE)); $folder->type = Horde_ActiveSync::FOLDER_TYPE_INBOX; $folder->serverid = '519422f1-4c5c-4547-946a-1701c0a8015f'; $folder->_serverid = 'INBOX'; $cache->updateFolder($folder); $expected = array('@Contacts@' => array('class' => 'Contacts', 'serverid' => '@Contacts@', 'type' => 9), '519422f1-4c5c-4547-946a-1701c0a8015f' => array('class' => 'Email', 'serverid' => 'INBOX', 'type' => 2)); $this->assertEquals($expected, $cache->getFolders()); $expected = array('class' => 'Email', 'serverid' => 'INBOX', 'type' => 2); $this->assertEquals($expected, $cache->getFolder('519422f1-4c5c-4547-946a-1701c0a8015f')); $cache->save(); }