public function connect(Application $app) { // creates a new controller based on the default route $front = $app['controllers_factory']; $front->get("/", 'FrontController\\Homepage::index')->bind("homepage"); $front->match("/final_test", 'FrontController\\FinalTest::index')->bind("final_test"); $front->match("/control_test", 'FrontController\\ControlTest::index')->bind("control_test"); $front->match("/{course_type}", 'FrontController\\CourseType::index')->bind("course_type"); //$front->post("/{course_type}", 'FrontController\Score::index')->bind("course_type"); $app->get('/logout', function (Request $request) use($app) { $app['session']->set('username', ''); $app['session']->set('id', ''); $redirect = $app["url_generator"]->generate("homepage"); return $app->redirect($redirect); })->bind("logout"); $app->post('/login-check', function (Request $request) use($app) { $em = $app['orm.em']; $qb = $em->createQueryBuilder(); if (null !== $request->get('username2')) { $username = $request->get('username2'); $query = $qb->select('u')->from('models\\User', 'u')->where("u.username = '******'")->getQuery(); $result = $query->getResult(); $result_count = count($result); if ($result_count > 0) { return 'Helaas, de gebruikersnaam die je hebt ingevoerd bestaat al, probeer eens een andere.'; } else { $user = new User(); $user->setUsername($username); $user->setRoles("ROLE_USER"); $em->persist($user); $em->flush(); $id = $user->getId(); $app['session']->set('id', $id); $app['session']->set('username', $username); return 'succes'; } } else { if ($request->get('username') != '') { $username = $request->get('username'); $query = $qb->select('u')->from('models\\User', 'u')->where("u.username = '******'")->getQuery(); $result = $query->getResult(); $result_count = count($result); if ($result_count < 1) { return 'De gebruikersnaam die je hebt ingevoerd bestaat niet, probeer het eens opnieuw.'; } else { $id = $result[0]->id; $app['session']->set('id', $id); $app['session']->set('username', $username); return 'succes'; } } } })->bind("login_check"); return $front; }
/** * @BingingModel RegisterUserBingingModel */ public function postregister(RegisterUserBingingModel $userBindingModel) { if ($userBindingModel) { $user = new User(); $user->setUsername($userBindingModel->getUsername()); $user->setPassword($userBindingModel->getPassword()); $user->setCash(10000); $this->data->register($user); } $this->view->appendToLayout('main', 'register'); $this->view->display('layouts.default'); }
/** * Function is used for registering new users. * It checks entered data, register new user and redirects to user's twitter wall. * User must enter security number to prevent robot attacks. */ public function action() { $main = new Main(); $main->setPageTitle("Sign up for TwitterApp"); $register = new \templates\Register(); $main->setBody($register); echo $main; if (post('register')) { $firstName = htmlentities(trim(post('fname'))); $lastName = htmlentities(trim(post('lname'))); $username = htmlentities(trim(post('username'))); $password = trim(post('password')); $hashedPassword = hash_password($password); $confirmedPassword = trim(post('cpassword')); $email = trim(post('email')); $userSecurityNumber = (int) trim(post('security')); //server-side validation $error = false; if (!ctype_alpha($firstName) || strlen($firstName) < 3 || strlen($firstName) > 25) { $error = true; } if (!ctype_alpha($lastName) || strlen($lastName) < 3 || strlen($lastName) > 25) { $error = true; } if (!ctype_alnum($username) || strlen($username) < 4 || strlen($lastName) > 25) { $error = true; } if (!ctype_alnum($password) || strlen($password) < 4 || strlen($password) > 25) { $error = true; } if (!ctype_alnum($confirmedPassword) || strlen($confirmedPassword) < 4 || strlen($confirmedPassword) > 25) { $error = true; } if ($userSecurityNumber < 1113 || $userSecurityNumber > 1207) { $error = true; } if ($password === $confirmedPassword && !$error) { $user = new User(); $user->setFirstName($firstName); $user->setLastName($lastName); $user->setUsername($username); $user->setPassword($hashedPassword); $user->setEmail($email); try { UserRepository::registerUser($user); } catch (\PDOException $e) { $e->getMessage(); } } } }
public function register() { if (!Router::active()->parent()) { if (Tools::getValue('register')) { $user = new User(); $user->setUsername(Tools::getValue('username')); $user->setEmailAddress(Tools::getValue('email')); $user->setPassword(Tools::getValue('password1'), Tools::getValue('password2')); try { if ($errors = $user->errors()) { Log::addMessages(Log::ERROR, $errors); } else { Log::addMessages(Log::MESSAGE, array('Registration successful!')); $user->execute()->persist(); } } catch (Exception $e) { Log::addMessage(Log::ERROR, array($e)); } Router::redirect(); } } else { return $this->display('AuthController/register.tpl'); } }
/** * {@inheritDoc} */ public function setUsername($username) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUsername', array($username)); return parent::setUsername($username); }
public function create() { if ($_POST['regPassword'] != $_POST['regPassword2']) { $this->addPopup('danger', 'Hesla se neshodují.'); redirectTo("/registrace"); } if (!User::checkRegistrationValidity()) { redirectTo("/registrace"); } $existing = User::checkExistingUsernameEmail(); if ($existing != NULL) { if ($existing->getUsername() == $_POST["regUsername"]) { $this->addPopup('danger', 'Uživatel se stejným uživatelským jménem je již zaregistrován.'); } elseif ($existing->getEmail() == $_POST["regEmail"]) { $this->addPopup('danger', 'Uživatel se stejnou emailovou adresou je již zaregistrován.'); } redirectTo("/registrace"); } else { $token = token(50); $user = new User(); $user->setIdImage(6); $user->setUsername(strip_tags($_POST['regUsername'])); $user->setPassword(strip_tags(sha1($_POST['regPassword']))); $user->setEmail(strip_tags($_POST['regEmail'])); $user->setUrl(strip_tags($_POST['regUsername'])); $user->setEmailConfirmToken($token); $user->setPasswordResetToken(NULL); $user->setPermissions(0); $user->setSigninCount(0); sendEmailConfirmationToken($user->getUsername(), $user->getEmailConfirmToken(), $user->getEmail()); $user->save(); $this->addPopup('success', 'Registrace proběhla úspěšně! Nyní se můžete přihlásit.'); redirectTo("/"); } }
protected function validateOne() { setContentType("json"); $user = new User(); $given = array_keys($_POST); $response["error"] = null; if (count($given) == 1) { if ($given[0] == "username") { $user->setUsername($_POST["username"]); } else { if ($given[0] == "password") { $user->setPassword($_POST["password"]); } else { if ($given[0] == "email") { $user->setEmail($_POST["email"]); } else { if ($given[0] == "name") { $user->setName($_POST["name"]); } else { if ($given[0] == "surname") { $user->setSurname($_POST["surname"]); } else { setHTTPStatusCode("400"); return; } } } } } if (!$user->validate()) { foreach ($user->getValidationFailures() as $failure) { if ($given[0] == $failure->getPropertyPath()) { $response["error"] = array("name" => $failure->getPropertyPath(), "message" => $failure->getMessage()); } } } $this->viewString(json_encode($response)); } else { setHTTPStatusCode("400"); } }