From c15f8a1312143908e5651fa50daca49a8e06b79e Mon Sep 17 00:00:00 2001 From: Bozana Bokan Date: Mon, 16 Dec 2024 20:26:12 +0100 Subject: [PATCH 1/2] fix deprecated submission functions --- SwordHandler.php | 2 +- SwordImportExportPlugin.php | 2 +- SwordPlugin.php | 4 ++-- classes/PKPSwordDeposit.php | 17 ++++++++--------- templates/authorDepositForm.tpl | 4 ++-- 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/SwordHandler.php b/SwordHandler.php index 9a7e749..0942652 100644 --- a/SwordHandler.php +++ b/SwordHandler.php @@ -115,7 +115,7 @@ public function index($args, $request) { $submission = $submissionDao->getById($submissionId); if (!$submission || !$user || !$context || - ($submission->getContextId() != $context->getId())) { + ($submission->getData('contextId') != $context->getId())) { $request->redirect(null, 'index'); } diff --git a/SwordImportExportPlugin.php b/SwordImportExportPlugin.php index 0df6d0f..4672fce 100644 --- a/SwordImportExportPlugin.php +++ b/SwordImportExportPlugin.php @@ -219,7 +219,7 @@ public function display($args, $request) { } catch (\Exception $e) { $errors[] = [ - 'title' => $submission->getLocalizedTitle(), + 'title' => $submission->getCurrentPublication()->getLocalizedTitle(), 'message' => $e->getMessage(), ]; } diff --git a/SwordPlugin.php b/SwordPlugin.php index 32e0dc1..801d1ff 100644 --- a/SwordPlugin.php +++ b/SwordPlugin.php @@ -167,7 +167,7 @@ function performAutomaticDeposits(Submission $submission) { NOTIFICATION_TYPE_SUCCESS, [ 'contents' => __('plugins.generic.sword.automaticDepositComplete', [ - 'itemTitle' => $submission->getLocalizedTitle(), + 'itemTitle' => $submission->getCurrentPublication()->getLocalizedTitle(), 'repositoryName' => $depositPoint->getLocalizedName() ]) ] @@ -207,7 +207,7 @@ function performAutomaticDeposits(Submission $submission) { $mail->assignParams([ 'contextName' => htmlspecialchars($context->getLocalizedName()), - 'submissionTitle' => htmlspecialchars($submission->getLocalizedTitle()), + 'submissionTitle' => htmlspecialchars($submission->getCurrentPublication()->getLocalizedTitle()), 'swordDepositUrl' => $dispatcher->url( $request, ROUTE_PAGE, null, 'sword', 'index', $submission->getId() ) diff --git a/classes/PKPSwordDeposit.php b/classes/PKPSwordDeposit.php index 236715c..be7fdb1 100644 --- a/classes/PKPSwordDeposit.php +++ b/classes/PKPSwordDeposit.php @@ -17,7 +17,6 @@ use PKP\submissionFile\SubmissionFile; use PKP\file\FileManager; -use PKP\db\DAORegistry; use APP\facades\Repo; use APP\core\Application; @@ -29,10 +28,10 @@ require_once dirname(__FILE__) . '/../libs/swordappv2/swordappentry.php'; class PKPSwordDeposit { - /** @var SWORD deposit METS package */ + /** @var PKPPackagerMetsSwap SWORD deposit METS package */ protected $_package = null; - /** @var Complete path and directory name to use for package creation files */ + /** @var string Complete path and directory name to use for package creation files */ protected $_outPath = null; /** @var Journal */ @@ -45,7 +44,7 @@ class PKPSwordDeposit { protected $_issue = null; /** @var Article */ - protected $_article = null; + protected $_submission = null; /** * Constructor. @@ -72,7 +71,7 @@ public function __construct($submission) { $application = Application::get(); $publication = $submission->getCurrentPublication(); - $this->_context = $application->getContextDao()->getById($submission->getContextId()); + $this->_context = $application->getContextDao()->getById($submission->getData('contextId')); $this->_section = Repo::section()->get($publication->getData('sectionId')); @@ -87,11 +86,11 @@ public function __construct($submission) { * @param $request PKPRequest */ public function setMetadata($request) { + $publication = $this->_submission->getCurrentPublication(); $this->_package->setCustodian($this->_context->getContactName()); - $this->_package->setTitle(html_entity_decode($this->_submission->getLocalizedTitle(), ENT_QUOTES, 'UTF-8')); - $this->_package->setAbstract(html_entity_decode(strip_tags($this->_submission->getLocalizedAbstract()), ENT_QUOTES, 'UTF-8')); + $this->_package->setTitle(html_entity_decode($publication->getLocalizedTitle(), ENT_QUOTES, 'UTF-8')); + $this->_package->setAbstract(html_entity_decode(strip_tags($publication->getLocalizedData('abstract')), ENT_QUOTES, 'UTF-8')); $this->_package->setType($this->_section->getLocalizedIdentifyType()); - $publication = $this->_submission->getCurrentPublication(); foreach ($publication->getData('authors') as $author) { $creator = $author->getFullName(true); $affiliation = $author->getLocalizedAffiliation(); @@ -123,7 +122,7 @@ public function _addFile($submissionFile) { * Add all article galleys to the deposit package. */ public function addGalleys() { - foreach ($this->_submission->getGalleys() as $galley) { + foreach ($this->_submission->getCurrentPublication()->getData('galleys') as $galley) { $this->_addFile($galley->getFile()); } } diff --git a/templates/authorDepositForm.tpl b/templates/authorDepositForm.tpl index 860cb2c..90594a0 100644 --- a/templates/authorDepositForm.tpl +++ b/templates/authorDepositForm.tpl @@ -45,7 +45,7 @@ {csrf} {if !empty($depositPoints)} - {translate key="plugins.generic.sword.authorDepositDescription" submissionTitle=$submission->getLocalizedTitle()} + {translate key="plugins.generic.sword.authorDepositDescription" submissionTitle=$submission->getCurrentPublication()->getLocalizedTitle()}