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)); } }
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'); } } }