ArticleHandler::download PHP Метод

download() публичный Метод

Download an article file
public download ( array $args, PKPRequest $request )
$args array
$request PKPRequest
    function download($args, $request)
    {
        $articleId = isset($args[0]) ? $args[0] : 0;
        $galleyId = isset($args[1]) ? $args[1] : 0;
        $fileId = isset($args[2]) ? (int) $args[2] : 0;
        if ($this->galley->getRemoteURL()) {
            $request->redirectUrl($this->galley->getRemoteURL());
        }
        if ($this->userCanViewGalley($request, $articleId, $galleyId)) {
            if (!$fileId) {
                $submissionFile = $this->galley->getFile();
                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!
                    return null;
                }
            }
            if (!HookRegistry::call('ArticleHandler::download', array($this->article, &$this->galley, &$fileId))) {
                import('lib.pkp.classes.file.SubmissionFileManager');
                $submissionFileManager = new SubmissionFileManager($this->article->getContextId(), $this->article->getId());
                $submissionFileManager->downloadFile($fileId, null, $request->getUserVar('inline') ? true : false);
            }
        }
    }