20 import(
'lib.pkp.classes.handler.PKPHandler');
23 import(
'lib.pkp.classes.core.JSONMessage');
33 function authorize($request, &$args, $roleAssignments) {
34 import(
'lib.pkp.classes.security.authorization.PKPSiteAccessPolicy');
37 array(
'updateUserMessageState',
'suggestUsername'),
40 return parent::authorize($request, $args, $roleAssignments);
56 if (!(isset($args[
'setting-name'])) && isset($args[
'setting-value'])) {
57 fatalError(
'Required request parameter "setting-name" or "setting-value" missing!');
61 $user = $request->getUser();
62 assert(is_a($user,
'User'));
68 $settingName = $args[
'setting-name'];
69 $settingValue = $args[
'setting-value'];
71 switch($settingType) {
73 if (!($settingValue ===
'false' || $settingValue ===
'true')) {
75 fatalError(
'Invalid setting value! Must be "true" or "false".');
77 $settingValue = ($settingValue ===
'true' ? true :
false);
87 $userSettingsDao->updateSetting($user->getId(), $settingName, $settingValue, $settingType);
102 $request->getUserVar(
'givenName'),
103 $request->getUserVar(
'familyName')
119 static $allowedSettings = array(
120 'citation-editor-hide-intro' =>
'bool',
121 'citation-editor-hide-raw-editing-warning' =>
'bool'
125 if (isset($allowedSettings[$settingName])) {
126 return $allowedSettings[$settingName];