getContext(); $stateComponents = []; // Publication and Galley DOIs if (count(array_intersect($enabledDoiTypes, [Repo::doi()::TYPE_PUBLICATION, Repo::doi()::TYPE_REPRESENTATION])) > 0) { $submissionDoiListPanel = new DoiListPanel( 'submissionDoiListPanel', __('doi.manager.submissionDois'), array_merge( $commonArgs, [ 'apiUrl' => $request->getDispatcher()->url($request, PKPApplication::ROUTE_API, $context->getPath(), 'submissions'), 'getParams' => [ 'stageIds' => [WORKFLOW_STAGE_ID_EDITING, WORKFLOW_STAGE_ID_PRODUCTION], ], 'isSubmission' => true, 'includeIssuesFilter' => true, 'itemType' => 'submission' ] ) ); $stateComponents[$submissionDoiListPanel->id] = $submissionDoiListPanel->getConfig(); } // Issues DOIs if (in_array(Repo::doi()::TYPE_ISSUE, $enabledDoiTypes)) { $issueDoiListPanel = new DoiListPanel( 'issueDoiListPanel', __('doi.manager.issueDois'), array_merge( $commonArgs, [ 'apiUrl' => $request->getDispatcher()->url($request, PKPApplication::ROUTE_API, $context->getPath(), 'issues'), 'getParams' => [], 'isSubmission' => false, 'includeIssuesFilter' => false, 'itemType' => 'issue', ] ) ); $stateComponents[$issueDoiListPanel->id] = $issueDoiListPanel->getConfig(); } return $stateComponents; } /** * Set Smarty template variables. Which tabs to display are set by the APP. */ protected function getTemplateVariables(array $enabledDoiTypes): array { $templateVariables = parent::getTemplateVariables($enabledDoiTypes); return array_merge( $templateVariables, [ 'displaySubmissionsTab' => count(array_intersect($enabledDoiTypes, [Repo::doi()::TYPE_PUBLICATION, Repo::doi()::TYPE_REPRESENTATION])) > 0, 'displayIssuesTab' => in_array(Repo::doi()::TYPE_ISSUE, $enabledDoiTypes), ] ); } }