/** * Sign In Page controller * * @param Request $request Incoming request * @param Application $app $Silex application * @return mixed */ public function signInAction(Request $request, Application $app) { $user = new User(); // Warning : constant salt $salt = "qUgq3NAYfC1MKwrW?yevbE"; $user->setSalt($salt); $user->setRole("ROLE_USER"); $encoder = $app['security.encoder.digest']; $userForm = $app['form.factory']->create(new UserType(), $user); $userForm->handleRequest($request); if ($userForm->isSubmitted() && $userForm->isValid()) { // Salt the password of the user $user->setPassword($encoder->encodePassword($user->getPassword(), $salt)); $app['dao.user']->save($user); $app['session']->getFlashBag()->add('success', 'Votre compte a bien été crée'); } $userFormView = $userForm->createView(); return $app['twig']->render('user_form.html.twig', array("title" => "Créer un compte", "userForm" => $userFormView)); }
/** * Creates a User object based on a DB row. * * @param array $row The DB row containing User data. * @return \VeryGoodTrip\Domain\User */ protected function buildDomainObject($row) { $user = new User(); $user->setId($row['user_id']); $user->setEmail($row['user_email']); $user->setLastname($row['user_lastname']); $user->setFirstname($row['user_firstname']); $user->setPassword($row['user_password']); $user->setSalt($row['user_salt']); $user->setAddress($row['user_address']); $user->setTown($row['user_town']); $user->setZipcode($row['user_zipcode']); $user->setRole($row['user_role']); return $user; }