예제 #1
0
 /**
  * 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());
                 }
             }
         }
     }
 }
예제 #2
0
 /**
  * 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);
     }
 }
예제 #3
0
 /**
  * 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));
 }
예제 #4
0
 /**
  * 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);
 }
예제 #5
0
 /**
  * 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);
 }
예제 #6
0
 /**
  * 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);
 }
예제 #7
0
 /**
  * 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));
 }
예제 #8
0
 /**
  * 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;
                 }
             }
         }
     }
 }