public function register() { $signedUser = $this->app->user(); // auth if (Util\Auth::isAuth($signedUser)) { header('Location: /profile'); exit; } // check $user = new \Rebond\Core\User\Model(); $form = new \Rebond\Core\User\Form($user); $tpl = new Util\Template(Util\Template::MODULE, ['app', 'User']); // register $register = Util\Converter::string('register', 'post'); if (isset($register)) { if ($form->setFromPost()->validate()->isValid()) { $user->setStatus(0); $user->setPassword(Util\Security::encryptPassword($user->getPassword())); $avatarId = Util\Media::generateAvatar($user->getUsername()); $user->setAvatarId($avatarId); $user->save(); // send email if (Mail::register($this->app->site()->getTitle(), $user)) { return $tpl->render('register-success'); } else { $user->setStatus(1); $user->save(); $userRole = new \Rebond\Core\UserRole\Model(); $userRole->setUserId($user->getId()); $userRole->setRoleId(5); // member $userRole->save(); return $tpl->render('register-success-nomail'); } } else { Session::set('siteError', $form->getValidation()->getMessage()); } } // confirm email $confirm = Util\Converter::string('confirm'); if (isset($confirm)) { $signedUser = \Rebond\Core\UserSecurity\Data::loadBySecure($confirm, \Rebond\Core\UserSecurity\Model::CONFIRM); if (isset($signedUser) && $signedUser->getId() != 0) { $userRole = new \Rebond\Core\UserRole\Model(); $userRole->setUserId($signedUser->getId()); $userRole->setRoleId(5); // member $userRole->save(); Util\Session::set('allSuccess', Util\Lang::lang('hi', [$signedUser->getUsername()])); Util\Session::set('signedUser', $signedUser->getId()); $this->app->setUser($signedUser); return $tpl->render('register-confirm'); } } $tpl->set('item', $form); return $tpl->render('register'); }