Open Journal Systems  3.3.0
CitationStyleLanguageSettingsForm.inc.php
1 <?php
16 import('lib.pkp.classes.form.Form');
17 
19 
21  public $plugin;
22 
27  public function __construct($plugin) {
28  parent::__construct($plugin->getTemplateResource('settings.tpl'));
29  $this->plugin = $plugin;
30  $this->addCheck(new FormValidatorPost($this));
31  $this->addCheck(new FormValidatorCSRF($this));
32  }
33 
37  public function initData() {
38  $request = Application::get()->getRequest();
39  $context = $request->getContext();
40  $contextId = $context ? $context->getId() : 0;
41  $this->setData('primaryCitationStyle', $this->plugin->getSetting($contextId, 'primaryCitationStyle'));
42  $this->setData('enabledCitationStyles', array_keys($this->plugin->getEnabledCitationStyles($contextId)));
43  $this->setData('enabledCitationDownloads', $this->plugin->getEnabledCitationDownloads($contextId));
44  $this->setData('publisherLocation', $this->plugin->getSetting($contextId, 'publisherLocation'));
45  }
46 
50  public function readInputData() {
51  $this->readUserVars(array(
52  'primaryCitationStyle',
53  'enabledCitationStyles',
54  'enabledCitationDownloads',
55  'publisherLocation',
56  ));
57  }
58 
62  public function fetch($request, $template = null, $display = false) {
63  $context = $request->getContext();
64  $contextId = $context ? $context->getId() : 0;
65 
66  $allStyles = [];
67  foreach ($this->plugin->getCitationStyles() as $style) {
68  $allStyles[$style['id']] = $style['title'];
69  }
70 
71  $allDownloads = [];
72  foreach ($this->plugin->getCitationDownloads() as $style) {
73  $allDownloads[$style['id']] = $style['title'];
74  }
75 
76  $templateMgr = TemplateManager::getManager($request);
77  $templateMgr->assign(array(
78  'pluginName' => $this->plugin->getName(),
79  'allDownloads' => $allDownloads,
80  'allStyles' => $allStyles,
81  'primaryCitationStyle' => $this->getData('primaryCitationStyle'),
82  'enabledStyles' => $this->plugin->mapCitationIds($this->plugin->getEnabledCitationStyles($contextId)),
83  'enabledDownloads' => $this->plugin->mapCitationIds($this->plugin->getEnabledCitationDownloads($contextId)),
84  ));
85 
86  return parent::fetch($request, $template, $display);
87  }
88 
92  public function execute(...$functionArgs) {
93  $request = Application::get()->getRequest();
94  $context = $request->getContext();
95  $contextId = $context ? $context->getId() : 0;
96  $this->plugin->updateSetting($contextId, 'primaryCitationStyle', $this->getData('primaryCitationStyle'));
97  $enabledCitationStyles = $this->getData('enabledCitationStyles') ? $this->getData('enabledCitationStyles') : array();
98  $this->plugin->updateSetting($contextId, 'enabledCitationStyles', $enabledCitationStyles);
99  $enabledCitationDownloads = $this->getData('enabledCitationDownloads') ? $this->getData('enabledCitationDownloads') : array();
100  $this->plugin->updateSetting($contextId, 'enabledCitationDownloads', $enabledCitationDownloads);
101  $this->plugin->updateSetting($contextId, 'publisherLocation', $this->getData('publisherLocation'));
102 
103  import('classes.notification.NotificationManager');
104  $notificationMgr = new NotificationManager();
105  $user = $request->getUser();
106  $notificationMgr->createTrivialNotification($user->getId(), NOTIFICATION_TYPE_SUCCESS, array('contents' => __('common.changesSaved')));
107 
108  return parent::execute(...$functionArgs);
109  }
110 }
111 
CitationStyleLanguageSettingsForm\execute
execute(... $functionArgs)
Definition: CitationStyleLanguageSettingsForm.inc.php:95
CitationStyleLanguageSettingsForm\fetch
fetch($request, $template=null, $display=false)
Definition: CitationStyleLanguageSettingsForm.inc.php:65
CitationStyleLanguageSettingsForm\initData
initData()
Definition: CitationStyleLanguageSettingsForm.inc.php:40
CitationStyleLanguageSettingsForm
Definition: CitationStyleLanguageSettingsForm.inc.php:18
CitationStyleLanguageSettingsForm\__construct
__construct($plugin)
Definition: CitationStyleLanguageSettingsForm.inc.php:30
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
CitationStyleLanguageSettingsForm\readInputData
readInputData()
Definition: CitationStyleLanguageSettingsForm.inc.php:53
FormValidatorPost
Form validation check to make sure the form is POSTed.
Definition: FormValidatorPost.inc.php:18
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
Form\addCheck
addCheck($formValidator)
Definition: Form.inc.php:395
NotificationManager
Definition: NotificationManager.inc.php:19
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
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
CitationStyleLanguageSettingsForm\$plugin
$plugin
Definition: CitationStyleLanguageSettingsForm.inc.php:24