예제 #1
0
 /**
  * @Route("/signup", name="signup")
  */
 public function signupAction(Request $request)
 {
     if ($request->getMethod() == 'POST') {
         $account = $request->request->get('company');
         $user = $request->request->get('user');
         if ($account['name'] == '') {
             return $this->_result(['code' => '-1', 'mess' => 'empty_fields']);
         }
         if ($account['company'] == '') {
             return $this->_result(['code' => '-1', 'mess' => 'empty_fields']);
         }
         if ($account['site'] == '') {
             return $this->_result(['code' => '-1', 'mess' => 'empty_fields']);
         }
         if ($account['country'] == '') {
             return $this->_result(['code' => '-1', 'mess' => 'empty_fields']);
         }
         if ($user['name'] == '') {
             return $this->_result(['code' => '-1', 'mess' => 'empty_fields']);
         }
         if ($user['email'] == '') {
             return $this->_result(['code' => '-1', 'mess' => 'empty_fields']);
         }
         if ($user['passwd'] == '') {
             return $this->_result(['code' => '-1', 'mess' => 'empty_fields']);
         }
         //check user email
         if (!filter_var($user['email'], FILTER_VALIDATE_EMAIL)) {
             return $this->_result(['code' => '-1', 'mess' => 'wrong_email']);
         }
         //parse website
         if (strpos($account['site'], "http://") === false && strpos($account['site'], "https://") === false) {
             $account['site'] = 'http://' . $account['site'];
         }
         //check if company exists
         $companyDB = $this->getDoctrine()->getRepository('AppBundle:Company')->findOneBy(['account_name' => $account['name']]);
         if ($companyDB) {
             return $this->_result(['code' => '-1', 'mess' => 'company_exists']);
         }
         $activateCode = rand(11111111, 99999999);
         //add company
         $companyDB = new Company();
         $companyDB->setAccountName($account['name'])->setCompanyName($account['company'])->setUrl($account['site'])->setCountry($account['country'])->setTimezone($account['timezone'])->setActive('N')->setBanned('N')->setRegisteredAt(time())->setUpdatedAt(time())->setActivateCode($activateCode);
         $em = $this->getDoctrine()->getManager();
         $em->persist($companyDB);
         $em->flush();
         $companyId = $companyDB->getId();
         //add user
         $usersDB = new Users();
         $usersDB->setCompanyId($companyId)->setEmail($user['email'])->setName($user['name'])->setPasswd(md5($user['passwd']))->setTimezone($account['timezone'])->setAdmin('Y');
         $em->persist($usersDB);
         $em->flush();
         //send mail
         $message = \Swift_Message::newInstance()->setSubject('inWorkFlow registration')->setFrom(['*****@*****.**' => 'inWorkFlow'])->setTo([$user['email'] => $user['name']])->setBody($this->renderView('emails/registration.html.twig', ['user' => $user, 'company' => $account, 'activateCode' => $activateCode]), 'text/html');
         $this->get('mailer')->send($message);
         return $this->_result(['code' => '1']);
     } else {
         return $this->redirect('/', 301);
     }
 }
예제 #2
0
 /**
  * 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;
 }
 public function getUserQuestions(Users $user, Quizset $quizset)
 {
     try {
         $result = $this->getEntityManager()->createQuery('SELECT us.hashQuestion, us.hashAns1, us.hashAns2, us.hashAns3, us.id, us.idQuestion,
                       q.content, q.ans1, q.ans2, q.ans3, q.type
                  FROM AppBundle:QuestionToUserSet us, AppBundle:Question q
                  WHERE us.idSet = :idset AND us.idUser = :user AND q.id = us.idQuestion ')->setParameter(':idset', $quizset->getId())->setParameter(':user', $user->getId())->execute();
         if (!$result) {
             return false;
         }
         return $result;
     } catch (NoResultException $e) {
         return false;
     }
 }
예제 #4
0
 /**
  * @Route("/index", name="view_homepage")
  */
 public function indexAction()
 {
     $quizz = new Quizz();
     $quizz->setTitle("title");
     $quizz->setDescription("description");
     $quizz->setgiftText("giftText");
     $quizz->setgiftImg("favicon.png");
     $quizz->setgiftImg("images/" . $quizz->getGiftImg());
     $user = new Users();
     $user->setNom("Nom");
     $user->setPrenom("Prenom");
     //Classement du user
     $classement = 108;
     //liste des 10 user et le user connecté
     $users = array($user, $user, $user, $user, $user, $user, $user, $user, $user, $user, $user);
     return $this->render('index.html.twig', array('quizz' => $quizz, 'users' => $users, 'classement' => $classement));
 }
