/** * Delete an author file from a submission. * @param $paper object * @param $fileId int * @param $revisionId int */ function deletePaperFile($paper, $fileId, $revisionId) { import('file.PaperFileManager'); $paperFileManager = new PaperFileManager($paper->getId()); $paperFileDao =& DAORegistry::getDAO('PaperFileDAO'); $authorSubmissionDao =& DAORegistry::getDAO('AuthorSubmissionDAO'); $paperFile =& $paperFileDao->getPaperFile($fileId, $revisionId, $paper->getId()); $authorSubmission = $authorSubmissionDao->getAuthorSubmission($paper->getId()); $authorRevisions = $authorSubmission->getAuthorFileRevisions(); // Ensure that this is actually an author file. if (isset($paperFile)) { HookRegistry::call('AuthorAction::deletePaperFile', array(&$paperFile, &$authorRevisions)); foreach ($authorRevisions as $stage) { foreach ($stage as $revision) { if ($revision->getFileId() == $paperFile->getFileId() && $revision->getRevision() == $paperFile->getRevision()) { $paperFileManager->deleteFile($paperFile->getFileId(), $paperFile->getRevision()); } } } } }
/** * Delete an annotated version of a paper. * @param $reviewId int * @param $fileId int * @param $revision int If null, then all revisions are deleted. */ function deleteReviewerVersion($reviewId, $fileId, $revision = null) { import("file.PaperFileManager"); $paperId = Request::getUserVar('paperId'); $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO'); $reviewAssignment =& $reviewAssignmentDao->getReviewAssignmentById($reviewId); if (!HookRegistry::call('ReviewerAction::deleteReviewerVersion', array(&$reviewAssignment, &$fileId, &$revision))) { $paperFileManager = new PaperFileManager($reviewAssignment->getPaperId()); $paperFileManager->deleteFile($fileId, $revision); } }
/** * Delete a supplementary file. * @param $args array, the first parameter is the supplementary file to delete */ function deleteSubmitSuppFile($args, $request) { import('classes.file.PaperFileManager'); $paperId = (int) $request->getUserVar('paperId'); $suppFileId = (int) array_shift($args); $this->validate($request, $paperId, 4); $this->setupTemplate($request, true); $schedConf =& $request->getSchedConf(); $paper =& $this->paper; if (!$schedConf->getSetting('acceptSupplementaryReviewMaterials')) { $request->redirect(null, null, 'index'); } $suppFileDao =& DAORegistry::getDAO('SuppFileDAO'); $suppFile = $suppFileDao->getSuppFile($suppFileId, $paperId); $suppFileDao->deleteSuppFileById($suppFileId, $paperId); if ($suppFile->getFileId()) { $paperFileManager = new PaperFileManager($paperId); $paperFileManager->deleteFile($suppFile->getFileId()); } $request->redirect(null, null, null, 'submit', '4', array('paperId' => $paperId)); }
/** * Clear All Submission Notes * @param $paperId int */ function clearAllSubmissionNotes($paperId) { if (HookRegistry::call('TrackDirectorAction::clearAllSubmissionNotes', array(&$paperId))) { return; } import('file.PaperFileManager'); $paperNoteDao =& DAORegistry::getDAO('PaperNoteDAO'); $fileIds = $paperNoteDao->getAllPaperNoteFileIds($paperId); if (!empty($fileIds)) { $paperFileDao =& DAORegistry::getDAO('PaperFileDAO'); $paperFileManager = new PaperFileManager($paperId); foreach ($fileIds as $fileId) { $paperFileManager->deleteFile($fileId); } } $paperNoteDao->clearAllPaperNotes($paperId); }
/** * Clear All Submission Notes * @param $paperId int */ function clearAllSubmissionNotes($paperId) { if (HookRegistry::call('TrackDirectorAction::clearAllSubmissionNotes', array(&$paperId))) { return; } import('classes.file.PaperFileManager'); $noteDao = DAORegistry::getDAO('NoteDAO'); $fileIds = $noteDao->getAllFileIds(ASSOC_TYPE_PAPER, $paperId); if (!empty($fileIds)) { $paperFileDao = DAORegistry::getDAO('PaperFileDAO'); $paperFileManager = new PaperFileManager($paperId); foreach ($fileIds as $fileId) { $paperFileManager->deleteFile($fileId); } } $noteDao->deleteByAssoc(ASSOC_TYPE_PAPER, $paperId); }
/** * Delete a paper by ID. * @param $paperId int */ function deletePaperById($paperId) { $this->authorDao->deleteAuthorsByPaper($paperId); $publishedPaperDao =& DAORegistry::getDAO('PublishedPaperDAO'); $publishedPaperDao->deletePublishedPaperByPaperId($paperId); $commentDao =& DAORegistry::getDAO('CommentDAO'); $commentDao->deleteCommentsByPaper($paperId); $paperNoteDao =& DAORegistry::getDAO('PaperNoteDAO'); $paperNoteDao->clearAllPaperNotes($paperId); $trackDirectorSubmissionDao =& DAORegistry::getDAO('TrackDirectorSubmissionDAO'); $trackDirectorSubmissionDao->deleteDecisionsByPaper($paperId); $trackDirectorSubmissionDao->deleteReviewStagesByPaper($paperId); $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO'); $reviewAssignmentDao->deleteReviewAssignmentsByPaper($paperId); $editAssignmentDao =& DAORegistry::getDAO('EditAssignmentDAO'); $editAssignmentDao->deleteEditAssignmentsByPaper($paperId); $paperCommentDao =& DAORegistry::getDAO('PaperCommentDAO'); $paperCommentDao->deletePaperComments($paperId); $paperGalleyDao =& DAORegistry::getDAO('PaperGalleyDAO'); $paperGalleyDao->deleteGalleysByPaper($paperId); $paperSearchDao =& DAORegistry::getDAO('PaperSearchDAO'); $paperSearchDao->deletePaperKeywords($paperId); $paperEventLogDao =& DAORegistry::getDAO('PaperEventLogDAO'); $paperEventLogDao->deletePaperLogEntries($paperId); $paperEmailLogDao =& DAORegistry::getDAO('PaperEmailLogDAO'); $paperEmailLogDao->deletePaperLogEntries($paperId); $paperEventLogDao =& DAORegistry::getDAO('PaperEventLogDAO'); $paperEventLogDao->deletePaperLogEntries($paperId); $suppFileDao =& DAORegistry::getDAO('SuppFileDAO'); $suppFileDao->deleteSuppFilesByPaper($paperId); // Delete paper files -- first from the filesystem, then from the database import('file.PaperFileManager'); $paperFileDao =& DAORegistry::getDAO('PaperFileDAO'); $paperFiles =& $paperFileDao->getPaperFilesByPaper($paperId); $paperFileManager = new PaperFileManager($paperId); foreach ($paperFiles as $paperFile) { $paperFileManager->deleteFile($paperFile->getFileId()); } $paperFileDao->deletePaperFiles($paperId); $this->update('DELETE FROM paper_settings WHERE paper_id = ?', $paperId); $this->update('DELETE FROM papers WHERE paper_id = ?', $paperId); }
/** * Delete a supplementary file. * @param $args array, the first parameter is the supplementary file to delete */ function deleteSubmitSuppFile($args) { import("file.PaperFileManager"); $paperId = Request::getUserVar('paperId'); $suppFileId = isset($args[0]) ? (int) $args[0] : 0; $this->validate($paperId, 4); $this->setupTemplate(true); $schedConf =& Request::getSchedConf(); $paper =& $this->paper; if (!$schedConf->getSetting('acceptSupplementaryReviewMaterials')) { Request::redirect(null, null, 'index'); } $suppFileDao =& DAORegistry::getDAO('SuppFileDAO'); $suppFile = $suppFileDao->getSuppFile($suppFileId, $paperId); $suppFileDao->deleteSuppFileById($suppFileId, $paperId); if ($suppFile->getFileId()) { $paperFileManager = new PaperFileManager($paperId); $paperFileManager->deleteFile($suppFile->getFileId()); } Request::redirect(null, null, null, 'submit', '4', array('paperId' => $paperId)); }
/** * Delete an image from an HTML galley. * @param $imageId int the file ID of the image */ function deleteImage($imageId) { import('classes.file.PaperFileManager'); $fileManager = new PaperFileManager($this->paperId); $galleyDao =& DAORegistry::getDAO('PaperGalleyDAO'); if (isset($this->galley)) { $images =& $this->galley->getImageFiles(); if (isset($images)) { for ($i = 0, $count = count($images); $i < $count; $i++) { if ($images[$i]->getFileId() == $imageId) { $fileManager->deleteFile($images[$i]->getFileId()); $galleyDao->deleteGalleyImage($this->galleyId, $imageId); unset($images[$i]); break; } } } } }