Open Journal Systems  3.3.0
DOAJSettingsForm.inc.php
1 <?php
2 
17 import('lib.pkp.classes.form.Form');
18 
19 class DOAJSettingsForm extends Form {
20 
21  //
22  // Private properties
23  //
25  var $_contextId;
26 
31  function _getContextId() {
32  return $this->_contextId;
33  }
34 
36  var $_plugin;
37 
42  function _getPlugin() {
43  return $this->_plugin;
44  }
45 
46 
47  //
48  // Constructor
49  //
55  function __construct($plugin, $contextId) {
56  $this->_contextId = $contextId;
57  $this->_plugin = $plugin;
58 
59  parent::__construct($plugin->getTemplateResource('settingsForm.tpl'));
60 
61  // Add form validation checks.
62  $this->addCheck(new FormValidatorPost($this));
63  $this->addCheck(new FormValidatorCSRF($this));
64  }
65 
66 
67  //
68  // Implement template methods from Form
69  //
73  function initData() {
74  $contextId = $this->_getContextId();
75  $plugin = $this->_getPlugin();
76  foreach($this->getFormFields() as $fieldName => $fieldType) {
77  $this->setData($fieldName, $plugin->getSetting($contextId, $fieldName));
78  }
79  }
80 
84  function readInputData() {
85  $this->readUserVars(array_keys($this->getFormFields()));
86  }
87 
91  function execute(...$functionArgs) {
92  $plugin = $this->_getPlugin();
93  $contextId = $this->_getContextId();
94  parent::execute(...$functionArgs);
95  foreach($this->getFormFields() as $fieldName => $fieldType) {
96  $plugin->updateSetting($contextId, $fieldName, $this->getData($fieldName), $fieldType);
97  }
98  }
99 
100 
101  //
102  // Public helper methods
103  //
108  function getFormFields() {
109  return array(
110  'apiKey' => 'string',
111  'automaticRegistration' => 'bool',
112  'testMode' => 'bool'
113  );
114  }
115 
121  function isOptional($settingName) {
122  return in_array($settingName, array('apiKey', 'automaticRegistration', 'testMode'));
123  }
124 
125 }
126 
127 
DOAJSettingsForm\$_contextId
$_contextId
Definition: DOAJSettingsForm.inc.php:28
Form\setData
setData($key, $value=null)
Definition: Form.inc.php:229
Form\readUserVars
readUserVars($vars)
Definition: Form.inc.php:378
Form\getData
getData($key)
Definition: Form.inc.php:220
FormValidatorPost
Form validation check to make sure the form is POSTed.
Definition: FormValidatorPost.inc.php:18
DOAJSettingsForm\initData
initData()
Definition: DOAJSettingsForm.inc.php:79
DOAJSettingsForm\__construct
__construct($plugin, $contextId)
Definition: DOAJSettingsForm.inc.php:61
DOAJSettingsForm\$_plugin
$_plugin
Definition: DOAJSettingsForm.inc.php:42
DOAJSettingsForm\getFormFields
getFormFields()
Definition: DOAJSettingsForm.inc.php:114
DOAJSettingsForm
Form for journal managers to setup DOAJ plugin.
Definition: DOAJSettingsForm.inc.php:19
DOAJSettingsForm\readInputData
readInputData()
Definition: DOAJSettingsForm.inc.php:90
DOAJSettingsForm\execute
execute(... $functionArgs)
Definition: DOAJSettingsForm.inc.php:97
DOAJSettingsForm\_getContextId
_getContextId()
Definition: DOAJSettingsForm.inc.php:34
Form\addCheck
addCheck($formValidator)
Definition: Form.inc.php:395
FormValidatorCSRF
Form validation check to make sure the CSRF token is correct.
Definition: FormValidatorCSRF.inc.php:18
Form
Class defining basic operations for handling HTML forms.
Definition: Form.inc.php:47
DOAJSettingsForm\_getPlugin
_getPlugin()
Definition: DOAJSettingsForm.inc.php:48
DOAJSettingsForm\isOptional
isOptional($settingName)
Definition: DOAJSettingsForm.inc.php:127