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::toString('register', 'post'); if (isset($register)) { if ($form->setFromPost()->validate(['username', 'email', 'password'])->isValid()) { $user->setStatus(0); $user->setPassword(Util\Security::encryptPassword($user->getPassword())); $resultUpload = Util\Media::upload($user->getUsername()); if ($resultUpload['result'] == ResultType::ERROR) { Util\Session::set('siteError', $resultUpload['message']); } else { if ($resultUpload['result'] == ResultType::SUCCESS) { $user->setAvatarId($resultUpload['mediaId']); } $user->save(); } // send email if (Mail::register($this->app->site()->getTitle(), $user)) { return $tpl->render('register-success'); } // mail could not be sent $user->setStatus(1); $userRole = new \Rebond\Core\UserRole\Model(); $userRole->setUserId($user->getId()); $userRole->setRoleId(\Rebond\Core\Role\Model::MEMBER); $userRole->save(); return $tpl->render('register-success-nomail'); } else { Util\Session::set('siteError', $form->getValidation()->getMessage()); } } // confirm email $confirm = Util\Converter::toString('confirm'); if (isset($confirm)) { $signedUser = \Rebond\Core\UserSecurity\Service::getUserBySecure($confirm, \Rebond\Core\UserSecurity\Model::CONFIRM); if (isset($signedUser) && $signedUser->getId() != 0) { $userRole = new \Rebond\Core\UserRole\Model(); $userRole->setUserId($signedUser->getId()); $userRole->setRoleId(\Rebond\Core\Role\Model::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'); }
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'); }
protected static function mapper(array $row, $alias = 'user') { $model = new \Rebond\Core\User\Model(false); if (isset($row[$alias . 'Id'])) { $model->setId($row[$alias . 'Id']); } if (isset($row[$alias . 'Username'])) { $model->setUsername($row[$alias . 'Username']); } if (isset($row[$alias . 'Email'])) { $model->setEmail($row[$alias . 'Email']); } if (isset($row[$alias . 'Password'])) { $model->setPassword($row[$alias . 'Password']); } if (isset($row[$alias . 'Firstname'])) { $model->setFirstname($row[$alias . 'Firstname']); } if (isset($row[$alias . 'Lastname'])) { $model->setLastname($row[$alias . 'Lastname']); } if (isset($row[$alias . 'AvatarId'])) { $model->setAvatarId($row[$alias . 'AvatarId']); $model->setAvatar(\Rebond\Core\Media\Data::join($row, $alias . '_avatar')); } if (isset($row[$alias . 'IsAdmin'])) { $model->setIsAdmin($row[$alias . 'IsAdmin']); } if (isset($row[$alias . 'IsDev'])) { $model->setIsDev($row[$alias . 'IsDev']); } if (isset($row[$alias . 'Status'])) { $model->setStatus($row[$alias . 'Status']); } if (isset($row[$alias . 'CreatedDate'])) { $model->setCreatedDate($row[$alias . 'CreatedDate']); } if (isset($row[$alias . 'ModifiedDate'])) { $model->setModifiedDate($row[$alias . 'ModifiedDate']); } return $model; }