RegistrationHandler::registerUser PHP Method

registerUser() public method

Validate user registration information and register new user.
public registerUser ( $args, $request )
$args array
$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(array('requireValidation' => true, 'pageTitle' => 'user.login.registrationPendingValidation', '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(array('pageTitle' => 'user.login', 'errorMsg' => $reason == '' ? 'user.login.accountDisabled' : 'user.login.accountDisabledWithReason', 'errorParams' => array('reason' => $reason), 'backLink' => $request->url(null, 'login'), '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');
        }
    }

Usage Example

Example #1
0
 function registerUser()
 {
     import('pages.user.RegistrationHandler');
     RegistrationHandler::registerUser();
 }