예제 #1
0
 /**
  * Validate user registration information and register new user.
  */
 function registerUser($args, &$request)
 {
     $this->validate($request);
     import('classes.user.form.RegistrationForm');
     $regForm = new RegistrationForm();
     $regForm->readInputData();
     if ($regForm->validate()) {
         $regForm->execute();
         if (Config::getVar('email', 'require_validation')) {
             // Send them home; they need to deal with the
             // registration email.
             $request->redirect(null, 'index');
         }
         $reason = null;
         Validation::login($regForm->getData('username'), $regForm->getData('password'), $reason);
         if ($reason !== null) {
             $this->setupTemplate($request, true);
             $templateMgr =& TemplateManager::getManager();
             $templateMgr->assign('pageTitle', 'user.login');
             $templateMgr->assign('errorMsg', $reason == '' ? 'user.login.accountDisabled' : 'user.login.accountDisabledWithReason');
             $templateMgr->assign('errorParams', array('reason' => $reason));
             $templateMgr->assign('backLink', $request->url('login'));
             $templateMgr->assign('backLinkLabel', 'user.login');
             return $templateMgr->display('common/error.tpl');
         }
         if ($source = $request->getUserVar('source')) {
             $request->redirectUrl($source);
         } else {
             $request->redirect('login');
         }
     } else {
         $this->setupTemplate($request, true);
         $regForm->display();
     }
 }
 /**
  * Validate user registration information and register new user.
  * @param $args array
  * @param $request PKPRequest
  */
 function registerUser($args, &$request)
 {
     $this->validate($request);
     $this->setupTemplate($request, true);
     import('classes.user.form.RegistrationForm');
     if (checkPhpVersion('5.0.0')) {
         // WARNING: This form needs $this in constructor
         $regForm = new RegistrationForm();
     } else {
         $regForm =& new RegistrationForm();
     }
     $regForm->readInputData();
     if ($regForm->validate()) {
         $regForm->execute();
         $reason = null;
         if (Config::getVar('security', 'implicit_auth')) {
             Validation::login('', '', $reason);
         } else {
             Validation::login($regForm->getData('username'), $regForm->getData('password'), $reason);
         }
         if (!Validation::isLoggedIn()) {
             if (Config::getVar('email', 'require_validation')) {
                 // Inform the user that they need to deal with the
                 // registration email.
                 $this->setupTemplate($request, true);
                 $templateMgr =& TemplateManager::getManager();
                 $templateMgr->assign('pageTitle', 'user.register.emailValidation');
                 $templateMgr->assign('errorMsg', 'user.register.emailValidationDescription');
                 $templateMgr->assign('backLink', $request->url(null, 'login'));
                 $templateMgr->assign('backLinkLabel', 'user.login');
                 return $templateMgr->display('common/error.tpl');
             }
         }
         if ($reason !== null) {
             $this->setupTemplate($request, true);
             $templateMgr =& TemplateManager::getManager();
             $templateMgr->assign('pageTitle', 'user.login');
             $templateMgr->assign('errorMsg', $reason == '' ? 'user.login.accountDisabled' : 'user.login.accountDisabledWithReason');
             $templateMgr->assign('errorParams', array('reason' => $reason));
             $templateMgr->assign('backLink', $request->url(null, 'login'));
             $templateMgr->assign('backLinkLabel', 'user.login');
             return $templateMgr->display('common/error.tpl');
         }
         if ($source = $request->getUserVar('source')) {
             $request->redirectUrl($source);
         } else {
             $request->redirect(null, 'login');
         }
     } else {
         $regForm->display();
     }
 }
예제 #3
0
 /**
  * Validate user registration information and register new user.
  * @param $args array
  * @param $request PKPRequest
  */
 function registerUser($args, $request)
 {
     $this->validate($request);
     $this->setupTemplate($request);
     import('lib.pkp.classes.user.form.RegistrationForm');
     $regForm = new RegistrationForm($request->getSite());
     $regForm->readInputData();
     if (!$regForm->validate()) {
         return $regForm->display($request);
     }
     $regForm->execute($request);
     // Inform the user of the email validation process. This must be run
     // before the disabled account check to ensure new users don't see the
     // disabled account message.
     if (Config::getVar('email', 'require_validation')) {
         $this->setupTemplate($request);
         $templateMgr = TemplateManager::getManager($request);
         $templateMgr->assign('requireValidation', true);
         $templateMgr->assign('pageTitle', 'user.login.registrationPendingValidation');
         $templateMgr->assign('messageTranslated', __('user.login.accountNotValidated', array('email' => $regForm->getData('email'))));
         return $templateMgr->fetch('frontend/pages/message.tpl');
     }
     $reason = null;
     if (Config::getVar('security', 'implicit_auth')) {
         Validation::login('', '', $reason);
     } else {
         Validation::login($regForm->getData('username'), $regForm->getData('password'), $reason);
     }
     if ($reason !== null) {
         $this->setupTemplate($request);
         $templateMgr = TemplateManager::getManager($request);
         $templateMgr->assign('pageTitle', 'user.login');
         $templateMgr->assign('errorMsg', $reason == '' ? 'user.login.accountDisabled' : 'user.login.accountDisabledWithReason');
         $templateMgr->assign('errorParams', array('reason' => $reason));
         $templateMgr->assign('backLink', $request->url(null, 'login'));
         $templateMgr->assign('backLinkLabel', 'user.login');
         return $templateMgr->fetch('frontend/pages/error.tpl');
     }
     if ($source = $request->getUserVar('source')) {
         return $request->redirectUrlJson($source);
     } else {
         $request->redirect(null, 'user', 'registrationComplete');
     }
 }
