src/Controller/Website/ElearningPlatform/HomepageController.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Website\ElearningPlatform;
  3. use App\Constants\AppConstant;
  4. use App\Entity\Product;
  5. use App\Entity\User;
  6. use App\Service\FuturesLearn\FuturesLearnUrlProvider;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. class HomepageController extends AbstractController
  11. {
  12.     /**
  13.      * @Route("/", methods={"GET"}, name="general_slash")
  14.      */
  15.     public function slash(): Response
  16.     {
  17.         /** @var User|null $user */
  18.         $user $this->getUser();
  19.         if(null === $user) {
  20.             return $this->redirectToRoute("general_homepage", [
  21.                 "_locale" => AppConstant::DEFAULT_LOCALE
  22.             ]);
  23.         }
  24.         $member $user->getMember();
  25.         if(null === $member) {
  26.             return $this->redirectToRoute("general_homepage", [
  27.                 "_locale" => AppConstant::DEFAULT_LOCALE
  28.             ]);
  29.         }
  30.         return $this->redirectToRoute("general_homepage", [
  31.             "_locale" => $member->getPreferredLanguage()
  32.         ]);
  33.     }
  34.     /**
  35.      * @Route("/{_locale}/", methods={"GET"}, name="general_homepage", requirements={"_locale"="ar|en|fr|es"})
  36.      */
  37.     public function homepage(
  38.         FuturesLearnUrlProvider $futuresLearnUrlProvider
  39.     ): Response
  40.     {
  41.         /** @var User|null $user */
  42.         $user $this->getUser();
  43.         if(null === $user) {
  44.             return $this->redirectToRoute("mybiz_redirect");
  45.         }
  46.         $member $user->getMember();
  47.         if(null === $member) {
  48.             return $this->redirectToRoute("mybiz_redirect");
  49.         }
  50.         if($member->hasLicenseActive()) {
  51.             return $this->redirectToRoute("mybiz_homepage_dashboard");
  52.         }
  53.         return $this->redirectToRoute("mybiz_become_ambasador");
  54.     }
  55. }