Skip to content

Commit

Permalink
Merge pull request #4388 from kaitlinnewson/8564-3_3_0
Browse files Browse the repository at this point in the history
pkp/pkp-lib#8564 order export by issue ordering in pubmed plugin
  • Loading branch information
bozana committed Aug 30, 2024
2 parents 72bb999 + fcabc5a commit 887f988
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions plugins/importexport/pubmed/PubMedExportPlugin.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -160,12 +160,19 @@ function exportIssues($issueIds, $context, $user) {
$pubmedExportFilters = $filterDao->getObjectsByGroup('article=>pubmed-xml');
assert(count($pubmedExportFilters) == 1); // Assert only a single serialization filter
$exportFilter = array_shift($pubmedExportFilters);
$submissionsIterator = Services::get('submission')->getMany([
'contextId' => $context->getId(),
'issueIds' => $issueIds,
]);

$input = [];
$sectionDao = DAORegistry::getDAO('SectionDAO');
foreach ($issueIds as $issueId) {
$sections = $sectionDao->getByIssueId($issueId);
$submissionsInSections = Services::get('submission')->getInSections($issueId, $context->getId());
foreach ($sections as $section) {
$input = array_merge($input, $submissionsInSections[$section->getId()]['articles']);
}
}

libxml_use_internal_errors(true);
$submissionXml = $exportFilter->execute(iterator_to_array($submissionsIterator), true);
$submissionXml = $exportFilter->execute($input, true);
$xml = $submissionXml->saveXml();
$errors = array_filter(libxml_get_errors(), function($a) {
return $a->level == LIBXML_ERR_ERROR || $a->level == LIBXML_ERR_FATAL;
Expand Down

0 comments on commit 887f988

Please sign in to comment.