/** * 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(); }
/** * 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(); }