Open Journal Systems  3.3.0
NativeXmlSupplementaryFileFilter.inc.php
1 <?php
2 
16 import('plugins.importexport.native.filter.NativeXmlArticleFileFilter');
17 
23  function __construct($filterGroup) {
24  parent::__construct($filterGroup);
25  }
26 
27 
28  //
29  // Implement template methods from PersistableFilter
30  //
34  function getClassName() {
35  return 'plugins.importexport.native.filter.NativeXmlSupplementaryFileFilter';
36  }
37 
38  //
39  // Override methods in NativeImportFilter
40  //
45  function getPluralElementName() {
46  return 'supplementary_files';
47  }
48 
54  return 'supplementary_file';
55  }
56 
57 
58  //
59  // Extend functions in the parent class
60  //
69  function handleChildElement($node, $stageId, $fileId, &$submissionFiles) {
70  $deployment = $this->getDeployment();
71  $submission = $deployment->getSubmission();
72  $localizedSetterMappings = $this->_getLocalizedSupplementaryFileSetterMappings();
73  if (isset($localizedSetterMappings[$node->tagName])) {
74  // If applicable, call a setter for localized content.
75  $setterFunction = $localizedSetterMappings[$node->tagName];
76  list($locale, $value) = $this->parseLocalizedContent($node);
77  if (empty($locale)) $locale = $submission->getLocale();
78  if (count($submissionFiles) > 0) $submissionFiles[count($submissionFiles)-1]->$setterFunction($value, $locale);
79  } else switch ($node->tagName) {
80  case 'date_created':
81  if (count($submissionFiles) > 0) $submissionFiles[count($submissionFiles)-1]->setDateCreated(strtotime($node->textContent));
82  break;
83  case 'language':
84  if (count($submissionFiles) > 0) $submissionFiles[count($submissionFiles)-1]->setLanguage($node->textContent);
85  break;
86  default:
87  parent::handleChildElement($node, $stageId, $fileId, $submissionFiles);
88  }
89  }
90 
91  //
92  // Helper functions
93  //
99  return array(
100  'creator' => 'setCreator',
101  'subject' => 'setSubject',
102  'description' => 'setDescription',
103  'publisher' => 'setPublisher',
104  'sponsor' => 'setSponsor',
105  'source' => 'setSource',
106  );
107  }
108 }
109 
110 
NativeXmlSupplementaryFileFilter\getClassName
getClassName()
Definition: NativeXmlSupplementaryFileFilter.inc.php:34
NativeXmlArticleFileFilter
Class that converts a Native XML document to an article file.
Definition: NativeXmlArticleFileFilter.inc.php:18
NativeXmlSupplementaryFileFilter\getPluralElementName
getPluralElementName()
Definition: NativeXmlSupplementaryFileFilter.inc.php:45
NativeImportExportFilter\getDeployment
getDeployment()
Definition: NativeImportExportFilter.inc.php:49
NativeXmlSupplementaryFileFilter\__construct
__construct($filterGroup)
Definition: NativeXmlSupplementaryFileFilter.inc.php:23
NativeImportFilter\parseLocalizedContent
parseLocalizedContent($element)
Definition: NativeImportFilter.inc.php:98
NativeXmlSupplementaryFileFilter\handleChildElement
handleChildElement($node, $stageId, $fileId, &$submissionFiles)
Definition: NativeXmlSupplementaryFileFilter.inc.php:69
NativeXmlSupplementaryFileFilter
Class that converts a Native XML document to an supplementary file.
Definition: NativeXmlSupplementaryFileFilter.inc.php:18
NativeXmlSupplementaryFileFilter\getSingularElementName
getSingularElementName()
Definition: NativeXmlSupplementaryFileFilter.inc.php:53
NativeXmlSupplementaryFileFilter\_getLocalizedSupplementaryFileSetterMappings
_getLocalizedSupplementaryFileSetterMappings()
Definition: NativeXmlSupplementaryFileFilter.inc.php:98