Skip to content

Commit

Permalink
Merge pull request pkp#10824 from jonasraoni/bugfix-main-10823-standa…
Browse files Browse the repository at this point in the history
…rdize-pkprouter-initialization

Bugfix main 10823 standardize pkprouter initialization
  • Loading branch information
jonasraoni authored Jan 20, 2025
2 parents ab9e6aa + da5da81 commit c1af638
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 25 deletions.
14 changes: 6 additions & 8 deletions classes/core/PKPRouter.php
Original file line number Diff line number Diff line change
Expand Up @@ -180,11 +180,9 @@ public function getRequestedContextPath(PKPRequest $request): string
/**
* A Generic call to a context defining object (e.g. a Journal, Press, or Server)
*
* @param $forceReload (optional) Reset a context even if it's already been loaded
*
* @return Context
* @param bool $forceReload (optional) Reset a context even if it's already been loaded
*/
public function getContext(PKPRequest $request, $forceReload = false)
public function getContext(PKPRequest $request, bool $forceReload = false): ?Context
{
if ($forceReload || !isset($this->_context)) {
// Retrieve the requested context path (this validates the path)
Expand Down Expand Up @@ -296,10 +294,10 @@ abstract public function handleAuthorizationFailure(
* 3) initialization
* 4) execution
* 5) client response
*
* @param $validate whether or not to execute the validation step.
* @param array{0:PKPHandler,1:string} $serviceEndpoint
* @param bool $validate whether or not to execute the validation step.
*/
public function _authorizeInitializeAndCallRequest(callable $serviceEndpoint, PKPRequest $request, array $args, bool $validate = true): void
public function _authorizeInitializeAndCallRequest(callable|array $serviceEndpoint, PKPRequest $request, array $args, bool $validate = true): void
{
$dispatcher = $this->getDispatcher();

Expand All @@ -319,7 +317,7 @@ public function _authorizeInitializeAndCallRequest(callable $serviceEndpoint, PK
if ($serviceEndpoint[0]->authorize($request, $args, $roleAssignments)) {
// Execute class-wide data integrity checks.
if ($validate) {
$serviceEndpoint[0]->validate($request, $args);
$serviceEndpoint[0]->validate(null, $request);
}

// Let the handler initialize itself.
Expand Down
3 changes: 2 additions & 1 deletion classes/handler/PKPHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -411,8 +411,9 @@ public function validate($requiredContexts = null, $request = null)
* authorization.
*
* @param Request $request
* @param array $args
*/
public function initialize($request)
public function initialize($request, $args = null)
{
// Set the controller id to the requested
// page (page routing) or component name
Expand Down
4 changes: 2 additions & 2 deletions classes/metadata/MetadataDataObjectAdapter.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ public function __construct($filterGroup, $mode = null)
// extracting meta-data.
$metadataTypeDescription = null; /** @var MetadataTypeDescription $metadataTypeDescription */
$dataObjectTypeDescription = null; /** @var ClassTypeDescription $dataObjectTypeDescription */
$inputType = & $this->getInputType();
$outputType = & $this->getOutputType();
$inputType = $this->getInputType();
$outputType = $this->getOutputType();
if (is_null($mode)) {
if ($inputType instanceof \PKP\metadata\MetadataTypeDescription) {
$mode = self::METADATA_DOA_INJECTION_MODE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ public function authorize($request, &$args, $roleAssignments)
/**
* @copydoc InformationCenterHandler::initialize
*/
public function initialize($request)
public function initialize($request, $args = null)
{
parent::initialize($request);
parent::initialize($request, $args);

$this->_stageId = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_WORKFLOW_STAGE);
$this->submissionFile = Repo::submissionFile()->get($request->getUserVar('submissionFileId'));
Expand Down
4 changes: 2 additions & 2 deletions controllers/informationCenter/InformationCenterHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@ public function authorize($request, &$args, $roleAssignments)
*
* @param PKPRequest $request
*/
public function initialize($request)
public function initialize($request, $args = null)
{
parent::initialize($request);
parent::initialize($request, $args);

// Fetch the submission and file to display information about
$this->_submission = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_SUBMISSION);
Expand Down
4 changes: 2 additions & 2 deletions controllers/modals/documentLibrary/DocumentLibraryHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ public function __construct()
/**
* @copydoc PKPHandler::initialize()
*/
public function initialize($request)
public function initialize($request, $args = null)
{
parent::initialize($request);
parent::initialize($request, $args);

$this->_submission = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_SUBMISSION);
$this->setupTemplate($request);
Expand Down
4 changes: 2 additions & 2 deletions controllers/modals/publish/PublishHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ public function __construct()
/**
* @copydoc PKPHandler::initialize()
*/
public function initialize($request)
public function initialize($request, $args = null)
{
parent::initialize($request);
parent::initialize($request, $args);
$this->submission = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_SUBMISSION);
$this->publication = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_PUBLICATION);
$this->setupTemplate($request);
Expand Down
4 changes: 2 additions & 2 deletions controllers/wizard/fileUpload/FileUploadWizardHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -193,9 +193,9 @@ public function authorize($request, &$args, $roleAssignments)
/**
* @copydoc PKPHandler::initialize()
*/
public function initialize($request)
public function initialize($request, $args = null)
{
parent::initialize($request);
parent::initialize($request, $args);
// Configure the wizard with the authorized submission and file stage.
// Validated in authorize.
$this->_fileStage = (int)$request->getUserVar('fileStage');
Expand Down
4 changes: 2 additions & 2 deletions pages/admin/AdminHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public function authorize($request, &$args, $roleAssignments)
/**
* @copydoc PKPHandler::initialize()
*/
public function initialize($request)
public function initialize($request, $args = null)
{
$templateMgr = TemplateManager::getManager($request);

Expand Down Expand Up @@ -141,7 +141,7 @@ public function initialize($request)
]);
}

return parent::initialize($request);
return parent::initialize($request, $args);
}

/**
Expand Down
4 changes: 2 additions & 2 deletions pages/management/ManagementHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ class ManagementHandler extends Handler
/**
* @see PKPHandler::initialize()
*/
public function initialize($request)
public function initialize($request, $args = null)
{
parent::initialize($request);
parent::initialize($request, $args);

$templateMgr = TemplateManager::getManager($request);
$templateMgr->assign('pageComponent', 'SettingsPage');
Expand Down

0 comments on commit c1af638

Please sign in to comment.