RegistrationHandler::validate PHP Method

validate() public method

Checks if context allows user registration.
public validate ( $request )
$request PKPRequest
    function validate($request)
    {
        $context = $request->getContext();
        $disableUserReg = false;
        if (!$context) {
            $contextDao = Application::getContextDAO();
            $contexts = $contextDao->getAll(true)->toArray();
            $contextsForRegistration = array();
            foreach ($contexts as $context) {
                if (!$context->getSetting('disableUserReg')) {
                    $contextsForRegistration[] = $context;
                }
            }
            if (empty($contextsForRegistration)) {
                $disableUserReg = true;
            }
        } elseif ($context->getSetting('disableUserReg')) {
            $disableUserReg = true;
        }
        if ($disableUserReg) {
            $this->setupTemplate($request);
            $templateMgr = TemplateManager::getManager($request);
            $templateMgr->assign(array('pageTitle' => 'user.register', 'errorMsg' => 'user.register.registrationDisabled', 'backLink' => $request->url(null, 'login'), 'backLinkLabel' => 'user.login'));
            $templateMgr->display('frontend/pages/error.tpl');
            exit;
        }
    }

Usage Example

 /**
  * Validate user registration information and register new user.
  */
 function registerUser()
 {
     RegistrationHandler::validate();
     import('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;
         if (Config::getVar('security', 'implicit_auth')) {
             Validation::login('', '', $reason);
         } else {
             Validation::login($regForm->getData('username'), $regForm->getData('password'), $reason);
         }
         if ($reason !== null) {
             parent::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, 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 {
         parent::setupTemplate(true);
         $regForm->display();
     }
 }
All Usage Examples Of RegistrationHandler::validate