Skip to content

Commit 1163b17

Browse files
committed
pkp/pkp-lib#9877 consider monograph DOI via OAI
1 parent 65a7c64 commit 1163b17

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

plugins/metadata/dc11/filter/Dc11SchemaPublicationFormatAdapter.php

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
use APP\publicationFormat\PublicationFormat;
2929
use APP\section\Section;
3030
use APP\submission\Submission;
31+
use PKP\context\Context;
3132
use PKP\db\DAORegistry;
3233
use PKP\facades\Locale;
3334
use PKP\i18n\LocaleConversion;
@@ -163,18 +164,24 @@ public function extractMetadataFromDataObject(&$publicationFormat)
163164
$pubIdPlugins = PluginRegistry::loadCategory('pubIds', true);
164165
foreach ((array) $pubIdPlugins as $plugin) {
165166
$pubId = $plugin->getPubId($publicationFormat);
167+
if ($plugin->getSetting($press->getId(), 'enableRepresentationDoi')) {
168+
$pubId = $plugin->getPubId($publicationFormat);
169+
}
170+
if (!$pubId && $plugin->getSetting($press->getId(), 'enablePublicationDoi')) {
171+
$pubId = $plugin->getPubId($publication);
172+
}
166173
if ($pubId) {
167174
$dc11Description->addStatement('dc:identifier', $pubId);
168175
}
169176
}
170-
$context = $request->getContext();
171-
if (!$context) {
172-
$contextDao = Application::getContextDAO();
173-
/** @var Press */
174-
$context = $contextDao->getById($monograph->getData('contextId'));
175-
}
176-
if ($context->areDoisEnabled()) {
177-
$doi = $publicationFormat->getDoi();
177+
if ($press->areDoisEnabled()) {
178+
$enabledDoiTypes = $press->getData(Context::SETTING_ENABLED_DOI_TYPES) ?? [];
179+
if (in_array(Repo::doi()::TYPE_REPRESENTATION, $enabledDoiTypes)) {
180+
$doi = $publicationFormat->getDoi();
181+
}
182+
if (!$doi && in_array(Repo::doi()::TYPE_PUBLICATION, $enabledDoiTypes)) {
183+
$doi = $publication->getDoi();
184+
}
178185
if ($doi) {
179186
$dc11Description->addStatement('dc:identifier', $doi);
180187
}

0 commit comments

Comments
 (0)