src/Controller/HomeController.php line 33

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Repository\AccountFormRepository;
  4. use App\Repository\UserRepository;
  5. use App\Repository\ItemsGalleryVitrineRepository;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\Form\Extension\Core\Type\DateType;
  10. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  11. use Symfony\Component\Form\Extension\Core\Type\TextType;
  12. use Symfony\Component\HttpFoundation\Request;
  13. use Symfony\Component\Asset\Package;
  14. use Symfony\Component\Asset\VersionStrategy\EmptyVersionStrategy;
  15. use Symfony\Bridge\Doctrine\RegistryInterface;
  16. use Doctrine\Persistence\ManagerRegistry;
  17. use Symfony\Component\HttpFoundation\JsonResponse;
  18. use App\Entity\SubscriptionPushService;
  19. use App\Repository\SubscriptionPushServiceRepository;
  20. use App\Service\PushNotificationService;
  21.  
  22.  class HomeController extends AbstractController
  23.  {
  24. /**
  25.   *
  26.   *@Route("/", name="home", methods={"GET","POST"})
  27.   *
  28.   */
  29.      function index(ManagerRegistry $registryRequest $request,UserRepository $userRepositorySubscriptionPushServiceRepository $subscriptionPushServiceRepository)
  30.      {
  31.         //$subscriptionPushService = $subscriptionPushServiceRepository->findAll();
  32.         $response = new Response($this->renderView("home.html.twig"));
  33.         return $response;
  34.      }    
  35.  /**
  36.   *
  37.   *@Route("/jobbers", name="jobbers", methods={"GET","POST"})
  38.   *
  39.   */
  40.      function jobbersList(ManagerRegistry $registryRequest $request,UserRepository $userRepositorySubscriptionPushServiceRepository $subscriptionPushServiceRepository)
  41.      {
  42.         //$subscriptionPushService = $subscriptionPushServiceRepository->findAll();
  43.         $response = new Response($this->renderView("jobbers.list.landing.html.twig"));
  44.         return $response;
  45.      }
  46.  /**
  47.   *
  48.   *@Route("/offers", name="offers", methods={"GET","POST"})
  49.   *
  50.   */
  51.   function offersList(ManagerRegistry $registryRequest $request,UserRepository $userRepositorySubscriptionPushServiceRepository $subscriptionPushServiceRepository)
  52.   {
  53.      //$subscriptionPushService = $subscriptionPushServiceRepository->findAll();
  54.      $response = new Response($this->renderView("offers.list.landing.html.twig"));
  55.      return $response;
  56.   }
  57.  
  58. /**
  59.  * @Route("lastests-users/{offset}", name="lastests.users")
  60. */     
  61.     function latestsUsers(UserRepository $userRepository$offset){
  62.         $offset *= 12
  63.         $users $userRepository->findLatestsUsers($offset);
  64.         return $this->render('latest.users.registered.html.twig', ['users'=>$users]);
  65.     }
  66. /**
  67.  *@Route("/latests-products", name="latests-products") 
  68. */    
  69. function latestsProductsItemsGalleryVitrineRepository $itemsGalleryVitrineRepository$offset=1)
  70. {
  71.     $offset *= 12
  72.     $products $itemsGalleryVitrineRepository->findLatestsProducts();
  73.     return $this->render('latests.products.registered.html.twig', ['products'=>$products]);
  74. }
  75. /**
  76.  * @Route("/cookie-granted", name="cookie.granted")
  77.  */
  78.      function cookie_granted()
  79.      {
  80.          $response = new JsonResponse(['cookie' => 'enabled']);
  81.          return $response;
  82.      }
  83. /**
  84.  * @Route("/subscription-push-service", name="subscription.push.service")
  85.  */
  86.     function SubscriptionPushServiceRequest $requestPushNotificationService $pushNotificationServiceSubscriptionPushServiceRepository $subscriptionPushServiceRepository)
  87.     {
  88.         $endpoint $request->request->get('notification-subscription'); 
  89.         $payload $request->request->get('payload'); 
  90.         $subscriptionPushService = new SubscriptionPushService();
  91.         $subscriptionPushService->setSubscription($endpoint);
  92.         $subscriptionPushService->setPayload($payload);
  93.         try{
  94.             $entityManager $this->getDoctrine()->getManager();
  95.             $entityManager->persist($subscriptionPushService);
  96.             $entityManager->flush();
  97.             $response = new JsonResponse(['subscription push notifications'=>'ok']);
  98.             $report $pushNotificationService->pushNotification($subscriptionPushServiceRepository);
  99.             dump($report);
  100.         } catch(Exception $e)
  101.         {
  102.             $response = new JsonResponse(['subscription push notifications'=>'KO''error'=>$e]);
  103.         }
  104.         
  105.         return $response;
  106.     }
  107.  }