/** * Invoque 'archive deleted item' hook in order to make a backup of a given file. * This method should be used whithin the FRS purge process * * @param FRSFile $file File to archive * @param Backend $backend Backend * * @return Boolean */ public function archiveBeforePurge($file, $backend) { $release = $this->_getFRSReleaseFactory()->getFRSReleaseFromDb($file->getReleaseId(), null, null, true); $sub_dir = $this->getUploadSubDirectory($release); $prefix = $file->getGroup()->getGroupId() . '_' . $sub_dir . '_' . $file->getFileID(); $status = true; $error = array(); $params = array('status' => &$status, 'source_path' => $this->getStagingPath($file), 'archive_prefix' => $prefix, 'error' => &$error); $this->_getEventManager()->processEvent('archive_deleted_item', $params); if ($params['status']) { return true; } else { $backend->log($params['error'], Backend::LOG_ERROR); return false; } }