/** * Log a user out. */ function signOut() { $this->validate(); $this->setupTemplate(); if (Validation::isLoggedIn()) { Validation::logout(); } $source = Request::getUserVar('source'); if (isset($source) && !empty($source)) { PKPRequest::redirectUrl(Request::getProtocol() . '://' . Request::getServerHost() . $source, false); } else { PKPRequest::redirect(null, Request::getRequestedPage()); } }
/** * Download an article file * @param array $args * @param PKPRequest $request */ 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); } } }