/**
  * 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);
     }
 }
예제 #2
0
 /**
  * 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);
     }
 }