One Hat Cyber Team
Your IP :
216.73.216.182
Server IP :
203.175.9.166
Server :
Linux tanggamus.iixcp.rumahweb.net 5.14.0-427.28.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 2 03:44:10 EDT 2024 x86_64
Server Software :
LiteSpeed
PHP Version :
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
cite5577
/
public_html
/
backup
/
pages
/
reviewer
/
View File Name :
ReviewerHandler.inc.php
<?php /** * @file pages/reviewer/ReviewerHandler.inc.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2003-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class ReviewerHandler * @ingroup pages_reviewer * * @brief Handle requests for reviewer functions. */ import('lib.pkp.pages.reviewer.PKPReviewerHandler'); class ReviewerHandler extends PKPReviewerHandler { /** * Constructor */ function __construct() { parent::__construct(); $this->addRoleAssignment( ROLE_ID_REVIEWER, array( 'submission', 'step', 'saveStep', 'showDeclineReview', 'saveDeclineReview', 'downloadFile' ) ); } /** * @copydoc PKPHandler::authorize() */ function authorize($request, &$args, $roleAssignments) { $context = $request->getContext(); if ($context->getData('reviewerAccessKeysEnabled')) { $this->_validateAccessKey($request); } import('lib.pkp.classes.security.authorization.SubmissionAccessPolicy'); $router = $request->getRouter(); $this->addPolicy(new SubmissionAccessPolicy( $request, $args, $roleAssignments )); return parent::authorize($request, $args, $roleAssignments); } /** * Tests if the request contains a valid access token. If this is the case * the regular login process will be skipped * * @param $request PKPRequest * @return void */ protected function _validateAccessKey($request) { $accessKeyCode = $request->getUserVar('key'); $reviewId = $request->getUserVar('reviewId'); if (!($accessKeyCode && $reviewId)) return; // Check if the user is already logged in $sessionManager = SessionManager::getManager(); $session = $sessionManager->getUserSession(); if ($session->getUserId()) return; import('lib.pkp.classes.security.AccessKeyManager'); $reviewerSubmissionDao = DAORegistry::getDAO('ReviewerSubmissionDAO'); /* @var $reviewerSubmissionDao ReviewerSubmissionDAO */ $reviewerSubmission = $reviewerSubmissionDao->getReviewerSubmission($reviewId); if (!$reviewerSubmission) return; // e.g. deleted review assignment // Validate the access key $context = $request->getContext(); $accessKeyManager = new AccessKeyManager(); $accessKeyHash = $accessKeyManager->generateKeyHash($accessKeyCode); $accessKey = $accessKeyManager->validateKey( $context->getId(), $reviewerSubmission->getReviewerId(), $accessKeyHash ); if (!$accessKey) return; // Get the reviewer user object $userDao = DAORegistry::getDAO('UserDAO'); /* @var $userDao UserDAO */ $user = $userDao->getById($accessKey->getUserId()); if (!$user) return; // Register the user object in the session import('lib.pkp.classes.security.Validation'); $reason = null; if (Validation::registerUserSession($user, $reason)) { $this->submission = $reviewerSubmission; $this->user = $user; } } /** * @copydoc PKPReviewerHandler::getReviewForm() */ public function getReviewForm($step, $request, $reviewerSubmission, $reviewAssignment) { switch ($step) { case 3: import('classes.submission.reviewer.form.ReviewerReviewStep3Form'); return new ReviewerReviewStep3Form($request, $reviewerSubmission, $reviewAssignment); } return parent::getReviewForm($step, $request, $reviewerSubmission, $reviewAssignment); } }