Open Journal Systems  3.3.0
pages/user/PKPUserHandler.inc.php
1 <?php
2 
16 import('classes.handler.Handler');
17 
18 class PKPUserHandler extends Handler {
19 
23  function index($args, $request) {
24  $request->redirect(null, null, 'profile');
25  }
26 
31  function setLocale($args, $request) {
32  $setLocale = array_shift($args);
33 
34  $site = $request->getSite();
35  $context = $request->getContext();
36  if ($context != null) {
37  $contextSupportedLocales = (array) $context->getSupportedLocales();
38  }
39 
40  if (AppLocale::isLocaleValid($setLocale) && (!isset($contextSupportedLocales) || in_array($setLocale, $contextSupportedLocales)) && in_array($setLocale, $site->getSupportedLocales())) {
41  $session = $request->getSession();
42  $session->setSessionVar('currentLocale', $setLocale);
43  }
44 
45  $source = $request->getUserVar('source');
46  if (preg_match('#^/\w#', $source) === 1) {
47  $request->redirectUrl($source);
48  }
49 
50  if(isset($_SERVER['HTTP_REFERER'])) {
51  $request->redirectUrl($_SERVER['HTTP_REFERER']);
52  }
53 
54  $request->redirect(null, 'index');
55  }
56 
63  function getInterests($args, $request) {
64  // Get the input text used to filter on
65  $filter = $request->getUserVar('term');
66 
67  import('lib.pkp.classes.user.InterestManager');
68  $interestManager = new InterestManager();
69 
70  $interests = $interestManager->getAllInterests($filter);
71 
72  import('lib.pkp.classes.core.JSONMessage');
73  return new JSONMessage(true, $interests);
74  }
75 
81  function authorizationDenied($args, $request) {
82  if (!Validation::isLoggedIn()) {
84  }
85 
86  // Get message with sanity check (for XSS or phishing)
87  $authorizationMessage = $request->getUserVar('message');
88  if (!preg_match('/^[a-zA-Z0-9.]+$/', $authorizationMessage)) {
89  fatalError('Invalid locale key for auth message.');
90  }
91 
92  $this->setupTemplate($request);
93  AppLocale::requireComponents(LOCALE_COMPONENT_PKP_USER, LOCALE_COMPONENT_PKP_REVIEWER);
94  $templateMgr = TemplateManager::getManager($request);
95  $templateMgr->assign('message', $authorizationMessage);
96  return $templateMgr->display('frontend/pages/message.tpl');
97  }
98 }
99 
100 
AppLocale\requireComponents
static requireComponents()
Definition: env1/MockAppLocale.inc.php:56
Validation\redirectLogin
static redirectLogin($message=null)
Definition: Validation.inc.php:168
Validation\isLoggedIn
static isLoggedIn()
Definition: Validation.inc.php:376
PKPUserHandler
Base class to handle API requests for user operations.
Definition: api/v1/users/PKPUserHandler.inc.php:20
PKPUserHandler\authorizationDenied
authorizationDenied($args, $request)
Definition: pages/user/PKPUserHandler.inc.php:81
PKPUserHandler\index
index($args, $request)
Definition: pages/user/PKPUserHandler.inc.php:23
PKPUserHandler\setLocale
setLocale($args, $request)
Definition: pages/user/PKPUserHandler.inc.php:31
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
InterestManager
Handle user interest functions.
Definition: InterestManager.inc.php:16
PKPHandler\setupTemplate
setupTemplate($request)
Definition: PKPHandler.inc.php:466
fatalError
if(!function_exists('import')) fatalError($reason)
Definition: functions.inc.php:32
Handler
Base request handler application class.
Definition: Handler.inc.php:18
PKPLocale\isLocaleValid
static isLocaleValid($locale)
Definition: PKPLocale.inc.php:505
PKPUserHandler\getInterests
getInterests($args, $request)
Definition: pages/user/PKPUserHandler.inc.php:63