예제 #4
0
 /**
  * Validate user registration information and register new user.
  * @param $args array
  * @param $request PKPRequest
  */
 function registerUser($args, $request)
 {
     $this->validate($request);
     $this->setupTemplate($request);
     import('lib.pkp.classes.user.form.RegistrationForm');
     $regForm = new RegistrationForm($request->getSite());
     $regForm->readInputData();
     if (!$regForm->validate()) {
         return new JSONMessage(true, $regForm->fetch($request));
     }
     $regForm->execute($request);
     if (Config::getVar('email', 'require_validation')) {
         // Send them home; they need to deal with the
         // registration email.
         return $request->redirectUrlJson($request->url(null, 'index'));
     }
     $reason = null;
     if (Config::getVar('security', 'implicit_auth')) {
         Validation::login('', '', $reason);
     } else {
         Validation::login($regForm->getData('username'), $regForm->getData('password'), $reason);
     }
     if ($reason !== null) {
         $this->setupTemplate($request);
         $templateMgr = TemplateManager::getManager($request);
         $templateMgr->assign('pageTitle', 'user.login');
         $templateMgr->assign('errorMsg', $reason == '' ? 'user.login.accountDisabled' : 'user.login.accountDisabledWithReason');
         $templateMgr->assign('errorParams', array('reason' => $reason));
         $templateMgr->assign('backLink', $request->url(null, 'login'));
         $templateMgr->assign('backLinkLabel', 'user.login');
         return $templateMgr->fetchJson('frontend/pages/error.tpl');
     }
     if ($source = $request->getUserVar('source')) {
         return $request->redirectUrlJson($source);
     }
     return $request->redirectUrlJson($request->getRouter()->getHomeUrl($request));
 }
예제 #5
0
 public function indexxAction()
 {
     $loEntityManager = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');
     $loUser = new Access();
     $loForm = new RegistrationForm();
     $loForm->get('submit')->setValue('Register');
     $loForm->setHydrator(new DoctrineHydrator($loEntityManager, 'Access\\Entity\\Access'));
     if ($this->requestIsPost()) {
         $loForm->setInputFilter(new RegistrationFilter($this->getServiceLocator()));
         $loForm->setData($this->requestPost());
         if ($loForm->isValid()) {
             $poUser->set('stPasswordSalt', String::generateDynamicSalt());
             $poUser->set('UserGroup_Id', null);
             $poUser->set('stRegistrationToken', md5(uniqid(mt_rand(), true)));
             $loUser->populate($loForm->getData());
             $this->sendConfirmationEmail($loUser);
             $this->flashMessenger()->addMessage(array('id' => $this->get('_sModule') . '-' . microtime(true), 'hidden' => $this->get('_bHiddenPushMessage'), 'push' => $this->get('_bPushMessage'), 'type' => 'success', $loUser->getEmail()));
             $loEntityManager->persist($loUser);
             $loEntityManager->flush();
         }
     }
     return new ViewModel(array('form' => $loForm));
 }
 /**
  * Validate user registration information and register new user.
  */
 function registerUser($args, &$request)
 {
     $this->validate();
     $this->setupTemplate(true);
     import('classes.user.form.RegistrationForm');
     //%CBP% get registration criteria, if defined
     $journal =& Request::getJournal();
     $CBPPlatformDao =& DAORegistry::getDAO('CBPPlatformDAO');
     $templateMgr =& TemplateManager::getManager();
     $registrationCriteria = $CBPPlatformDao->getRegistrationCriteria($journal->getId());
     $templateMgr->assign('registrationCriteria', $registrationCriteria);
     if ($registrationCriteria != null) {
         if (Request::getUserVar('registrationCriteria') == 1) {
             $reason = null;
             $templateMgr->assign('registrationCriteriaChecked', 1);
         } else {
             $reason = 1;
             $templateMgr->assign('registrationCriteriaReqd', 1);
         }
     }
     if (checkPhpVersion('5.0.0')) {
         // WARNING: This form needs $this in constructor
         $regForm = new RegistrationForm();
     } else {
         $regForm =& new RegistrationForm();
     }
     $regForm->readInputData();
     if ($regForm->validate()) {
         $regForm->execute();
         if (Config::getVar('email', 'require_validation')) {
             // Send them home; they need to deal with the
             // registration email.
             Request::redirect(null, 'index');
         }
         $reason = null;
         if (Config::getVar('security', 'implicit_auth')) {
             Validation::login('', '', $reason);
         } else {
             Validation::login($regForm->getData('username'), $regForm->getData('password'), $reason);
         }
         if ($reason !== null) {
             $this->setupTemplate(true);
             $templateMgr =& TemplateManager::getManager();
             $templateMgr->assign('pageTitle', 'user.login');
             $templateMgr->assign('errorMsg', $reason == '' ? 'user.login.accountDisabled' : 'user.login.accountDisabledWithReason');
             $templateMgr->assign('errorParams', array('reason' => $reason));
             $templateMgr->assign('backLink', Request::url(null, 'login'));
             $templateMgr->assign('backLinkLabel', 'user.login');
             return $templateMgr->display('common/error.tpl');
         }
         if ($source = Request::getUserVar('source')) {
             Request::redirectUrl($source);
         } else {
             Request::redirect(null, 'login');
         }
     } else {
         $regForm->display();
     }
 }