16 import(
'lib.pkp.classes.form.Form');
28 parent::__construct(
$plugin->getTemplateResource(
'settings.tpl'));
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'));
52 'primaryCitationStyle',
53 'enabledCitationStyles',
54 'enabledCitationDownloads',
62 public function fetch($request, $template =
null, $display =
false) {
63 $context = $request->getContext();
64 $contextId = $context ? $context->getId() : 0;
67 foreach ($this->plugin->getCitationStyles() as $style) {
68 $allStyles[$style[
'id']] = $style[
'title'];
72 foreach ($this->plugin->getCitationDownloads() as $style) {
73 $allDownloads[$style[
'id']] = $style[
'title'];
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)),
86 return parent::fetch($request, $template, $display);
92 public function execute(...$functionArgs) {
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'));
103 import(
'classes.notification.NotificationManager');
105 $user = $request->getUser();
106 $notificationMgr->createTrivialNotification($user->getId(), NOTIFICATION_TYPE_SUCCESS, array(
'contents' => __(
'common.changesSaved')));
108 return parent::execute(...$functionArgs);