/**
  * Creates a user and returns it.
  *
  * @param string  $username
  * @param string  $password
  * @param string  $email
  * @param Boolean $active
  * @param Boolean $superadmin
  * @param string  $firstName
  * @param string  $lastName
  * @param integer  $phoneNumber
  *
  * @return \AppBundle\Entity\Users
  */
 public function create($username, $password, $email, $active, $superadmin, $firstName, $lastName, $phoneNumber)
 {
     $user = new Users();
     $user->setUsername($username);
     $user->setEmail($email);
     $user->setPlainPassword($password);
     $user->setEnabled((bool) $active);
     $user->setFirstName($firstName);
     $user->setLastName($lastName);
     $user->setPhoneNumber($phoneNumber);
     $user->setSuperAdmin((bool) $superadmin);
     $this->userManager->updateUser($user);
     return $user;
 }
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     $user = new Users();
     $user->setFirstName('John');
     $user->setLastName('Doe');
     $user->setPhoneNumber(32141234);
     $user->setEmail('*****@*****.**');
     $user->setUsername('admin');
     $user->setSalt(md5(time()));
     $website = new Websites();
     $website->setStatus('enabled');
     $website->setName('Vk');
     $website->setUrl('http://vk.com');
     // шифрует и устанавливает пароль для пользователя,
     // эти настройки совпадают с конфигурационными файлами
     $encoder = new MessageDigestPasswordEncoder('sha512', true, 10);
     $password = $encoder->encodePassword('admin', $user->getSalt());
     $user->setPassword($password);
     $manager->persist($user);
     $manager->persist($website);
     $manager->flush();
 }
 /**
  * @Route("/sign_up", name="sign_up")
  * @Method({"GET", "POST"})
  *
  * @param Request $request
  * @return Response
  */
 public function signUpAction(Request $request)
 {
     $generator = new ComputerPasswordGenerator();
     $generator->setUppercase()->setLowercase()->setNumbers()->setSymbols(false)->setLength(6);
     $password = $generator->generatePassword();
     $users = new Users();
     $login = $request->get('first-name');
     $email = $request->get('email');
     $users->setFirstName($login);
     $users->setSecondName($request->get('second-name'));
     $users->setPatronymic($request->get('patronymic'));
     $users->setEmail($email);
     $users->setUseReason($request->get('use-reason'));
     $users->setPassword($password);
     $em = $this->getDoctrine()->getManager();
     try {
         $em->persist($users);
         $em->flush();
     } catch (\Exception $error) {
     }
     $this->mailSend(['login' => $email, 'password' => $password]);
     return $this->render('default/thanks.html.twig', array('base_dir' => realpath($this->container->getParameter('kernel.root_dir') . '/..')));
 }