Open Journal Systems  3.3.0
SwordSettingsTabHandler.inc.php
1 <?php
2 
14 import('classes.handler.Handler');
15 
18  protected $_plugin = null;
19 
23  public function __construct() {
24  parent::__construct();
25 
26  $this->_plugin = PluginRegistry::getPlugin('generic', 'swordplugin');
27 
28  $this->addRoleAssignment(
29  array(ROLE_ID_MANAGER),
30  array('swordSettings')
31  );
32  }
33 
37  function authorize($request, &$args, $roleAssignments) {
38  import('lib.pkp.classes.security.authorization.ContextAccessPolicy');
39  $this->addPolicy(new ContextAccessPolicy($request, $roleAssignments));
40  return parent::authorize($request, $args, $roleAssignments);
41  }
42 
50  public function swordSettings($args, $request) {
51  $context = $request->getContext();
52  PKPLocale::requireComponents(LOCALE_COMPONENT_APP_COMMON, LOCALE_COMPONENT_PKP_MANAGER);
53  $templateMgr = TemplateManager::getManager($request);
54 
55  $this->_plugin->import('SwordSettingsForm');
56  $form = new SwordSettingsForm($this->_plugin, $context);
57  if ($request->getUserVar('save')) {
58  $form->readInputData();
59  if ($form->validate()) {
60  $form->execute();
61  $notificationManager = new NotificationManager();
62  $notificationManager->createTrivialNotification(
63  $request->getUser()->getId(),
64  NOTIFICATION_TYPE_SUCCESS,
65  array('contents' => __('plugins.generic.sword.settings.saved'))
66  );
67  }
68  } else {
69  $form->initData();
70  }
71  return new JSONMessage(true, $form->fetch($request));
72  }
73 }
PKPHandler\addRoleAssignment
addRoleAssignment($roleIds, $operations)
Definition: PKPHandler.inc.php:213
SwordSettingsTabHandler\$_plugin
$_plugin
Definition: SwordSettingsTabHandler.inc.php:21
ContextAccessPolicy
Class to control access to PKP applications' setup components.
Definition: ContextAccessPolicy.inc.php:17
SwordSettingsTabHandler\authorize
authorize($request, &$args, $roleAssignments)
Definition: SwordSettingsTabHandler.inc.php:40
SwordSettingsTabHandler\swordSettings
swordSettings($args, $request)
Definition: SwordSettingsTabHandler.inc.php:53
JSONMessage
Class to represent a JSON (Javascript Object Notation) message.
Definition: JSONMessage.inc.php:18
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
PluginRegistry\getPlugin
static getPlugin($category, $name)
Definition: PluginRegistry.inc.php:85
NotificationManager
Definition: NotificationManager.inc.php:19
SwordSettingsForm
Form for SWORD plugin settings.
Definition: SwordSettingsForm.inc.php:16
SwordSettingsTabHandler\__construct
__construct()
Definition: SwordSettingsTabHandler.inc.php:26
PKPHandler\addPolicy
addPolicy($authorizationPolicy, $addToTop=false)
Definition: PKPHandler.inc.php:157
Handler
Base request handler application class.
Definition: Handler.inc.php:18
PKPLocale\requireComponents
static requireComponents()
Definition: PKPLocale.inc.php:374
SwordSettingsTabHandler
Responds to requests for SWORD settings page.
Definition: SwordSettingsTabHandler.inc.php:16