/** * Constructor * @param $request Request * @param $submissionId int the ID of the submission to present link for * to show information about. */ function SubmissionLibraryLinkAction($request, $submissionId) { $dispatcher = $request->getDispatcher(); AppLocale::requireComponents(LOCALE_COMPONENT_PKP_EDITOR); import('lib.pkp.classes.linkAction.request.AjaxModal'); parent::LinkAction('editorialHistory', new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.documentLibrary.DocumentLibraryHandler', 'documentLibrary', null, array('submissionId' => $submissionId)), __('editor.submissionLibrary'), 'modal_information'), __('editor.submissionLibrary'), 'more_info'); }
/** * Constructor * @param $request Request * @param $submissionId integer The submission to expedite. */ function ExpediteSubmissionLinkAction($request, $submissionId) { $router = $request->getRouter(); $dispatcher = $router->getDispatcher(); import('lib.pkp.classes.linkAction.request.AjaxModal'); parent::LinkAction('expedite', new AjaxModal($dispatcher->url($request, ROUTE_PAGE, null, 'workflow', 'expedite', (int) $submissionId), __('submission.submit.expediteSubmission'), 'modal_information'), __('submission.submit.expediteSubmission')); }
/** * Constructor * @param $request Request * @param $modalTitle string Title of the modal * @param $actionArgs array The action arguments. */ function EmailLinkAction($request, $modalTitle, $actionArgs) { $router = $request->getRouter(); // Instantiate the view email modal. $ajaxModal = new AjaxModal($router->url($request, null, null, 'viewEmail', null, $actionArgs), $modalTitle, 'modal_email'); // Configure the link action. parent::LinkAction('viewEmail', $ajaxModal, $modalTitle, 'notify'); }
/** * Constructor * @param $request Request * @param $signoffId int The signoff id that will * be used to get notes from. * @param $submissionId int The signoff submission id. * @param $stageId int The signoff stage id. */ function ReadSignoffHistoryLinkAction($request, $signoffId, $submissionId, $stageId) { // Instantiate the redirect action request. $dispatcher = $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $actionArgs = array('signoffId' => $signoffId, 'submissionId' => $submissionId, 'stageId' => $stageId); parent::LinkAction('history', new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'informationCenter.SignoffInformationCenterHandler', 'viewSignoffHistory', null, $actionArgs), __('submission.history'), 'modal_information', true), __('submission.history'), 'more_info'); }
/** * Constructor * @param $request Request * @param $actionArgs array The action arguments. */ function SendThankYouLinkAction($request, $modalTitle, $actionArgs) { // Instantiate the send thank you modal. $router = $request->getRouter(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $ajaxModal = new AjaxModal($router->url($request, null, null, 'editThankReviewer', null, $actionArgs), __($modalTitle), 'modal_email'); // Configure the link action. parent::LinkAction('thankReviewer', $ajaxModal, __('common.accepted'), 'accepted'); }
/** * Constructor * @param $request Request */ function ViewCompetingInterestGuidelinesLinkAction($request) { $context = $request->getContext(); // Instantiate the view competing interests modal. import('lib.pkp.classes.linkAction.request.ConfirmationModal'); $viewCompetingInterestsModal = new ConfirmationModal($context->getLocalizedSetting('competingInterests'), __('reviewer.submission.competingInterests'), null, null, false, false); // Configure the link action. parent::LinkAction('viewCompetingInterestGuidelines', $viewCompetingInterestsModal, __('reviewer.submission.competingInterests')); }
/** * Constructor * @param $request Request */ function DownloadAllLinkAction(&$request, $actionArgs) { // Instantiate the redirect action request. $router =& $request->getRouter(); import('lib.pkp.classes.linkAction.request.RedirectAction'); $redirectRequest = new RedirectAction($router->url($request, null, null, 'downloadAllFiles', null, $actionArgs)); // Configure the link action. parent::LinkAction('downloadAll', $redirectRequest, __('submission.files.downloadAll'), 'getPackage'); }
/** * Constructor * @param $request Request * @param $libraryFile LibraryFile the library file to * link to. */ function DownloadLibraryFileLinkAction($request, $libraryFile) { // Instantiate the redirect action request. $router = $request->getRouter(); import('lib.pkp.classes.linkAction.request.PostAndRedirectAction'); $redirectRequest = new PostAndRedirectAction($router->url($request, null, 'api.file.FileApiHandler', 'enableLinkAction', null, $this->getActionArgs($libraryFile)), $router->url($request, null, 'api.file.FileApiHandler', 'downloadLibraryFile', null, $this->getActionArgs($libraryFile))); // Configure the file link action. parent::LinkAction('downloadFile', $redirectRequest, $libraryFile->getLocalizedName(), $libraryFile->getDocumentType()); }
/** * Constructor * @param $request Request * @param $submissionId integer * @param $reviewAssignmentId integer */ function ReviewerViewMetadataLinkAction($request, $submissionId, $reviewAssignmentId) { // Instantiate the meta-data modal. $dispatcher = $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.submissionMetadata.ReviewerSubmissionMetadataHandler', 'fetch', null, array('submissionId' => $submissionId, 'reviewAssignmentId' => $reviewAssignmentId)), __('reviewer.step1.viewAllDetails'), 'modal_information'); // Configure the link action. parent::LinkAction('viewMetadata', $modal, __('reviewer.step1.viewAllDetails')); }
/** * Constructor * @param $request Request * @param $stageId int Stage ID of review assignment */ function ViewReviewGuidelinesLinkAction($request, $stageId) { $context = $request->getContext(); // Instantiate the view review guidelines confirmation modal. import('lib.pkp.classes.linkAction.request.ConfirmationModal'); $viewGuidelinesModal = new ConfirmationModal($context->getLocalizedSetting($stageId == WORKFLOW_STAGE_ID_EXTERNAL_REVIEW ? 'reviewGuidelines' : 'internalReviewGuidelines'), __('reviewer.submission.guidelines'), null, null, false); // Configure the link action. parent::LinkAction('viewReviewGuidelines', $viewGuidelinesModal, __('reviewer.submission.guidelines')); }
/** * Constructor * @param $request Request * @param $actionArgs array The action arguments. */ function SendReminderLinkAction($request, $modalTitle, $actionArgs) { // Instantiate the send review modal. $router = $request->getRouter(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $ajaxModal = new AjaxModal($router->url($request, null, null, 'editReminder', null, $actionArgs), __($modalTitle), 'review_reminder'); // Configure the link action. parent::LinkAction('sendReminder', $ajaxModal, __('editor.review.sendReminder'), 'overdue'); }
/** * Constructor * @param $request Request * @param $monographId integer The submission to show meta-data for. */ function ViewMetadataLinkAction(&$request, $monographId) { // Instantiate the meta-data modal. $dispatcher =& $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.submissionMetadata.SubmissionDetailsSubmissionMetadataHandler', 'fetch', null, array('monographId' => $monographId)), __('submission.viewMetadata')); // Configure the link action. parent::LinkAction('viewMetadata', $modal, __('submission.viewMetadata'), 'more_info'); }
/** * Constructor * @param $request Request * @param $stageId int Stage ID of review assignment */ function __construct($request, $stageId) { $this->_context = $request->getContext(); $this->_stageId = $stageId; import('lib.pkp.classes.linkAction.request.ConfirmationModal'); $viewGuidelinesModal = new ConfirmationModal($this->getGuidelines(), __('reviewer.submission.guidelines'), null, null, false); // Configure the link action. parent::__construct('viewReviewGuidelines', $viewGuidelinesModal, __('reviewer.submission.guidelines')); }
/** * Constructor * @param $request Request * @param $monographId integer The submission to show meta-data for. * @param $stageId integer The stage ID of the viewer's context * @param $selectedFormatId integer The publication format ID that * will be used to open the correspondent publication format tab. If * none is passed, the first catalog entry tab will be opened. * @param $image string */ function __construct($request, $monographId, $stageId, $selectedFormatId = null, $image = 'information') { $actionArgs = array('submissionId' => $monographId, 'stageId' => $stageId); if ($selectedFormatId) { $actionArgs['selectedFormatId'] = $selectedFormatId; } $dispatcher = $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.AjaxModal'); parent::__construct('catalogEntry', new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.submissionMetadata.CatalogEntryHandler', 'fetch', null, $actionArgs), __('submission.catalogEntry'), 'modal_more_info'), __('submission.catalogEntry'), $image, $image == 'completed' ? __('grid.action.formatInCatalogEntry') : null); }
/** * Constructor * @param $request Request * @param $reviewAssignment ReviewAssignment the review assignment * to show information about. * @param $submission Submission The reviewed submission. */ function UnconsiderReviewLinkAction($request, $reviewAssignment, $submission) { // Instantiate the information center modal. $router = $request->getRouter(); $actionArgs = array('submissionId' => $reviewAssignment->getSubmissionId(), 'reviewAssignmentId' => $reviewAssignment->getId(), 'stageId' => $reviewAssignment->getStageId()); import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal'); $modal = new RemoteActionConfirmationModal(__('editor.review.unconsiderReviewText'), __('editor.review.unconsiderReview'), $router->url($request, null, 'grid.users.reviewer.ReviewerGridHandler', 'unconsiderReview', null, $actionArgs), 'modal_information'); // Configure the link action. parent::LinkAction('unconsiderReview', $modal, __('common.complete'), 'completed'); }
/** * Constructor * @param $request Request * @param $actionArgs array The parameters required by the * link action target to identify a list of files. * @param $actionLabel string The localized label of the link action. */ function SelectFilesLinkAction(&$request, $actionArgs, $actionLabel) { // Create an ajax action request that'll contain // the file selection grid. import('lib.pkp.classes.linkAction.request.AjaxModal'); $router =& $request->getRouter(); $ajaxModal = new AjaxModal($router->url($request, null, null, 'selectFiles', null, $actionArgs), $actionLabel); // Configure the link action. parent::LinkAction('selectFiles', $ajaxModal, $actionLabel, 'add'); }
/** * Constructor * @param $request Request * @param $actionArgs array The parameters required by the * link action target to identify a list of files. * @param $actionLabel string The localized label of the link action. * @param $modalTitle string the (optional) title to be used for the modal. */ function __construct($request, $actionArgs, $actionLabel, $modalTitle = null) { // Create an ajax action request that'll contain // the file selection grid. import('lib.pkp.classes.linkAction.request.AjaxModal'); $modalTitle = isset($modalTitle) ? $modalTitle : $actionLabel; $router = $request->getRouter(); $ajaxModal = new AjaxModal($router->url($request, null, null, 'selectFiles', null, $actionArgs), $modalTitle, 'modal_add_file'); // Configure the link action. parent::__construct('selectFiles', $ajaxModal, $actionLabel, 'add'); }
/** * Constructor * @param $request Request * @param $signoff Signoff The signoff that will * be used to get notes from. * @param $submissionId int The signoff submission id. * @param $stageId int The signoff stage id. */ function SignoffNotesLinkAction($request, $signoff, $submissionId, $stageId) { // Instantiate the redirect action request. $dispatcher = $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $actionArgs = array('signoffId' => $signoff->getId(), 'submissionId' => $submissionId, 'stageId' => $stageId); $user = $request->getUser(); $router = $request->getRouter(); $ajaxModal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'informationCenter.SignoffInformationCenterHandler', 'viewNotes', null, $actionArgs), __('submission.informationCenter.notes')); parent::LinkAction('viewSignoffNotes', $ajaxModal, '', $this->_getNoteState($signoff, $user)); }
/** * Constructor * @param $request Request * @param $actionArgs array * @param $files array Files to be downloaded. */ function DownloadAllLinkAction($request, $actionArgs, $files) { // Instantiate the redirect action request. $router = $request->getRouter(); $filesIdsAndRevisions = $this->_getFilesIdsAndRevisions($files); $actionArgs['filesIdsAndRevisions'] = $filesIdsAndRevisions; import('lib.pkp.classes.linkAction.request.PostAndRedirectAction'); $redirectRequest = new PostAndRedirectAction($router->url($request, null, 'api.file.FileApiHandler', 'recordDownload', null, $actionArgs), $router->url($request, null, 'api.file.FileApiHandler', 'downloadAllFiles', null, $actionArgs)); // Configure the link action. parent::LinkAction('downloadAll', $redirectRequest, __('submission.files.downloadAll'), 'getPackage'); }
/** * Constructor * @param $request Request */ function MonographlessCatalogEntryLinkAction($request) { $router = $request->getRouter(); $dispatcher = $router->getDispatcher(); AppLocale::requireComponents(LOCALE_COMPONENT_APP_SUBMISSION); $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.submissionMetadata.SelectMonographHandler', 'fetch', null), __('submission.catalogEntry.new'), 'modal_more_info'); // Configure the link action. if (!isset($action)) { $action = 'newCatalogEntry'; } parent::LinkAction($action, $modal, __('submission.catalogEntry.new'), 'information'); }
/** * Constructor * @param $request Request * @param $reviewAssignment ReviewAssignment the review assignment * to show information about. * @param $submission Submission The reviewed submission. * @param $user User The user. * @param $isUnread bool Has a review been read */ function ReviewNotesLinkAction($request, $reviewAssignment, $submission, $user, $isUnread = null) { // Instantiate the information center modal. $router = $request->getRouter(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $actionArgs = array('submissionId' => $reviewAssignment->getSubmissionId(), 'reviewAssignmentId' => $reviewAssignment->getId(), 'stageId' => $reviewAssignment->getStageId()); $ajaxModal = new AjaxModal($router->url($request, null, 'grid.users.reviewer.ReviewerGridHandler', 'readReview', null, $actionArgs), __('editor.review') . ': ' . $submission->getLocalizedTitle(), 'modal_information'); $viewsDao = DAORegistry::getDAO('ViewsDAO'); $lastViewDate = $viewsDao->getLastViewDate(ASSOC_TYPE_REVIEW_RESPONSE, $reviewAssignment->getId(), $user->getId()); $icon = !$lastViewDate || $isUnread ? 'read_new_review' : null; // Configure the link action. parent::LinkAction('readReview', $ajaxModal, __('editor.review.readReview'), $icon); }
/** * Constructor * @param $request Request * @param $monographId integer * @param $representationId integer * @param $title string Locale key * @param $image string */ function ApproveProofsLinkAction($request, $monographId, $representationId, $image = null) { // Create the actionArgs array $actionArgs = array(); $actionArgs['submissionId'] = $monographId; $actionArgs['stageId'] = WORKFLOW_STAGE_ID_PRODUCTION; $actionArgs['representationId'] = $representationId; $dispatcher = $request->getDispatcher(); $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.editorDecision.EditorDecisionHandler', 'approveProofs', null, $actionArgs), __('editor.submission.decision.approveProofs'), 'modal_approve_proofs'); $toolTip = $image == 'completed' ? __('grid.action.proofApproved') : null; // Configure the link action. parent::LinkAction('approveProofs-' . $representationId, $modal, __('editor.submission.decision.approveProofs'), $image, $toolTip); }
/** * Constructor * @param $request Request * @param $monographId integer The monograph the file should be * uploaded to. * @param $stageId integer The workflow stage in which the file * uploader is being instantiated (one of the WORKFLOW_STAGE_ID_* * constants). * @param $uploaderRoles array The ids of all roles allowed to upload * in the context of this action. * @param $actionArgs array The arguments to be passed into the file * upload wizard. * @param $wizardTitle string The title to be displayed in the file * upload wizard. * @param $buttonLabel string The link action's button label. */ function BaseAddFileLinkAction(&$request, $monographId, $stageId, $uploaderRoles, $actionArgs, $wizardTitle, $buttonLabel) { // Augment the action arguments array. $actionArgs['monographId'] = $monographId; $actionArgs['stageId'] = $stageId; assert(is_array($uploaderRoles) && count($uploaderRoles) > 1); $actionArgs['uploaderRoles'] = implode('-', $uploaderRoles); // Instantiate the file upload modal. $dispatcher =& $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.WizardModal'); $modal = new WizardModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'wizard.fileUpload.FileUploadWizardHandler', 'startWizard', null, $actionArgs), $wizardTitle, 'fileManagement'); // Configure the link action. parent::LinkAction('addFile', $modal, $buttonLabel, 'add'); }
/** * Constructor * @param $request Request * @param $monographId integer The monograph the file should be * uploaded to. * @param $stageId integer The workflow stage in which the file * uploader is being instantiated (one of the WORKFLOW_STAGE_ID_* * constants). * @param $signoffId integer The id of the signoff being read * upload wizard. * @param $wizardTitle string The title to be displayed in the file * upload wizard. * @param $buttonLabel string The link action's button label. */ function ReadSignoffLinkAction($request, $monographId, $stageId, $signoffId, $modalTitle, $buttonLabel, $image = null) { // Create the actionArgs array $actionArgs = array(); $actionArgs['submissionId'] = $monographId; $actionArgs['stageId'] = $stageId; $actionArgs['signoffId'] = $signoffId; // Instantiate the file upload modal. $dispatcher = $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.WizardModal'); $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.signoff.FileSignoffHandler', 'readSignoff', null, $actionArgs), $modalTitle, 'modal_add_file'); // Configure the link action. parent::LinkAction('readSignoff', $modal, $buttonLabel, $image); }
/** * Constructor * @param $request Request * @param $submission Submission The submission * @param $stageId int * @param $userId optional * to show information about. */ function NotifyLinkAction($request, &$submission, $stageId, $userId = null) { AppLocale::requireComponents(LOCALE_COMPONENT_APP_SUBMISSION); // Prepare request arguments $requestArgs['submissionId'] = $submission->getId(); $requestArgs['stageId'] = $stageId; if ($userId) { $requestArgs['userId'] = $userId; } import('lib.pkp.classes.linkAction.request.AjaxModal'); $router = $request->getRouter(); $ajaxModal = new AjaxModal($router->url($request, null, 'grid.users.stageParticipant.StageParticipantGridHandler', 'viewNotify', null, $requestArgs), __('submission.stageParticipants.notify'), 'modal_email'); // Configure the file link action. parent::LinkAction('notify', $ajaxModal, __('submission.stageParticipants.notify'), 'notify'); }
/** * Constructor * @param $request Request * @param $submissionId integer The submission the file should be * uploaded to. * @param $stageId integer The workflow stage in which the file * uploader is being instantiated (one of the WORKFLOW_STAGE_ID_* * constants). * @param $uploaderRoles array The ids of all roles allowed to upload * in the context of this action. * @param $uploaderGroupIds array The ids of all allowed user groups * to upload in the context of this action, or null to permit all. * @param $actionArgs array The arguments to be passed into the file * upload wizard. * @param $wizardTitle string The title to be displayed in the file * upload wizard. * @param $buttonLabel string The link action's button label. */ function __construct($request, $submissionId, $stageId, $uploaderRoles, $uploaderGroupIds, $actionArgs, $wizardTitle, $buttonLabel) { // Augment the action arguments array. $actionArgs['submissionId'] = $submissionId; $actionArgs['stageId'] = $stageId; assert(is_array($uploaderRoles) && count($uploaderRoles) >= 1); $actionArgs['uploaderRoles'] = implode('-', (array) $uploaderRoles); $actionArgs['uploaderGroupIds'] = implode('-', (array) $uploaderGroupIds); // Instantiate the file upload modal. $dispatcher = $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.WizardModal'); $modal = new WizardModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'wizard.fileUpload.FileUploadWizardHandler', 'startWizard', null, $actionArgs), $wizardTitle, 'modal_add_file'); // Configure the link action. parent::__construct('addFile', $modal, $buttonLabel, 'add'); }
/** * Constructor * @param $request Request * @param $submissionId integer The submission the file should be * uploaded to. * @param $stageId integer The workflow stage in which the file * uploader is being instantiated (one of the WORKFLOW_STAGE_ID_* * constants). * @param $symbolic string The symbolic name of the signoff * @param signoffId The optional ID of the signoff * @param $modalTitle string The modal title * @param $buttonLabel string The link action's button label (null for cell action) */ function AddSignoffFileLinkAction($request, $submissionId, $stageId, $symbolic, $signoffId = null, $modalTitle, $buttonLabel = null) { // Create the actionArgs array $actionArgs = array(); $actionArgs['submissionId'] = $submissionId; $actionArgs['stageId'] = $stageId; $actionArgs['symbolic'] = $symbolic; $actionArgs['signoffId'] = $signoffId; $actionArgs['fileStage'] = SUBMISSION_FILE_SIGNOFF; // Instantiate the file upload modal. $dispatcher = $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.WizardModal'); $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'informationCenter.SignoffInformationCenterHandler', 'viewNotes', null, $actionArgs), $modalTitle, 'modal_add_file'); // Configure the link action. parent::LinkAction('addSignoff', $modal, $buttonLabel, 'add'); }
/** * Constructor * @param $request Request * @param $submissionId integer The submission to show meta-data for. * @param $stageId integer The stage ID of the viewer's context * @param $selectedGalleyId integer The galley ID that * will be used to open the correspondent galley tab. If * none is passed, the first submission entry tab will be opened. * @param $image string */ function SubmissionEntryLinkAction($request, $submissionId, $stageId, $selectedGalleyId = null, $image = 'information') { // Instantiate the modal. $dispatcher = $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $actionArgs = array(); $actionArgs['submissionId'] = $submissionId; $actionArgs['stageId'] = $stageId; if ($selectedGalleyId) { $actionArgs['selectedGalleyId'] = $selectedGalleyId; } $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.submissionMetadata.IssueEntryHandler', 'fetch', null, $actionArgs), __('submission.issueEntry.modalTitle'), 'modal_more_info'); // Configure the link action. $toolTip = $image == 'completed' ? __('grid.action.galleyInIssueEntry') : null; parent::LinkAction('issueEntry', $modal, __('submission.issueEntry'), $image, $toolTip); }
/** * Constructor * @param $request Request * @param $emailKey string */ function EditEmailLinkAction(&$request, $emailKey = null) { // Create the action arguments array. $actionArgs = array(); if ($emailKey) { $actionArgs['emailKey'] = $emailKey; } // Instantiate the file upload modal. $router =& $request->getRouter(); $dispatcher =& $router->getDispatcher(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $title = $emailKey ? 'manager.emails.editEmail' : 'manager.emails.addEmail'; $action = $emailKey ? 'editPreparedEmail' : 'addPreparedEmail'; $icon = $emailKey ? 'edit' : 'add_item'; $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'grid.settings.preparedEmails.PreparedEmailsGridHandler', $action, null, $actionArgs), __($title), $icon); // Configure the link action. parent::LinkAction($action, $modal, __($title), $icon); }
/** * Constructor * @param $request Request * @param $submissionId int the ID of the submission to present link for * to show information about. * @param $linkKey string optional locale key to display for link */ function SubmissionInfoCenterLinkAction($request, $submissionId, $linkKey = 'informationCenter.editorialHistory') { // Instantiate the information center modal. $submissionDao = Application::getSubmissionDAO(); $submission = $submissionDao->getById($submissionId); $primaryAuthor = $submission->getPrimaryAuthor(); if (!isset($primaryAuthor)) { $authors = $submission->getAuthors(); if (sizeof($authors) > 0) { $primaryAuthor = $authors[0]; } } $title = isset($primaryAuthor) ? implode(', ', array($primaryAuthor->getLastName(), $submission->getLocalizedTitle())) : $submission->getLocalizedTitle(); $dispatcher = $request->getDispatcher(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $ajaxModal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'informationCenter.SubmissionInformationCenterHandler', 'viewInformationCenter', null, array('submissionId' => $submissionId)), $title, 'modal_information'); // Configure the link action. parent::LinkAction('editorialHistory', $ajaxModal, __($linkKey), 'more_info'); }