From 1c13750067d6c5844734c8727cae2471060e79d8 Mon Sep 17 00:00:00 2001 From: GaziYucel <84437883+GaziYucel@users.noreply.github.com> Date: Thu, 10 Apr 2025 15:53:29 +0200 Subject: [PATCH] structured citations (development) --- CrossrefReferenceLinkingPlugin.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/CrossrefReferenceLinkingPlugin.php b/CrossrefReferenceLinkingPlugin.php index fa6f8f7..c833dbf 100644 --- a/CrossrefReferenceLinkingPlugin.php +++ b/CrossrefReferenceLinkingPlugin.php @@ -22,10 +22,8 @@ use Citation; use Doi; use DOMDocument; -use PKP\citation\CitationDAO; use PKP\context\Context; use PKP\core\JSONMessage; -use PKP\db\DAORegistry; use PKP\linkAction\LinkAction; use PKP\linkAction\request\AjaxModal; use PKP\plugins\GenericPlugin; @@ -56,7 +54,6 @@ public function register($category, $path, $mainContextId = null): bool // Additional fields added Hook::add('Schema::get::submission', [$this, 'addSubmissionSchema']); - Hook::add('citationdao::getAdditionalFieldNames', [$this, 'getAdditionalCitationFieldNames']); if (!$this->getEnabled($mainContextId)) { return true; @@ -345,11 +342,10 @@ public function considerFoundCrossrefReferencesDOIs(Publication $publication): v return; } - $citationDao = DAORegistry::getDAO('CitationDAO'); /** @var CitationDAO $citationDao */ - $citations = $publication->getData('citations') ?? []; + $citations = Repo::citation()->getByPublicationId($publication->getId()); $citationsToCheck = []; - foreach ($citations as $citation) { /** @var Citation $citation */ + foreach ($citations as $citation) { if (!$citation->getData($this->getCitationDoiSettingName())) { $citationsToCheck[$citation->getId()] = $citation; } @@ -372,7 +368,7 @@ public function considerFoundCrossrefReferencesDOIs(Publication $publication): v foreach ($filteredMatchedReferences as $matchedReference) { $citation = $citationsToCheck[$matchedReference['key']]; $citation->setData($this->getCitationDoiSettingName(), $matchedReference['doi']); - $citationDao->updateObject($citation); + Repo::citation()->edit($citation, []); } // remove auto check setting