Пример #1
0
 /**
  * Perform actual delete operation if the correct token has been provided.
  *
  * @param string $token Delete token as returned by previous call to delete()
  * @return void
  */
 public function doDelete($token)
 {
     if ($this->_deletionToken === null) {
         throw new Opus_Model_Exception('No deletion token set. Call delete() prior to doDelete().');
     }
     if ($this->_deletionToken !== $token) {
         throw new Opus_Model_Exception('Invalid deletion token passed.');
     }
     parent::delete();
 }
Пример #2
0
 /**
  * Remove the model instance from the database.
  *
  * @see    Opus_Model_AbstractDb::delete()
  * @return void
  *
  * TODO: Only remove if document does not have an URN/DOI!
  */
 public function deletePermanent()
 {
     $this->delete();
     // remove all files permanently
     $files = $this->getFile();
     foreach ($files as $file) {
         try {
             $file->doDelete($file->delete());
         } catch (Opus_Storage_FileNotFoundException $osfnfe) {
             // if the file was not found (permant delete still succeeds)
             $this->logger($osfnfe->getMessage());
         }
     }
     parent::delete();
 }