Exemple #1
0
 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');
 }
Exemple #3
0
 /**
  * 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();
             }
         }
     }
 }
Exemple #4
0
 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);
 }
Exemple #6
0
 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");
     }
 }