_request = $request; $this->_submissionFileId = $submissionFileId; } // // Private methods // /** * Get a cache of submission files. Used because many policy subclasses * may be combined to fetch a single submission file. * * @return array */ public function &_getCache() { static $cache = []; return $cache; } // // Protected methods // /** * Get the requested submission file. * * @param PKPRequest $request * * @return SubmissionFile */ public function getSubmissionFile($request) { // Get the identifying info from the request if (is_null($this->_submissionFileId)) { $this->_submissionFileId = (int) $request->getUserVar('submissionFileId'); assert($this->_submissionFileId > 0); } // Fetch the object, caching if possible $cache = & $this->_getCache(); return $cache[$this->_submissionFileId] ??= Repo::submissionFile()->get($this->_submissionFileId); } /** * Get the current request object. * * @return PKPRequest */ public function getRequest() { return $this->_request; } } if (!PKP_STRICT_MODE) { class_alias('\PKP\security\authorization\internal\SubmissionFileBaseAccessPolicy', '\SubmissionFileBaseAccessPolicy'); }