Open Monograph Press  3.3.0
BrowseBlockSettingsForm.inc.php
1 <?php
2 
17 import('lib.pkp.classes.form.Form');
18 
20 
21  //
22  // Private properties
23  //
25  var $_pressId;
26 
28  var $_plugin;
29 
30 
31  //
32  // Constructor
33  //
39  public function __construct($plugin, $pressId) {
40  $this->setPressId($pressId);
41  $this->setPlugin($plugin);
42 
43  parent::__construct($plugin->getTemplateResource('settingsForm.tpl'));
44 
45  $this->addCheck(new FormValidatorPost($this));
46  $this->addCheck(new FormValidatorCSRF($this));
47 
48  $this->setData('pluginName', $plugin->getName());
49  $this->setData('pluginJavaScriptPath', $plugin->getPluginPath());
50  }
51 
52  //
53  // Getters and Setters
54  //
59  public function getPressId() {
60  return $this->_pressId;
61  }
62 
67  public function setPressId($pressId) {
68  $this->_pressId = $pressId;
69  }
70 
75  public function getPlugin() {
76  return $this->_plugin;
77  }
78 
83  public function setPlugin($plugin) {
84  $this->_plugin = $plugin;
85  }
86 
87  //
88  // Implement template methods from Form
89  //
93  public function initData() {
94  $pressId = $this->getPressId();
95  $plugin = $this->getPlugin();
96  foreach($this->_getFormFields() as $fieldName => $fieldType) {
97  $this->setData($fieldName, $plugin->getSetting($pressId, $fieldName));
98  }
99  }
100 
104  public function readInputData() {
105  $this->readUserVars(array_keys($this->_getFormFields()));
106  }
107 
111  public function execute(...$functionArgs) {
112  $plugin = $this->getPlugin();
113  $pressId = $this->getPressId();
114  foreach($this->_getFormFields() as $fieldName => $fieldType) {
115  $plugin->updateSetting($pressId, $fieldName, $this->getData($fieldName), $fieldType);
116  }
117  parent::execute(...$functionArgs);
118  }
119 
120  //
121  // Private helper methods
122  //
123  public function _getFormFields() {
124  return array(
125  'browseNewReleases' => 'bool',
126  'browseCategories' => 'bool',
127  'browseSeries' => 'bool',
128  );
129  }
130 }
131 
132 
BrowseBlockSettingsForm\getPressId
getPressId()
Definition: BrowseBlockSettingsForm.inc.php:65
BrowseBlockSettingsForm\initData
initData()
Definition: BrowseBlockSettingsForm.inc.php:99
BrowseBlockSettingsForm\$_pressId
$_pressId
Definition: BrowseBlockSettingsForm.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
BrowseBlockSettingsForm\getPlugin
getPlugin()
Definition: BrowseBlockSettingsForm.inc.php:81
BrowseBlockSettingsForm\$_plugin
$_plugin
Definition: BrowseBlockSettingsForm.inc.php:34
FormValidatorPost
Form validation check to make sure the form is POSTed.
Definition: FormValidatorPost.inc.php:18
BrowseBlockSettingsForm\execute
execute(... $functionArgs)
Definition: BrowseBlockSettingsForm.inc.php:117
BrowseBlockSettingsForm\setPressId
setPressId($pressId)
Definition: BrowseBlockSettingsForm.inc.php:73
BrowseBlockSettingsForm\__construct
__construct($plugin, $pressId)
Definition: BrowseBlockSettingsForm.inc.php:45
BrowseBlockSettingsForm
Form for press managers to setup Browse block plugin.
Definition: BrowseBlockSettingsForm.inc.php:19
BrowseBlockSettingsForm\_getFormFields
_getFormFields()
Definition: BrowseBlockSettingsForm.inc.php:129
Form\addCheck
addCheck($formValidator)
Definition: Form.inc.php:395
BrowseBlockSettingsForm\readInputData
readInputData()
Definition: BrowseBlockSettingsForm.inc.php:110
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
BrowseBlockSettingsForm\setPlugin
setPlugin($plugin)
Definition: BrowseBlockSettingsForm.inc.php:89