/** * processAction * * Member registration process * * @return null */ public function processAction() { // set json context \View::setOutputContext('json'); \View::lockOutputContext(); // validate form $registerForm = new forms\RegisterForm(); $registerForm->validate(); if (!$registerForm->isValid()) { throw new \MemberErrorException(array('title' => \View::$language->register_error, 'description' => \View::$language->register_proc_err_descr, 'form_messages' => $registerForm->getMessages())); } $userData = $registerForm->getData(); // set new user defaults $hCnf = \App::getConfig('hosts'); $mCnf = \App::getConfig('member-defaults'); $pass = \common\CryptHelper::generateHash($userData->password); $userData->group_id = $mCnf->group_id; $userData->cookie = \common\HashHelper::getUniqueKey(); $userData->password = $pass; $userData->time_zone = $mCnf->time_zone; $userData->status = $mCnf->status; $userData->activation_hash = \common\HashHelper::getUniqueKey(); $userData->avatar = '//' . $hCnf->st . $mCnf->avatar; // create a new user $UserModel = \App::getInstance('common\\UserModel'); $UserModel->createUser($userData); // TODO send email notification of account activation \App::dump($userData); // redirect to complete page \Storage::write('__register_complete', true); throw new \MemberSuccessException(array('redirection' => '/user/register/complete')); }