Пример #1
0
 public function signupAction(Request $request)
 {
     $sesion = $this->getRequest()->getSession();
     $em = $this->getDoctrine()->getManager();
     $repositorio = $em->getRepository('meetmeBundle:User');
     if ($request->getMethod() == 'POST') {
         $sesion->clear();
         $username = $request->get('username');
         $password = sha1($request->get('password'));
         $email = $request->get('email');
         //$remember = $request->get('remember');
         $userVal = $repositorio->findOneBy(array('username' => $username, 'password' => $password));
         $emailVal = $repositorio->findOneBy(array('email' => $email));
         if (is_null($userVal) && is_null($emailVal)) {
             $user = new User();
             $user->setName($request->get('name'));
             $user->setLastName($request->get('lastname'));
             $username = $request->get('username');
             $email = strtolower($email);
             $selectedCountry = filter_input(INPUT_POST, 'namecbxcountry', FILTER_SANITIZE_NUMBER_INT);
             $selectedCountry2 = $em->getRepository('meetmeBundle:Country')->findOneById($selectedCountry);
             $password = $request->get('password');
             $passwordError = "";
             //                //Password validation
             //                if(strlen($password) < 7){
             //                $passwordError = "La clave debe tener al menos 7 caracteres";
             //
             //                 }
             //                if(strlen($password) > 14){
             //                $passwordError = "La clave no puede tener más de 14 caracteres";
             //
             //                }
             //                if (!preg_match('`[a-z]`',$password)){
             //                $passwordError = "La clave debe tener al menos una letra minúscula";
             //
             //                }
             //                if (!preg_match('`[A-Z]`',$password)){
             //                $passwordError = "La clave debe tener al menos una letra mayúscula";
             //
             //                }
             //                if (!preg_match('`[0-9]`',$password)){
             //                $passwordError = "La clave debe tener al menos un caracter numérico";
             //
             //                }
             //
             //sign up success
             $password = sha1($password);
             $user->setPassword($password);
             $user->setUsername($username);
             $user->setCountry($selectedCountry2);
             $user->setEmail($email);
             $user->setIsActive(1);
             $user->setType("N");
             $user->setRegisterDate(new \DateTime("now"));
             $em = $this->getDoctrine()->getManager();
             $em->persist($user);
             $em->flush();
             $login = new Login();
             $login->setUsername($username);
             $login->setPassword($password);
             $login->setName($user->getName());
             $login->setLastname($user->getLastname());
             $this->get('session')->set('loginId', $user->getId());
             $sesion->set('login', $login);
             return $this->redirectToRoute('meetme_login');
         } else {
             $username = $request->get('username');
             $email = $request->get('email');
             return $this->render('meetmeBundle:twig_html:responsesignupfail.html.twig', array('username' => $username, 'email' => $email));
             $repositorio = $em->getRepository('meetmeBundle:Country');
             $countries = $repositorio->findAll();
             return $this->render('meetmeBundle:twig_html:signup.html.twig', array('countries' => $countries));
         }
     } else {
         $repositorio = $em->getRepository('meetmeBundle:Country');
         $countries = $repositorio->findAll();
         return $this->render('meetmeBundle:twig_html:signup.html.twig', array('countries' => $countries));
     }
 }
