/**
  * Download a file.
  * @param $args array ($articleId, $fileId, [$revision])
  */
 function downloadFile($args)
 {
     $articleId = isset($args[0]) ? $args[0] : 0;
     $fileId = isset($args[1]) ? $args[1] : 0;
     $revision = isset($args[2]) ? $args[2] : null;
     $articleIdRepo = isset($args[3]) ? $args[3] : null;
     //TODO: validation
     //%CBP% is we have passed a PID and namespace, download the file from the repository
     import('classes.file.ArticleFileManager');
     // FIXME
     if (intval($articleId) == false && intval($fileId) == false) {
         return ArticleFileManager::downloadFile($articleId, $fileId, false, false, false, $articleIdRepo);
     } else {
         $articleFileManager = new ArticleFileManager($articleId);
         return $articleFileManager->downloadFile($fileId, $revision);
     }
 }
Ejemplo n.º 2
0
 /**
  * View file.
  * @param $articleId int
  * @param $fileId int
  * @param $revision int
  */
 function viewFile($articleId, $fileId, $revision = null)
 {
     import('classes.file.ArticleFileManager');
     $articleFileManager = new ArticleFileManager($articleId);
     return $articleFileManager->downloadFile($fileId, $revision, true);
 }
Ejemplo n.º 3
0
 /**
  * Download published final report
  * @param $args ($articleId, fileId)
  */
 function downloadFinalReport($args)
 {
     $articleId = isset($args[0]) ? $args[0] : 0;
     $fileId = isset($args[1]) ? $args[1] : 0;
     import("classes.file.ArticleFileManager");
     $articleFileManager = new ArticleFileManager($articleId);
     return $articleFileManager->downloadFile($fileId);
 }
Ejemplo n.º 4
0
 /**
  * Download a supplementary file
  * @param $args array
  * @param $request Request
  */
 function downloadSuppFile($args, &$request)
 {
     $articleId = isset($args[0]) ? $args[0] : 0;
     $suppId = isset($args[1]) ? $args[1] : 0;
     $this->validate($request, $articleId);
     $journal =& $this->journal;
     $issue =& $this->issue;
     $article =& $this->article;
     $suppFileDao =& DAORegistry::getDAO('SuppFileDAO');
     if ($journal->getSetting('enablePublicSuppFileId')) {
         $suppFile =& $suppFileDao->getSuppFileByBestSuppFileId($article->getId(), $suppId);
     } else {
         $suppFile =& $suppFileDao->getSuppFile((int) $suppId, $article->getId());
     }
     if ($article && $suppFile) {
         import('file.ArticleFileManager');
         $articleFileManager = new ArticleFileManager($article->getId());
         if ($suppFile->isInlineable()) {
             $articleFileManager->viewFile($suppFile->getFileId());
         } else {
             $articleFileManager->downloadFile($suppFile->getFileId());
         }
     }
 }
Ejemplo n.º 5
0
 /**
  * Download file.
  * @param $articleId int
  * @param $fileId int
  */
 function downloadFile($articleId, $fileId)
 {
     import('classes.file.ArticleFileManager');
     $articleFileManager = new ArticleFileManager($articleId);
     return $articleFileManager->downloadFile($fileId);
 }
Ejemplo n.º 6
0
 /**
  * Download a supplementary file
  * @param $args array
  * @param $request Request
  */
 function downloadSuppFile($args, &$request)
 {
     $articleId = isset($args[0]) ? $args[0] : 0;
     $suppId = isset($args[1]) ? $args[1] : 0;
     $this->validate($request, $articleId);
     $journal =& $this->journal;
     $issue =& $this->issue;
     $article =& $this->article;
     $suppFileDao =& DAORegistry::getDAO('SuppFileDAO');
     if ($journal->getSetting('enablePublicSuppFileId')) {
         $suppFile =& $suppFileDao->getSuppFileByBestSuppFileId($suppId, $article->getId());
     } else {
         $suppFile =& $suppFileDao->getSuppFile((int) $suppId, $article->getId());
     }
     if ($article && $suppFile && !HookRegistry::call('ArticleHandler::downloadSuppFile', array(&$article, &$suppFile))) {
         import('classes.file.ArticleFileManager');
         $articleFileManager = new ArticleFileManager($article->getId());
         if ($suppFile->getRemoteURL()) {
             $request->redirectUrl($suppFile->getRemoteURL());
         }
         $articleFileManager->downloadFile($suppFile->getFileId(), null, $suppFile->isInlineable());
     }
 }
Ejemplo n.º 7
0
 /**
  * View a file in a browser (inline)
  * @param array $args
  * @param PKPRequest $request
  */
 function viewFile($args, $request, $hookName = 'ArticleHandler::viewFile', $inline = true)
 {
     $articleId = isset($args[0]) ? $args[0] : 0;
     $galleyId = isset($args[1]) ? $args[1] : 0;
     $fileId = isset($args[2]) ? (int) $args[2] : 0;
     if ($this->userCanViewGalley($request, $articleId, $galleyId)) {
         if (!$fileId) {
             $submissionFile = $this->galley->getFirstGalleyFile();
             if ($submissionFile) {
                 $fileId = $submissionFile->getFileId();
                 // The file manager expects the real article id.  Extract it from the submission file.
                 $articleId = $submissionFile->getSubmissionId();
             } else {
                 // no proof files assigned to this galley!
                 assert(false);
                 return null;
             }
         }
         if (!HookRegistry::call($hookName, array($this->article, &$this->galley, &$fileId))) {
             import('classes.file.ArticleFileManager');
             $articleFileManager = new ArticleFileManager($articleId);
             $articleFileManager->downloadFile($fileId, null, $inline);
         }
     }
 }
Ejemplo n.º 8
0
 /**
  * Download file.
  * @param $articleId int
  * @param $fileId int
  * @param $revision int
  */
 function downloadFile($articleId, $fileId, $revision = null)
 {
     import('file.ArticleFileManager');
     $articleFileManager = new ArticleFileManager($articleId);
     return $articleFileManager->downloadFile($fileId, $revision);
 }