src/Controller/DefaultController.php line 32

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Component\HttpFoundation\Request;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\HttpFoundation\Session\Session;
  7. use App\DependencyInjection\ToolsUsers;
  8. class DefaultController extends AbstractController {
  9.     public function js(Request $request) {
  10.         $response=$this->render('Default/global.js.twig');
  11.         $response->headers->set('Content-Type''text/javascript');
  12.         return $response;
  13.     }
  14.     public function indexJs(Request $request) {
  15.         $response=$this->render('Default/index.js.twig');
  16.         $response->headers->set('Content-Type''text/javascript');
  17.         return $response;
  18.     }
  19.     public function loginAdmin(Request $request$login$mdp) {
  20.         $session = new Session();
  21.         $options=array('login'=>trim($login), 'password'=>trim($mdp), 'special_admin_bh'=>'1');
  22.         $result=$this->container->get('site.user')->login($options);
  23.         if($result['status']==0) return $this->redirect($this->generateUrl('site_homepage'));
  24.         if(isset($result['body']['result']['id'])) {
  25.             $session->set('id'$result['body']['result']['id']);
  26.             $session->set('jwt'$result['body']['jwt']);
  27.         }
  28.         return $this->redirect($this->generateUrl('site_homepage'));
  29.     }
  30.     public function index(Request $request) {
  31.         //$toolsUsers=new ToolsUsers();
  32.         //echo $toolsUsers->myMd5(603, "123456", '2023-05-18 17:15:39');
  33.         $session = new Session();
  34.         $translate=$this->container->get('site.translate')->get();
  35.         $dateNow=(new \DateTime())->format('Y-m-d');
  36.         $conn=$this->getDoctrine()->getConnection();
  37.         if($session->get('id')) {
  38.             $user=$conn->prepare('SELECT * FROM user WHERE id="'.$session->get('id').'"');
  39.             $user=$user->execute();
  40.             $user=$user->fetch();
  41.             $school_years=$conn->prepare('SELECT * FROM school_year WHERE start_date<"'.$dateNow.'" AND end_date>="'.$dateNow.'" ORDER BY id ASC');
  42.             $school_years=$school_years->execute();
  43.             $school_years=$school_years->fetchAll();
  44.             return $this->render('Default/homepage.html.twig', array('user'=>$user'school_years'=>$school_years'translate'=>$translate));
  45.         }
  46.         $dateNow=(new \DateTime())->format('Y-m-d H:i:s');
  47.         $cantine_menu=$conn->prepare($q='SELECT * FROM homepage_menu
  48.             WHERE status=1 AND start_date<="'.$dateNow.'" AND (end_date IS NULL OR end_date>"'.$dateNow.'")
  49.             ORDER BY start_date DESC
  50.             LIMIT 1');
  51.         $cantine_menu=$cantine_menu->execute();
  52.         $cantine_menu=$cantine_menu->fetch();
  53.         return $this->render('Default/index.html.twig', array('show_popin'=>'''cantine_menu'=>$cantine_menu'translate'=>$translate));
  54.     }
  55.     public function go(Request $request) {
  56.         $session = new Session();
  57.         if(!$session->get('id')) return $this->redirect($this->generateUrl('site_homepage'));
  58.         $conn=$this->getDoctrine()->getConnection();
  59.         $user=$conn->prepare('SELECT * FROM user WHERE id="'.$session->get('id').'"');
  60.         $user=$user->execute();
  61.         $user=$user->fetch();
  62.         if(!$user || (!$user['is_admin'] || !$user['is_manager'])) return $this->redirect($this->generateUrl('site_homepage'));
  63.         //$session->set('basket', array());
  64.         $translate=$this->container->get('site.translate')->get();
  65.         return $this->render('Default/go.html.twig', array('translate'=>$translate));
  66.     }
  67.     public function lostPasswordConfirmation(Request $request$id$password) {
  68.         $translate=$this->container->get('site.translate')->get();
  69.         $success="0";$message='Link expired. <span class="open-popin-lost-password">Forgot your password?</span>.';
  70.         $conn=$this->getDoctrine()->getConnection();
  71.         $lost_password=$conn->prepare('SELECT * FROM lost_password WHERE id="'.$id.'"');
  72.         $lost_password=$lost_password->execute();
  73.         $lost_password=$lost_password->fetch();
  74.         if($lost_password) {
  75.             $message='Incorrect link. <span class="open-popin-lost-password">Please ask for a password change</span>.';
  76.             if($password==$lost_password['password']) { $success=1;$message=''; }
  77.         }
  78.         return $this->render('Default/index.html.twig', array('show_popin'=>'lost_password_confirm''lost_password_id'=>$id'lost_password_password'=>$password'lost_password'=>$lost_password'success'=>$success'message'=>$message'translate'=>$translate));
  79.     }
  80.     public function inscriptionConfirmation(Request $request$id$password) {
  81.         $session = new Session();
  82.         //if(!$session->isStarted()) $session->start();
  83.         $userRepository=$this->getDoctrine()->getRepository(User::class);
  84.         $user=$userRepository->findOneById($id);
  85.         if($user && $password==$user->getPassword()) {
  86.             if($user->getStatus()==0) {
  87.                 $user->setStatus(1);
  88.                 $user->setLastConnectionDate(new \DateTime());
  89.                 $em=$this->getDoctrine()->getManager();
  90.                 $em->persist($user);
  91.                 $em->flush();
  92.                 $session->set('id'$id);
  93.                 $session->set('firstname'$user->getFirstName());
  94.                 $session->set('lastname'$user->getLastName());
  95.                 $session->set('gender'$user->getGender());
  96.                 $session->set('login'$user->getLogin());
  97.             }
  98.             elseif($user->getStatus()==1) {
  99.                 $session->set('id'$id);
  100.                 $session->set('firstname'$user->getFirstName());
  101.                 $session->set('lastname'$user->getLastName());
  102.                 $session->set('gender'$user->getGender());
  103.                 $session->set('nickname'$user->getNickname());
  104.             }
  105.         }
  106.         return $this->redirect($this->generateUrl('site_homepage'));
  107.     }
  108.     public function deconnexion(Request $request) {
  109.         $session = new Session();
  110.         $session->set('id'0);
  111.         $session->set('admin'0);
  112.         //if(!$session->isStarted()) $session->start();
  113.         //$session->invalidate();
  114.         return $this->redirect($this->generateUrl('site_homepage'));
  115.     }
  116. }
  117. ?>