16 import(
'lib.pkp.classes.plugins.ImportExportPlugin');
23 parent::__construct();
29 function register($category, $path, $mainContextId =
null) {
30 $success = parent::register($category, $path, $mainContextId);
31 if (!
Config::getVar(
'general',
'installed') || defined(
'RUNNING_UPGRADE'))
return $success;
34 $this->
import(
'Onix30ExportDeployment');
45 return 'Onix30ExportPlugin';
53 return __(
'plugins.importexport.onix30.displayName');
61 return __(
'plugins.importexport.onix30.description');
82 $templateMgr->assign(
'plugin', $this);
84 switch (array_shift($args)) {
87 $apiUrl =
$request->getDispatcher()->url(
$request, ROUTE_API, $context->getPath(),
'submissions');
88 $submissionsListPanel = new \APP\components\listPanels\SubmissionsListPanel(
90 __(
'common.publications'),
94 'getParams' =>
new stdClass(),
98 $submissionsConfig = $submissionsListPanel->getConfig();
99 $submissionsConfig[
'addUrl'] =
'';
100 $submissionsConfig[
'filters'] = array_slice($submissionsConfig[
'filters'], 1);
101 $templateMgr->setState([
103 'submissions' => $submissionsConfig,
106 $templateMgr->assign([
107 'pageComponent' =>
'ImportExportPage',
113 (array)
$request->getUserVar(
'selectedSubmissions'),
117 import(
'lib.pkp.classes.file.FileManager');
120 $fileManager->writeFile($exportFileName, $exportXml);
121 $fileManager->downloadByPath($exportFileName);
122 $fileManager->deleteByPath($exportFileName);
125 $dispatcher =
$request->getDispatcher();
126 $dispatcher->handle404();
141 $nativeExportFilters = $filterDao->getObjectsByGroup(
'monograph=>onix30-xml');
142 assert(count($nativeExportFilters) == 1);
143 $exportFilter = array_shift($nativeExportFilters);
145 $submissions = array();
146 foreach ($submissionIds as $submissionId) {
147 $submission = $submissionDao->getById($submissionId, $context->getId());
148 if ($submission) $submissions[] = $submission;
150 $submissionXml = $exportFilter->execute($submission);
151 if ($submissionXml) $xml = $submissionXml->saveXml();
152 else fatalError(
'Could not convert submissions.');