/** * expunge cache folder * * @param Felamimail_Model_Folder $_folder * @param Felamimail_Backend_ImapProxy $_imap * @throws Felamimail_Exception_IMAPFolderNotFound */ protected function _expungeCacheFolder(Felamimail_Model_Folder $_folder, Felamimail_Backend_ImapProxy $_imap) { try { $_imap->expunge(Felamimail_Model_Folder::encodeFolderName($_folder->globalname)); } catch (Zend_Mail_Storage_Exception $zmse) { Tinebase_Exception::log($zmse); if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Marking folder as not selectable: ' . print_r($_folder->toArray(), true)); } // mark folder as not selectable + finish cache update $_folder->is_selectable = 0; $_folder->cache_status = Felamimail_Model_Folder::CACHE_STATUS_COMPLETE; $_folder = Felamimail_Controller_Folder::getInstance()->update($_folder); // @todo check if folder is really deleted? //Felamimail_Controller_Cache_Folder::getInstance()->delete($_folder->getId()); throw new Felamimail_Exception_IMAPFolderNotFound('Folder not found / is not selectable: ' . $_folder->globalname); } }
/** * expunge cache folder * * @param Felamimail_Model_Folder $_folder * @param Felamimail_Backend_ImapProxy $_imap * @throws Felamimail_Exception_IMAPFolderNotFound */ protected function _expungeCacheFolder(Felamimail_Model_Folder $_folder, Felamimail_Backend_ImapProxy $_imap) { try { $_imap->expunge(Felamimail_Model_Folder::encodeFolderName($_folder->globalname)); } catch (Zend_Mail_Storage_Exception $zmse) { if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) { Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' Removing no longer existing folder ' . $_folder->globalname . ' from cache. ' . $zmse->getMessage()); } Felamimail_Controller_Cache_Folder::getInstance()->delete($_folder->getId()); throw new Felamimail_Exception_IMAPFolderNotFound('Folder not found: ' . $_folder->globalname); } }