Пример #2
0
 public function loginAction(Request $request)
 {
     $sesion = $this->getRequest()->getSession();
     $em = $this->getDoctrine()->getManager();
     $repository = $em->getRepository('meetmeBundle:User');
     $imgRepository = $em->getRepository('meetmeBundle:Image');
     if ($request->getMethod() == 'POST') {
         $sesion->clear();
         $username = $request->get('username');
         $password = sha1($request->get('password'));
         $status = 1;
         $user = new User();
         $user = $repository->findOneBy(array('username' => $username, 'password' => $password));
         if ($user) {
             if ($sesion->has('login')) {
                 $login = $sesion->get('login');
                 $name = $login->getName();
                 $lastname = $login->getLastName();
                 $this->get('session')->getFlashBag()->set('success', array('title' => 'Welcome. ', 'message' => 'Your log in has been successful. '));
                 $sesion->set('login', $login);
                 $img = $imgRepository->findOneBy(array('iduser' => $user->getId(), 'isActive' => 1));
                 $email = trim($user->getEmail());
                 $domain = strstr($email, '@');
                 $useremail = strstr($email, '@', true);
                 // Desde PHP 5.3.0
                 if (strnatcasecmp($domain, "@gmail.com") == 0) {
                     $emailcode = "g";
                 }
                 /*
                                          $maxItemPerPage = 5;
                                  $query = $em->createQueryBuilder()
                                  ->select('e')
                                 ->from('meetmeBundle\Entity\Event', 'e')
                                 ->innerJoin('e.iduser','u')
                                 ->where('u.id = ?1')
                                 ->setParameter(1 , $user->getId())
                                 ->orderBy('e.eventDate', 'DESC')
                                 ->getQuery()->getResult();
                 */
                 /*
                        $maxItemPerPage = 5;
                        
                 $query = $em->createQueryBuilder()
                                 ->select('e.id AS eid', 'e.type', 'e.title', 'e.description', 'e.eventDate', 'e.eventHour', 'e.place' )
                                 ->from('meetmeBundle\Entity\UserEvent', 'ue')
                                 ->innerJoin('ue.idevent','e')
                                  ->innerJoin('ue.iduser','u')
                                 ->where('u.id = ?1')
                                 ->setParameter(1 , $user->getId())
                                 ->orderBy('e.eventDate', 'DESC')
                                 ->getQuery()->getResult();
                 */
                 $maxItemPerPage = 5;
                 $query = $em->createQueryBuilder()->select('e.id as eid', 'e.title', 'e.description')->from('meetmeBundle\\Entity\\Event', 'e')->where('e.createdBy = ?1')->orderBy('e.creationDate', 'DESC')->setParameter(1, $user->getId())->getQuery()->getResult();
                 $paginator = $this->get('knp_paginator');
                 $pagination = $paginator->paginate($query, $this->get('request')->query->get('page', 1), $maxItemPerPage);
                 if ($img) {
                     return $this->render('meetmeBundle:twig_html:index.html.twig', array('username' => $username, 'name' => $user->getName(), 'lastname' => $user->getLastname(), 'nameImg' => $img->getPath(), 'useremail' => $useremail, 'emailcode' => $emailcode, 'pagination' => $pagination));
                 } else {
                     $nameImg = 'bundles/meetme/images/unisex.png';
                     return $this->render('meetmeBundle:twig_html:index.html.twig', array('username' => $username, 'name' => $user->getName(), 'lastname' => $user->getLastname(), 'nameImg' => $nameImg, 'useremail' => $useremail, 'emailcode' => $emailcode, 'pagination' => $pagination));
                 }
             } else {
                 //user doesn't have login
                 $login = new Login();
                 $login->setUsername($username);
                 $login->setPassword($password);
                 $login->setName($user->getName());
                 $this->get('session')->set('loginId', $user->getId());
                 $login->setLastname($user->getLastname());
                 $this->get('session')->getFlashBag()->set('success', array('title' => 'Welcome. ', 'message' => 'Your log in has been successful. '));
                 $sesion->set('login', $login);
                 $email = trim($user->getEmail());
                 $domain = strstr($email, '@');
                 $useremail = strstr($email, '@', true);
                 // Desde PHP 5.3.0
                 if (strnatcasecmp($domain, "@gmail.com") == 0) {
                     $emailcode = "g";
                 }
                 //$page_title = Util::getFormattedPageTitle("Events");
                 $maxItemPerPage = 5;
                 /*
                                  $query = $em->createQueryBuilder()
                                  ->select('e')
                                 ->from('meetmeBundle\Entity\Event', 'e')
                                 ->innerJoin('e.iduser','u')
                                 ->where('u.id = ?1')
                                 ->setParameter(1 , $user->getId())
                                 ->orderBy('e.eventDate', 'DESC')
                                 ->getQuery()->getResult();
                 */
                 /*
                                         $query = $em->createQueryBuilder()
                                ->select('e.id AS eid', 'e.type', 'e.title', 'e.description', 'e.eventDate', 'e.eventHour', 'e.place' )
                                 ->from('meetmeBundle\Entity\UserEvent', 'ue')
                                 ->innerJoin('ue.idevent','e')
                                  ->innerJoin('ue.iduser','u')
                                 ->where('u.id = ?1')
                                 ->setParameter(1 , $user->getId())
                                 ->orderBy('e.eventDate', 'DESC')
                                 ->getQuery()->getResult();
                 */
                 $maxItemPerPage = 5;
                 $query = $em->createQueryBuilder()->select('e.id as eid', 'e.title', 'e.description')->from('meetmeBundle\\Entity\\Event', 'e')->where('e.createdBy = ?1')->orderBy('e.creationDate', 'DESC')->setParameter(1, $user->getId())->getQuery()->getResult();
                 /*todos los eventos creados por todos los users
                     $query = $em->createQueryBuilder()
                     ->select('e')
                     ->from('meetmeBundle\Entity\Event', 'e')
                     ->orderBy('e.eventDate', 'DESC')
                     ->getQuery()->getResult();
                   */
                 $paginator = $this->get('knp_paginator');
                 $pagination = $paginator->paginate($query, $this->get('request')->query->get('page', 1), $maxItemPerPage);
                 // parameters to template
                 /*
                     return $this->render('CustomersBundle:Default:index.html.twig', array(
                         'page_title' => $page_title,
                         'pagination' => $pagination,
                         'image_path' => CustomersConstants::$customers_image_thumb_path
                     ));
                 */
                 $img = $imgRepository->findOneBy(array('iduser' => $user->getId(), 'isActive' => 1));
                 if ($img) {
                     return $this->render('meetmeBundle:twig_html:index.html.twig', array('username' => $username, 'name' => $user->getName(), 'lastname' => $user->getLastname(), 'nameImg' => $img->getPath(), 'useremail' => $useremail, 'emailcode' => $emailcode, 'pagination' => $pagination));
                 } else {
                     $nameImg = 'bundles/meetme/images/unisex.png';
                     return $this->render('meetmeBundle:twig_html:index.html.twig', array('username' => $username, 'name' => $user->getName(), 'lastname' => $user->getLastname(), 'nameImg' => $nameImg, 'useremail' => $useremail, 'emailcode' => $emailcode, 'pagination' => $pagination));
                 }
             }
         } else {
             return $this->render('meetmeBundle:twig_html:login.html.twig');
         }
     } else {
         if ($sesion->has('login')) {
             $login = $sesion->get('login');
             $username = $login->getUsername();
             $password = $login->getPassword();
             $user = $repository->findOneBy(array('username' => $username, 'password' => $password));
             $img = $imgRepository->findOneBy(array('iduser' => $user->getId(), 'isActive' => 1));
             if ($user) {
                 $this->get('session')->getFlashBag()->set('success', array('title' => 'Welcome. ', 'message' => 'Your log in has been successful. '));
                 $sesion->set('login', $login);
                 $email = trim($user->getEmail());
                 $domain = strstr($email, '@');
                 $useremail = strstr($email, '@', true);
                 // Desde PHP 5.3.0
                 if (strnatcasecmp($domain, "@gmail.com") == 0) {
                     $emailcode = "g";
                 }
                 $maxItemPerPage = 5;
                 /*
                 $query = $em->createQueryBuilder()
                 ->select('e')
                                 ->from('meetmeBundle\Entity\Event', 'e')
                                 ->innerJoin('e.iduser','u')
                                 ->where('u.id = ?1')
                                 ->setParameter(1 , $user->getId())
                                 ->orderBy('e.eventDate', 'DESC')
                                 ->getQuery()->getResult();
                 */
                 /*
                  $query = $em->createQueryBuilder()
                                 ->select('e.id AS eid', 'e.type', 'e.title', 'e.description', 'e.eventDate', 'e.eventHour', 'e.place' )
                                 ->from('meetmeBundle\Entity\UserEvent', 'ue')
                                 ->innerJoin('ue.idevent','e')
                                  ->innerJoin('ue.iduser','u')
                                 ->where('u.id = ?1')
                                 ->setParameter(1 , $user->getId())
                                 ->orderBy('e.eventDate', 'DESC')
                                 ->getQuery()->getResult();
                 */
                 $maxItemPerPage = 5;
                 $query = $em->createQueryBuilder()->select('e.id as eid', 'e.title', 'e.description')->from('meetmeBundle\\Entity\\Event', 'e')->where('e.createdBy = ?1')->orderBy('e.creationDate', 'DESC')->setParameter(1, $user->getId())->getQuery()->getResult();
                 $paginator = $this->get('knp_paginator');
                 $pagination = $paginator->paginate($query, $this->get('request')->query->get('page', 1), $maxItemPerPage);
                 if ($img) {
                     return $this->render('meetmeBundle:twig_html:index.html.twig', array('username' => $username, 'name' => $user->getName(), 'lastname' => $user->getLastname(), 'nameImg' => $img->getPath(), 'useremail' => $useremail, 'emailcode' => $emailcode, 'pagination' => $pagination));
                 } else {
                     $nameImg = 'bundles/meetme/images/unisex.png';
                     return $this->render('meetmeBundle:twig_html:index.html.twig', array('username' => $username, 'name' => $user->getName(), 'lastname' => $user->getLastname(), 'nameImg' => $nameImg, 'useremail' => $useremail, 'emailcode' => $emailcode, 'pagination' => $pagination));
                 }
             }
         } else {
             return $this->render('meetmeBundle:twig_html:login.html.twig');
         }
     }
 }