Open Journal Systems  3.3.0
PKPMetadataForm.inc.php
1 <?php
15 use \PKP\components\forms\FormComponent;
16 use \PKP\components\forms\FieldControlledVocab;
17 use \PKP\components\forms\FieldText;
18 
19 define('FORM_METADATA', 'metadata');
20 
23  public $id = FORM_METADATA;
24 
26  public $method = 'PUT';
27 
37  public function __construct($action, $locales, $publication, $submissionContext, $suggestionUrlBase) {
38  $this->action = $action;
39  $this->locales = $locales;
40 
41  // Load constants
42  \DAORegistry::getDAO('SubmissionKeywordDAO');
43  \DAORegistry::getDAO('SubmissionSubjectDAO');
44  \DAORegistry::getDAO('SubmissionDisciplineDAO');
45  \DAORegistry::getDAO('SubmissionLanguageDAO');
46  \DAORegistry::getDAO('SubmissionAgencyDAO');
47 
48  if ($submissionContext->getData('keywords')) {
49  $this->addField(new FieldControlledVocab('keywords', [
50  'label' => __('common.keywords'),
51  'tooltip' => __('manager.setup.metadata.keywords.description'),
52  'isMultilingual' => true,
53  'apiUrl' => str_replace('__vocab__', CONTROLLED_VOCAB_SUBMISSION_KEYWORD, $suggestionUrlBase),
54  'locales' => $this->locales,
55  'selected' => (array) $publication->getData('keywords'),
56  ]));
57  }
58 
59  if ($submissionContext->getData('subjects')) {
60  $this->addField(new FieldControlledVocab('subjects', [
61  'label' => __('common.subjects'),
62  'tooltip' => __('manager.setup.metadata.subjects.description'),
63  'isMultilingual' => true,
64  'apiUrl' => str_replace('__vocab__', CONTROLLED_VOCAB_SUBMISSION_SUBJECT, $suggestionUrlBase),
65  'locales' => $this->locales,
66  'selected' => (array) $publication->getData('subjects'),
67  ]));
68  }
69 
70  if ($submissionContext->getData('disciplines')) {
71  $this->addField(new FieldControlledVocab('disciplines', [
72  'label' => __('search.discipline'),
73  'tooltip' => __('manager.setup.metadata.disciplines.description'),
74  'isMultilingual' => true,
75  'apiUrl' => str_replace('__vocab__', CONTROLLED_VOCAB_SUBMISSION_DISCIPLINE, $suggestionUrlBase),
76  'locales' => $this->locales,
77  'selected' => (array) $publication->getData('disciplines'),
78  ]));
79  }
80 
81  if ($submissionContext->getData('languages')) {
82  $this->addField(new FieldControlledVocab('languages', [
83  'label' => __('common.languages'),
84  'tooltip' => __('manager.setup.metadata.languages.description'),
85  'isMultilingual' => true,
86  'apiUrl' => str_replace('__vocab__', CONTROLLED_VOCAB_SUBMISSION_LANGUAGE, $suggestionUrlBase),
87  'locales' => $this->locales,
88  'selected' => (array) $publication->getData('languages'),
89  ]));
90  }
91 
92  if ($submissionContext->getData('agencies')) {
93  $this->addField(new FieldControlledVocab('supportingAgencies', [
94  'label' => __('submission.supportingAgencies'),
95  'tooltip' => __('manager.setup.metadata.agencies.description'),
96  'isMultilingual' => true,
97  'apiUrl' => str_replace('__vocab__', CONTROLLED_VOCAB_SUBMISSION_AGENCY, $suggestionUrlBase),
98  'locales' => $this->locales,
99  'selected' => (array) $publication->getData('supportingAgencies'),
100  ]));
101  }
102 
103  if ($submissionContext->getData('coverage')) {
104  $this->addField(new FieldText('coverage', [
105  'label' => __('manager.setup.metadata.coverage'),
106  'tooltip' => __('manager.setup.metadata.coverage.description'),
107  'isMultilingual' => true,
108  'value' => $publication->getData('coverage'),
109  ]));
110  }
111 
112  if ($submissionContext->getData('rights')) {
113  $this->addField(new FieldText('rights', [
114  'label' => __('submission.rights'),
115  'tooltip' => __('manager.setup.metadata.rights.description'),
116  'isMultilingual' => true,
117  'value' => $publication->getData('rights'),
118  ]));
119  }
120 
121  if ($submissionContext->getData('source')) {
122  $this->addField(new FieldText('source', [
123  'label' => __('common.source'),
124  'tooltip' => __('manager.setup.metadata.source.description'),
125  'isMultilingual' => true,
126  'value' => $publication->getData('source'),
127  ]));
128  }
129 
130  if ($submissionContext->getData('type')) {
131  $this->addField(new FieldText('type', [
132  'label' => __('common.type'),
133  'tooltip' => __('manager.setup.metadata.type.description'),
134  'isMultilingual' => true,
135  'value' => $publication->getData('type'),
136  ]));
137  }
138 
139  if (in_array('publication', (array) $submissionContext->getData('enablePublisherId'))) {
140  $this->addField(new FieldText('pub-id::publisher-id', [
141  'label' => __('submission.publisherId'),
142  'tooltip' => __('submission.publisherId.description'),
143  'value' => $publication->getData('pub-id::publisher-id'),
144  ]));
145  }
146  }
147 }
PKP\components\forms\publication\PKPMetadataForm\__construct
__construct($action, $locales, $publication, $submissionContext, $suggestionUrlBase)
Definition: PKPMetadataForm.inc.php:37
PKP\components\forms\publication
Definition: PKPCitationsForm.inc.php:14
PKP\components\forms\FieldText
Definition: FieldText.inc.php:15
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
PKP\components\forms\FormComponent\$action
$action
Definition: FormComponent.inc.php:37
PKP\components\forms\publication\FORM_METADATA
const FORM_METADATA
Definition: PKPMetadataForm.inc.php:19
PKP\components\forms\publication\PKPMetadataForm\$id
$id
Definition: PKPMetadataForm.inc.php:23
PKP\components\forms\FormComponent
Definition: FormComponent.inc.php:20
PKP\components\forms\FormComponent\addField
addField($field, $position=[])
Definition: FormComponent.inc.php:94
PKP\components\forms\FormComponent\$locales
$locales
Definition: FormComponent.inc.php:43
PKP\components\forms\publication\PKPMetadataForm
Definition: PKPMetadataForm.inc.php:21
PKP\components\forms\publication\PKPMetadataForm\$method
$method
Definition: PKPMetadataForm.inc.php:26
PKP\components\forms\FieldControlledVocab
Definition: FieldControlledVocab.inc.php:18