/** * Validate user information and create new user. */ function createAccount($args, &$request) { $this->validate(); $this->setupTemplate($request, true); import('classes.user.form.CreateAccountForm'); $regForm = new CreateAccountForm(); $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'); } Validation::login($regForm->getData('username'), $regForm->getData('password'), $reason); if ($reason !== null) { $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, 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, null, 'login'); } } else { $regForm->display(); } }