示例#1
0
 /**
  * Processes the registration
  */
 public function registerHandleAction(Application $app, Request $request)
 {
     $errors = array();
     if (!($email = $request->request->get('email'))) {
         $errors[] = '"email" is required';
     }
     if (!($plainPassword = $request->request->get('plainPassword'))) {
         $errors[] = '"password" is required';
     }
     if (!($username = $request->request->get('username'))) {
         $errors[] = '"username" is required';
     }
     /** @var \KnpU\CodeBattle\Repository\UserRepository $userRepository */
     $userRepository = $app['repository.user'];
     // make sure we don't already have this user!
     if ($existingUser = $userRepository->findUserByEmail($email)) {
         $errors[] = 'A user with this email is already registered!';
     }
     // make sure we don't already have this user!
     if ($existingUser = $userRepository->findUserByUsername($username)) {
         $errors[] = 'A user with this username is already registered!';
     }
     $user = new User();
     $user->email = $email;
     $user->username = $username;
     $user->setPlainPassword($plainPassword);
     // errors? Show them!
     if (count($errors) > 0) {
         return $this->render('user\\register.twig', array('errors' => $errors, 'user' => $user));
     }
     $userRepository->save($user);
     $this->loginUser($user);
     return $this->redirect($this->generateUrl('homepage'));
 }
示例#2
0
 /**
  * Logs this user into the system
  *
  * @param User $user
  */
 public function loginUser(User $user)
 {
     $token = new UsernamePasswordToken($user, $user->getPassword(), 'main', $user->getRoles());
     $this->container['security']->setToken($token);
 }
示例#3
0
 public function populateData()
 {
     $user = new User();
     $user->username = '******';
     $user->email = '*****@*****.**';
     $user->setPlainPassword('foo');
     $userRepo = $this->app['repository.user'];
     $userRepo->save($user);
     $project1 = new Project();
     $project1->name = 'BurningBot';
     $project1->difficultyLevel = rand(1, 10);
     $projectRepo = $this->app['repository.project'];
     $projectRepo->save($project1);
     $project2 = new Project();
     $project2->name = 'InstaFaceTweet';
     $project2->difficultyLevel = rand(1, 10);
     $projectRepo = $this->app['repository.project'];
     $projectRepo->save($project2);
     $project3 = new Project();
     $project3->name = 'MountBox';
     $project3->difficultyLevel = rand(1, 10);
     $projectRepo = $this->app['repository.project'];
     $projectRepo->save($project3);
     $project4 = new Project();
     $project4->name = 'Video Game';
     $project4->difficultyLevel = rand(1, 10);
     $projectRepo = $this->app['repository.project'];
     $projectRepo->save($project4);
     $project5 = new Project();
     $project5->name = 'Bike Shop Project';
     $project5->difficultyLevel = rand(1, 10);
     $projectRepo = $this->app['repository.project'];
     $projectRepo->save($project5);
 }
示例#4
0
 public function createUser($email, $plainPassword, $username = null)
 {
     $user = new User();
     $user->email = $email;
     $user->username = $username ? $username : '******' . rand(0, 10000);
     $user->setPlainPassword($plainPassword);
     $this->getUserRepository()->save($user);
     return $user;
 }