/**
  * Become a given role.
  * @param $args array
  * @param $request PKPRequest
  */
 function become($args, $request)
 {
     parent::validate(true);
     $press = $request->getPress();
     $user = $request->getUser();
     $roleId = $deniedKey = null;
     // Scrutinizer
     switch (array_shift($args)) {
         case 'author':
             $roleId = ROLE_ID_AUTHOR;
             $deniedKey = 'user.noRoles.submitMonographRegClosed';
             break;
         case 'reviewer':
             $roleId = ROLE_ID_REVIEWER;
             $deniedKey = 'user.noRoles.regReviewerClosed';
             break;
         default:
             $request->redirect(null, null, 'index');
     }
     $userGroupDao = DAORegistry::getDAO('UserGroupDAO');
     $userGroup = $userGroupDao->getDefaultByRoleId($press->getId(), $roleId);
     if ($userGroup->getPermitSelfRegistration()) {
         $userGroupDao->assignUserToGroup($user->getId(), $userGroup->getId());
         $request->redirectUrl($request->getUserVar('source'));
     } else {
         $templateMgr = TemplateManager::getManager($request);
         $templateMgr->assign('message', $deniedKey);
         return $templateMgr->display('frontend/pages/message.tpl');
     }
 }
Example #2
0
 /**
  * Validate that user is logged in.
  * Redirects to login form if not logged in.
  * @param $loginCheck boolean check if user is logged in
  */
 function validate($loginCheck = true)
 {
     parent::validate();
     if ($loginCheck && !Validation::isLoggedIn()) {
         Validation::redirectLogin();
     }
 }