16 import(
'classes.plugins.PubObjectsExportPlugin');
19 define(
'DOI_EXPORT_CONFIG_ERROR_DOIPREFIX', 0x01);
22 define(
'DOI_EXPORT_REGISTERED_DOI',
'registeredDoi');
31 switch (array_shift($args)) {
36 $configurationErrors = $templateMgr->getTemplateVars(
'configurationErrors');
40 if (isset($pubIdPlugins[
'doipubidplugin'])) {
41 $doiPlugin = $pubIdPlugins[
'doipubidplugin'];
42 $doiPrefix = $doiPlugin->getSetting($context->getId(), $doiPlugin->getPrefixFieldName());
43 $templateMgr->assign(array(
44 'exportArticles' => $doiPlugin->getSetting($context->getId(),
'enablePublicationDoi'),
45 'exportRepresentations' => $doiPlugin->getSetting($context->getId(),
'enableRepresentationDoi'),
48 if (empty($doiPrefix)) {
49 $configurationErrors[] = DOI_EXPORT_CONFIG_ERROR_DOIPREFIX;
78 foreach ($objects as $object) {
96 $registeredDoi = $object->getStoredPubId(
'doi');
97 assert(!empty($registeredDoi));
110 return array_merge(parent::_getObjectAdditionalSettings(), array(
123 $articles = $submissionDao->getExportable(
125 $this->getPubIdType(),
129 $this->getPluginSettingsPrefix().
'::' . DOI_EXPORT_REGISTERED_DOI,
133 return $articles->toArray();
144 $galleys = $galleyDao->getExportable(
145 $context?$context->getId():
null,
146 $this->getPubIdType(),
150 $this->getPluginSettingsPrefix().
'::' . DOI_EXPORT_REGISTERED_DOI,
154 return $galleys->toArray();
164 $submissions = array_map(
function($submissionId) {
167 return array_filter($submissions,
function($submission) {
168 return $submission->getData(
'status') === STATUS_PUBLISHED && !!$submission->getStoredPubId(
'doi');
180 foreach ($galleyIds as $galleyId) {
181 $articleGalley = $articleGalleyDao->getById($galleyId);
182 if ($articleGalley && $articleGalley->getStoredPubId(
'doi')) $galleys[] = $articleGalley;