Example #1
0
 /**
  * @Route("/logowanie,{user},{code}")
  */
 public function emailAction(Request $request, $user, $code)
 {
     $config = new Config();
     $session = $request->getSession();
     $cookieLogin = new CookieLogin($em = $this->getDoctrine()->getManager());
     $cookieLogin->setCookieLogin($session);
     $quickForm = new QuickForm($this, $request);
     $email = new Email($this);
     $messageString = '';
     $messageClass = 'bad';
     $loginForm = new LoginForm();
     $form = $this->createForm(LoginFormType::class, $loginForm);
     $userLogin = $this->getDoctrine()->getRepository('AppBundle:User')->isUserLogin($user);
     if ($userLogin && $code == $userLogin->getKey()) {
         if (!$userLogin->getActive()) {
             $messageString .= 'Konto użytkownika nie jest aktywne.<br />';
         } else {
             $userPassword = $this->getDoctrine()->getRepository('AppBundle:User')->setUserPassword($userLogin->getId(), $password = $this->getDoctrine()->getRepository('AppBundle:User')->generatePassword(), $config->getRemoteAddress(), $config->getDateTimeNow());
             if ($userPassword) {
                 $messageString .= 'Hasło konta użytkownika zostało zmienione.<br />';
                 $messageClass = 'ok';
                 if ($this->sendNewPasswordEmail($config, $email, $userLogin, $password)) {
                     $messageString .= 'Sprawdź pocztę w celu zapoznania z hasłem.<br />';
                 } else {
                     $messageString .= "Wysłanie e-mail'a z hasłem nie powiodło się.<br />";
                     $messageClass = 'bad';
                 }
                 unset($loginForm);
                 unset($form);
                 $loginForm = new LoginForm();
                 $form = $this->createForm(LoginFormType::class, $loginForm);
             } else {
                 $messageString .= 'Zmiana hasła konta użytkownika nie powiodła się.<br />';
             }
         }
     } else {
         $messageString .= 'Podany kod zmiany hasła jest niepoprawny.<br />';
     }
     $menu = new Menu($em, 1, 0);
     return $this->render('login/login.html.twig', array('session' => $session->get('user'), 'quickForm' => $quickForm->createView(), 'form' => $form->createView(), 'messageString' => $messageString, 'messageClass' => $messageClass, 'activeCategory' => 1, 'activeProvince' => 0, 'activeCity' => 0, 'categories' => $menu->getCategories(), 'places' => $menu->getPlaces(), 'isProvince' => $menu->isProvince()));
 }
 /**
  * @Route("/rejestracja")
  */
 public function registerAction(Request $request)
 {
     $config = new Config();
     $session = $request->getSession();
     $cookieLogin = new CookieLogin($em = $this->getDoctrine()->getManager());
     $cookieLogin->setCookieLogin($session);
     $quickForm = new QuickForm($this, $request);
     $email = new Email($this);
     $messageString = '';
     $messageClass = 'bad';
     $registerForm = new RegisterForm();
     $form = $this->createForm(RegisterFormType::class, $registerForm);
     $form->handleRequest($request);
     if ($form->isSubmitted()) {
         $validator = $this->get('validator');
         $errors = $validator->validate($registerForm);
         if (count($errors) > 0) {
             foreach ($errors as $error) {
                 $messageString .= $error->getMessage() . '<br />';
             }
         } else {
             if ($this->getDoctrine()->getRepository('AppBundle:User')->isUserLogin($registerForm->getLogin())) {
                 $messageString .= 'Konto o podanym loginie już istnieje.<br />';
             } else {
                 $user = new User();
                 $user->setProvince(NULL);
                 $user->setCity(NULL);
                 $user->setActive(0);
                 $user->setName($registerForm->getName());
                 $user->setSurname($registerForm->getSurname());
                 $user->setLogin($registerForm->getLogin());
                 $user->setPassword(md5($registerForm->getPassword()));
                 $user->setKey(md5(date('Y-m-d H:i:s') . $registerForm->getPassword()));
                 $user->setEmail($registerForm->getEmail());
                 $user->setUrl('');
                 $user->setPhone('');
                 $user->setStreet('');
                 $user->setPostcode('');
                 $user->setDescription('');
                 $user->setCommentNumber(0);
                 $user->setCommentPositive7Days(0);
                 $user->setCommentNeutral7Days(0);
                 $user->setCommentNegative7Days(0);
                 $user->setCommentPositive30Days(0);
                 $user->setCommentNeutral30Days(0);
                 $user->setCommentNegative30Days(0);
                 $user->setCommentPositiveAllDays(0);
                 $user->setCommentNeutralAllDays(0);
                 $user->setCommentNegativeAllDays(0);
                 $user->setCommentDate($dateTime = new \DateTime('now'));
                 $user->setIpAdded($config->getRemoteAddress());
                 $user->setDateAdded($dateTime);
                 $user->setIpUpdated('');
                 $user->setDateUpdated(new \DateTime('1970-01-01 00:00:00'));
                 $user->setIpLoged('');
                 $user->setDateLoged(new \DateTime('1970-01-01 00:00:00'));
                 $em = $this->getDoctrine()->getManager();
                 $em->persist($user);
                 $em->flush();
                 $messageString .= 'Konto użytkownika zostało utworzone.<br />';
                 $messageClass = 'ok';
                 if ($this->sendActivationEmail($config, $email, $registerForm, $user)) {
                     $messageString .= 'Sprawdź pocztę w celu aktywacji konta.<br />';
                 } else {
                     $messageString .= "Wysłanie e-mail'a aktywacyjnego nie powiodło się.<br />";
                     $messageClass = 'bad';
                 }
                 unset($registerForm);
                 unset($form);
                 $registerForm = new RegisterForm();
                 $form = $this->createForm(RegisterFormType::class, $registerForm);
             }
         }
     }
     $menu = new Menu($em, 1, 0);
     return $this->render('register/register.html.twig', array('session' => $session->get('user'), 'quickForm' => $quickForm->createView(), 'form' => $form->createView(), 'messageString' => $messageString, 'messageClass' => $messageClass, 'activeCategory' => 1, 'activeProvince' => 0, 'activeCity' => 0, 'categories' => $menu->getCategories(), 'places' => $menu->getPlaces(), 'isProvince' => $menu->isProvince()));
 }