getDataObjectId(); if (!$queryId) { return AuthorizationPolicy::AUTHORIZATION_DENY; } // Make sure the query belongs to the submission. $queryDao = DAORegistry::getDAO('QueryDAO'); /** @var QueryDAO $queryDao */ $query = $queryDao->getById($queryId); if (!$query instanceof Query) { return AuthorizationPolicy::AUTHORIZATION_DENY; } switch ($query->getAssocType()) { case Application::ASSOC_TYPE_SUBMISSION: $submission = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_SUBMISSION); if (!$submission instanceof Submission) { return AuthorizationPolicy::AUTHORIZATION_DENY; } if ($query->getAssocId() != $submission->getId()) { return AuthorizationPolicy::AUTHORIZATION_DENY; } break; default: return AuthorizationPolicy::AUTHORIZATION_DENY; } // Save the query to the authorization context. $this->addAuthorizedContextObject(Application::ASSOC_TYPE_QUERY, $query); return AuthorizationPolicy::AUTHORIZATION_PERMIT; } } if (!PKP_STRICT_MODE) { class_alias('\PKP\security\authorization\internal\QueryRequiredPolicy', '\QueryRequiredPolicy'); }