예제 #5
0
 /**
  * {@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("/register", name="register")
  */
 public function registerAction(Request $request)
 {
     if ($this->isGranted('IS_AUTHENTICATED_FULLY')) {
         return $this->redirectToRoute('index');
     }
     $user = new Users();
     $user->setRoles(['ROLE_USER']);
     $form = $this->createFormBuilder($user)->add('username', TextType::class)->add('mail', EmailType::class, ['invalid_message' => 'Email jest nieprawidłowy'])->add('password', RepeatedType::class, ['type' => PasswordType::class, 'invalid_message' => 'Hasła muszą się zgadzać'])->add('add', SubmitType::class)->getForm();
     $form->handleRequest($request);
     //checks whether there is already such a user name, if not, user will be registered ..
     if ($form->isSubmitted() && $form->isValid()) {
         $users = $this->getDoctrine()->getRepository("AppBundle:Users")->findBy(['username' => $form->get('username')->getData()]);
         if (empty($users)) {
             $em = $this->getDoctrine()->getManager();
             $em->persist($user);
             $em->flush();
             $this->addFlash('form', "Zarejestrowano pomyślnie");
         } else {
             $this->addFlash('form', "Taki login już istnieje");
         }
     }
     $categories = $this->getDoctrine()->getRepository("AppBundle:Categories")->findAll();
     return $this->render('register.html.twig', ['form' => $form->createView(), 'categories' => $categories, 'title' => 'Rejestracja']);
 }
 function saveUser($token)
 {
     $repository = $this->em->getRepository('AppBundle:Users');
     $fbUser = $this->getFBUser($token);
     $user = $repository->findOneByIdFacebook($fbUser->getId());
     if (!is_object($user)) {
         $newUser = new Users();
         $newUser->setIdFacebook($fbUser->getId());
         $newUser->setBirthday($fbUser->getField('age_range')['min']);
         $newUser->setEmail($fbUser->getEmail());
         $newUser->setGender($fbUser->getGender());
         $newUser->setNom($fbUser->getLastName());
         $newUser->setPrenom($fbUser->getFirstName());
         $newUser->setToken($token);
         $this->em->persist($newUser);
         $this->em->flush();
     } else {
         $user->setToken($token);
         $this->em->persist($user);
         $this->em->flush();
     }
 }
예제 #8
0
 public function saveUser(Users $user, ObjectManager $manager)
 {
     $user->setSalt(md5(time()));
     // шифрует и устанавливает пароль для пользователя,
     // эти настройки совпадают с конфигурационными файлами
     $encoder = new MessageDigestPasswordEncoder('sha512', true, 10);
     $password = $encoder->encodePassword($user->getPassword(), $user->getSalt());
     $user->setPassword($password);
     $manager->persist($user);
     $manager->flush();
 }
예제 #9
0
 /**
  * @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') . '/..')));
 }
예제 #10
0
 /**
  * Método para cargar usuarios de prueba
  */
 private function loadUsers(ObjectManager $manager, $username, $email, $password, $roles)
 {
     $date = new \DateTime(date('Y-m-d H:i:s'));
     $user = new Users();
     $user->setSalt(md5(uniqid(null, true)));
     $encoder = $this->container->get('security.password_encoder');
     $pass = $encoder->encodePassword($password, $user->getSalt());
     $user->setUsername($username);
     $user->setEmail($email);
     $user->setPassword($pass);
     $user->setActive(1);
     $user->setRoles($roles);
     $user->setCreatedAt($date);
     $user->setModifiedAt($date);
     $user->setCreatedBy(1);
     $manager->persist($user);
     unset($user);
     $manager->flush();
 }
 public static function createUserSet(Users $user, Quizset $set)
 {
     $UserQuizSet = new UsersToQuizset();
     $UserQuizSet->setIdSet($set->getId());
     $UserQuizSet->setIdUser($user->getId());
     $UserQuizSet->setMasterHash(md5($user->getId() . $user->getEmail() . time()));
     return $UserQuizSet;
 }
예제 #12
0
 /**
  * @Route("{id}/editando-usuario/", name="adGt-gestEditUsers", options={"expose":true})
  * @ParamConverter("user", class="AppBundle:Users", options={"mapping":{"id":"id"}})
  * @Method({"POST"})
  */
 public function gestEditUserAction(\AppBundle\Entity\Users $user)
 {
     $newObj = array();
     if ($user) {
         $newObj['id'] = $user->getId();
         $newObj['username'] = $user->getUsername();
         $newObj['email'] = $user->getEmail();
     }
     $respuesta = new \Symfony\Component\HttpFoundation\JsonResponse();
     return $respuesta->setData($newObj);
 }
예제 #13
0
 /**
  * doIntroAction
  * @Route(
  *     path = "/do-intro",
  *     name = "app_user_doIntro"
  * )
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function doIntroAction(Request $request)
 {
     $username = $request->request->get('username');
     $password = $request->request->get('password');
     $email = $request->request->get('email');
     var_dump($username, $password, $email);
     $m = $this->getDoctrine()->getManager();
     $user = new Users();
     $user->setUsername($username)->setEmail($email)->setPassword($password);
     $m->persist($user);
     $m->flush();
     return $this->redirectToRoute('app_user_index');
 }
 /**
  * Creates a form to delete a Users entity.
  *
  * @param Users $user The Users entity
  *
  * @return \Symfony\Component\Form\Form The form
  */
 private function createDeleteForm(Users $user)
 {
     return $this->createFormBuilder()->setAction($this->generateUrl('users_delete', array('id' => $user->getId())))->setMethod('DELETE')->getForm();
 }
 public static function createUserQuestions(Users $User, $Questions, UsersToQuizset $UsersToQuizset)
 {
     $return = array();
     $masterHash = $UsersToQuizset->getMasterHash();
     $setId = $UsersToQuizset->getIdSet();
     $userId = $User->getId();
     foreach ($Questions as $Question) {
         $qUserSet = new QuestionToUserSet();
         $qUserSet->setIdSet($setId);
         $qUserSet->setIdQuestion($Question->getId());
         $qUserSet->setIdUser($userId);
         $qUserSet->setHashQuestion(md5($Question->getId() . $masterHash . $Question->getContent()));
         $qUserSet->setHashAns1(md5($Question->getId() . $masterHash . $Question->getAns1()));
         $qUserSet->setHashAns2(md5($Question->getId() . $masterHash . $Question->getAns2()));
         $qUserSet->setHashAns3(md5($Question->getId() . $masterHash . $Question->getAns3()));
         $return[] = $qUserSet;
     }
     return $return;
 }