src/Controller/DefaultController.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Setting;
  4. use App\Entity\WebGroup;
  5. use App\Tools\WebGroupHelper;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. use Twig\Environment as Twig;
  12. class DefaultController extends AbstractController
  13. {
  14.     const LAYOUT_IMAGE_SLIDER 1;
  15.     const LAYOUT_MAIN_GROUPS 2;
  16.     const LAYOUT_SUB_GROUPS 3;
  17.     /**
  18.      * @Route("/", methods={"GET"}, name="app_home")
  19.      *
  20.      * @param Request $request
  21.      * @param WebGroupHelper $webGroupHelper
  22.      *
  23.      * @return Response
  24.      * @throws
  25.      */
  26.     public function index(Request $requestTwig $twigWebGroupHelper $webGroupHelper): Response
  27.     {
  28.         return $this->redirectToRoute('wi_cam_home');
  29.         $doctrine $this->getDoctrine();
  30.         $setting $doctrine->getRepository(Setting::class)->findOneByName('startpage-layout');
  31.         if (empty($setting)) {
  32.             throw new \RuntimeException('Setting with name "startpage-layout" was not found');
  33.         }
  34.         $startPageGroups = new ArrayCollection();
  35.         switch ($setting->getValue()) {
  36.             case self::LAYOUT_IMAGE_SLIDER:
  37.                 break;
  38.             case self::LAYOUT_MAIN_GROUPS:
  39.                 // @see: RequestListener
  40.                 break;
  41.             case self::LAYOUT_SUB_GROUPS:
  42.                 $globals $twig->getGlobals();
  43.                 $language $globals['language'];
  44.                 $fallbackLanguage $globals['fallbackLanguage'];
  45.                 $startPageGroups $doctrine->getRepository(WebGroup::class)->findByLevel(1);
  46.                 $webGroupHelper->translateGroups($startPageGroups$language$fallbackLanguage);
  47.                 break;
  48.         }
  49.         return $this->render('default/index.html.twig', [
  50.             'startPageSetting' => $setting,
  51.             'startPageGroups' => $startPageGroups
  52.         ]);
  53.     }
  54.     /**
  55.      * @Route("/privacy", methods={"GET"}, name="app_privacy")
  56.      *
  57.      * @param Request $request
  58.      *
  59.      * @return Response
  60.      */
  61.     public function privacy(Request $request): Response
  62.     {
  63.         return $this->render('default/privacy.html.twig');
  64.     }
  65.     /**
  66.      * @Route("/mail-test", methods={"GET"}, name="app_test", condition="'dev' == '%kernel.environment%'")
  67.      *
  68.      * @param Request $request
  69.      * @param \Swift_Mailer $mailer
  70.      *
  71.      * @return Response
  72.      */
  73.     public function mailTest(Request $request, \Swift_Mailer $mailer): Response
  74.     {
  75.         $email 'd.richardt@ottcomputer.de';
  76.         if ($request->get('address')) {
  77.             $email $request->get('address');
  78.         }
  79.         $message = (new \Swift_Message('Hello Email'))
  80.             ->setFrom($this->getParameter('mail_sender_address'))
  81.             ->setTo($email)
  82.             ->setBody(
  83.                 'hello world',
  84.                 'text/plain'
  85.             );
  86.         $return $mailer->send($message$errors);
  87.         ob_start();
  88.         ini_set('xdebug.var_display_max_depth''20');
  89.         ini_set('xdebug.var_display_max_children''256');
  90.         ini_set('xdebug.var_display_max_data''1024');
  91.         var_dump($return$errors$mailer);
  92.         $result ob_get_clean();
  93.         return new Response($result);
  94.     }
  95. }