Open Journal Systems  3.3.0
PLNSettingsForm.inc.php
1 <?php
2 
13 import('lib.pkp.classes.form.Form');
14 
15 class PLNSettingsForm extends Form {
17  var $_contextId;
18 
20  var $_plugin;
21 
27  public function __construct($plugin, $contextId) {
28  $this->_contextId = $contextId;
29  $this->_plugin = $plugin;
30  parent::__construct($plugin->getTemplateResource('settings.tpl'));
31  }
32 
36  public function initData() {
37  $contextId = $this->_contextId;
38  if (!$this->_plugin->getSetting($contextId, 'terms_of_use')) {
39  $this->_plugin->getServiceDocument($contextId);
40  }
41  $this->setData('terms_of_use', unserialize($this->_plugin->getSetting($contextId, 'terms_of_use')));
42  $this->setData('terms_of_use_agreement', unserialize($this->_plugin->getSetting($contextId, 'terms_of_use_agreement')));
43  }
44 
48  public function readInputData() {
49  $this->readUserVars(array('terms_agreed'));
50 
51  $terms_agreed = $this->getData('terms_of_use_agreement');
52  if ($this->getData('terms_agreed')) {
53  foreach (array_keys($this->getData('terms_agreed')) as $term_agreed) {
54  $terms_agreed[$term_agreed] = gmdate('c');
55  }
56  $this->setData('terms_of_use_agreement', $terms_agreed);
57  }
58  }
59 
66  public function _checkPrerequisites() {
67  $messages = array();
68 
69  if (!@include_once('Archive/Tar.php')) {
70  $messages[] = __('plugins.generic.pln.notifications.archive_tar_missing');
71  }
72  if (!$this->_plugin->zipInstalled()) {
73  $messages = __('plugins.generic.pln.notifications.zip_missing');
74  }
75  if (!$this->_plugin->cronEnabled()) {
76  $messages = __('plugins.generic.pln.settings.acron_required');
77  }
78  return $messages;
79  }
80 
84  public function fetch($request, $template = null, $display = false) {
85  $context = $request->getContext();
86  $issn = '';
87  if ($context->getSetting('onlineIssn')) {
88  $issn = $context->getSetting('onlineIssn');
89  } else if ($context->getSetting('printIssn')) {
90  $issn = $context->getSetting('printIssn');
91  }
92  $hasIssn = false;
93  if ($issn != '') {
94  $hasIssn = true;
95  }
96  $templateMgr = TemplateManager::getManager($request);
97  $templateMgr->assign(array(
98  'pluginName' => $this->_plugin->getName(),
99  'hasIssn' => $hasIssn,
100  'prerequisitesMissing' => $this->_checkPrerequisites(),
101  'journal_uuid' => $this->_plugin->getSetting($this->_contextId, 'journal_uuid'),
102  'terms_of_use' => unserialize($this->_plugin->getSetting($this->_contextId, 'terms_of_use')),
103  'terms_of_use_agreement' => $this->getData('terms_of_use_agreement'),
104  ));
105 
106  return parent::fetch($request, $template, $display);
107  }
108 
112  public function execute(...$functionArgs) {
113  parent::execute(...$functionArgs);
114  $this->_plugin->updateSetting($this->_contextId, 'terms_of_use_agreement', serialize($this->getData('terms_of_use_agreement')), 'object');
115 
116  $pluginSettingsDao = DAORegistry::getDAO('PluginSettingsDAO');
117  $pluginSettingsDao->installSettings($this->_contextId, $this->_plugin->getName(), $this->_plugin->getContextSpecificPluginSettingsFile());
118  }
119 }
PLNSettingsForm\initData
initData()
Definition: PLNSettingsForm.inc.php:42
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
PLNSettingsForm
Form for journal managers to modify PLN plugin settings.
Definition: PLNSettingsForm.inc.php:15
Form\setData
setData($key, $value=null)
Definition: Form.inc.php:229
PLNSettingsForm\readInputData
readInputData()
Definition: PLNSettingsForm.inc.php:54
Form\readUserVars
readUserVars($vars)
Definition: Form.inc.php:378
Form\getData
getData($key)
Definition: Form.inc.php:220
PLNSettingsForm\__construct
__construct($plugin, $contextId)
Definition: PLNSettingsForm.inc.php:33
PLNSettingsForm\fetch
fetch($request, $template=null, $display=false)
Definition: PLNSettingsForm.inc.php:90
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
PLNSettingsForm\execute
execute(... $functionArgs)
Definition: PLNSettingsForm.inc.php:118
PLNSettingsForm\$_contextId
$_contextId
Definition: PLNSettingsForm.inc.php:20
PLNSettingsForm\$_plugin
$_plugin
Definition: PLNSettingsForm.inc.php:26
Form
Class defining basic operations for handling HTML forms.
Definition: Form.inc.php:47
PLNSettingsForm\_checkPrerequisites
_checkPrerequisites()
Definition: PLNSettingsForm.inc.php:72