src/Controller/MainController.php line 49

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Service\InfopressService;
  4. use App\Service\VippsService;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  11. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. class MainController extends AbstractController
  14. {
  15.     private $doctrine;
  16.     private $infopress;
  17.     private function passwordIsStrongEnough($password) {
  18.         return true;
  19.     }
  20.     public function __construct(ManagerRegistry $doctrineSessionInterface $sessionInfopressService $infopress)
  21.     {
  22.         $saved_lang $session->get('LANGUAGE');
  23.         if ($saved_lang == ''$saved_lang 'bok';
  24.         require_once dirname(__FILE__) . '/../../assets/language/' $saved_lang '.php';
  25.         $this->infopress $infopress;
  26.         $this->doctrine $doctrine;
  27.     }
  28.     /**
  29.      * @Route("/changelang/{lang}", name="abo_changelang_page")
  30.      */
  31.     public function abo_changelang_page($langRequest $request): Response
  32.     {
  33.         $http_referer $request->server->get('HTTP_REFERER');
  34.         if ($http_referer === null) return $this->redirectToRoute('abo_details_page');
  35.         $request->getSession()->set('LANGUAGE',$lang);
  36.         return $this->redirect($http_referer);
  37.     }
  38.         /**
  39.      * @Route("/", name="abo_details_page")
  40.      */
  41.     public function abo_details_page(Request $request): Response
  42.     {
  43.         if ($request->getMethod() == 'POST') {
  44.             $p $_POST;
  45.             pre($p);
  46.         }
  47.         $abo_content false;
  48.         $abo_typer false;
  49.         if ($this->getUser()) {
  50.             $abo_content $this->infopress->pv3_abo_content($this->getUser()->getAboid());
  51.             $abo_typer $this->infopress->abo_typer();
  52.         }
  53.         return $this->render('main/abo_details.html.twig', [
  54.             'abo_content' => $abo_content,
  55.             'abo_typer' => $abo_typer,
  56.         ]);
  57.     }
  58.     /**
  59.      * @Route("/carddetails", name="abo_carddetails_page")
  60.      */
  61.     public function abo_carddetails_page(): Response
  62.     {
  63.         return $this->render('main/abo_carddetails.html.twig');
  64.     }
  65.     /**
  66.      * @Route("/new", name="abo_new_page")
  67.      */
  68.     public function abo_new_page(Request $request): Response
  69.     {
  70.         if ($request->getMethod() == 'POST') {
  71.             $p $_POST;
  72.             dd($p);
  73.         }
  74.         $subscriptions $this->infopress->abo_typer(false);
  75.         return $this->render('main/abo_new.html.twig', [
  76.             'subscriptions' => $subscriptions,
  77.         ]);
  78.     }
  79.     /**
  80.      * @Route("/updatepasswd", name="abo_updatepasswd_page")
  81.      */
  82.     public function abo_updatepasswd_page(Request $requestUserPasswordHasherInterface $hasher): Response
  83.     {
  84.         if ($request->getMethod() == 'POST') {
  85.             $p $_POST;
  86.             $me $this->getUser();
  87.             $me->setPassword($hasher->hashPassword($me,$p['Password1']));
  88.             $this->doctrine->getManager()->persist($me);
  89.             $this->doctrine->getManager()->flush();
  90.         }
  91.         return new JsonResponse(array('status' => 'success''message' => 'Passordet ble oppdatert!'));
  92.     }
  93.     /**
  94.      * @Route("/pay", name="abo_pay_page")
  95.      */
  96.     public function abo_pay_page(Request $request): Response
  97.     {
  98.         if ($request->getMethod() == 'POST') {
  99.             $p $_POST;
  100.             pre($p,1);
  101.             switch ($p['paymethod']) {
  102.                 case 'vipps':
  103.                     $vipps = new VippsService($request->server->get('HTTP_HOST'));
  104.                     break;
  105.             }
  106.         } else {
  107.             return $this->redirectToRoute('abo_details_page');
  108.         }
  109.     }
  110. }