src/Controller/Base.php line 101

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Kernel;
  4. use Symfony\Bundle\FrameworkBundle\Console\Application;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\Console\Input\ArrayInput;
  7. use Symfony\Component\Console\Output\BufferedOutput;
  8. use Symfony\Component\HttpFoundation\RequestStack;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\VarDumper;
  12. use PHPMailer\PHPMailer\PHPMailer;
  13. use Doctrine\DBAL\ParameterType;
  14. class Base extends AbstractKasController
  15. {
  16.     public function __construct(RequestStack $requestStackDatabase $dbPageInfo $pageInfo)
  17.     {
  18.         parent::__construct($requestStack$db$pageInfo);
  19.         $this->request $requestStack->getCurrentRequest();
  20.     }
  21.     public function clearCacheDev(): Response
  22.     {
  23.         if ($this->request->query->get('key') !== 'Gz3mtvbLIQW55Tn0fRi1') {
  24.             throw $this->createAccessDeniedException();
  25.         }
  26.         $kernel = new Kernel('dev'true);
  27.         $application = new Application($kernel);
  28.         $application->setAutoExit(false);
  29.         $input = new ArrayInput([
  30.             'cache:clear'
  31.         ]);
  32.         $output = new BufferedOutput();
  33.         try {
  34.             $application->run($input$output);
  35.         } catch (\Exception $e) {
  36.             return new Response($e->getMessage());
  37.         }
  38.         $content $output->fetch();
  39.         return new Response($content);
  40.     }
  41.     /**
  42.      * @Route("/cache-clear")
  43.      * @Route("/cache-clear-prod")
  44.      * @return Response
  45.      */
  46.     public function clearCacheProd(): Response
  47.     {
  48.         if ($this->request->query->get('key') !== 'Gz3mtvbLIQW55Tn0fRi1') {
  49.             throw $this->createAccessDeniedException();
  50.         }
  51.         $kernel = new Kernel('prod'true);
  52.         $application = new Application($kernel);
  53.         $application->setAutoExit(false);
  54.         $input = new ArrayInput([
  55.             'cache:clear'
  56.         ]);
  57.         $output = new BufferedOutput();
  58.         try {
  59.             $application->run($input$output);
  60.         } catch (\Exception $e) {
  61.             return new Response($e->getMessage());
  62.         }
  63.         $content $output->fetch();
  64.         return new Response($content);
  65.     }
  66.     /**
  67.      * @Route("/403")
  68.      * @Route("/error403")
  69.      * @return Response
  70.      */
  71.     public function error403(): Response
  72.     {
  73.         return $this->render('/pages/403.html.twig', [
  74.             'pageinfo' => $this->pageInfo
  75.         ]);
  76.     }
  77.     /**
  78.      * @Route("/404")
  79.      * @Route("/error404")
  80.      * @return Response
  81.      */
  82.     public function error404(): Response
  83.     {
  84.         return $this->render('/pages/404.html.twig', [
  85.             'pageinfo' => $this->pageInfo
  86.         ]);
  87.     }
  88.     /**
  89.      * @Route("/500")
  90.      * @Route("/error500")
  91.      * @return Response
  92.      */
  93.     public function error500(): Response
  94.     {
  95.         return $this->render('/pages/500.html.twig', [
  96.             'pageinfo' => $this->pageInfo
  97.         ]);
  98.     }
  99.     /**
  100.      * @Route("/test-mail")
  101.      * @return Response
  102.      */
  103.     /*public function testMail(): Response
  104.     {
  105.        $mail = new PHPMailer(true);
  106.         $mail->setLanguage('cz');
  107.         $mail->isSMTP();
  108.         $mail->SMTPOptions = array(
  109.             'ssl' => array(
  110.                 'verify_peer' => false,
  111.                 'verify_peer_name' => false,
  112.                 'allow_self_signed' => false
  113.             )
  114.         );
  115.         //Enable SMTP debugging
  116.         // 0 = off (for production use)
  117.         // 1 = client messages
  118.         // 2 = client and server messages
  119.         $mail->SMTPDebug = 0;
  120.         $mail->Debugoutput = 'html';
  121.         $mail->Host = getenv('AP_EMAIL_HOST');
  122.         $mail->Port = 587;
  123.         $mail->SMTPAuth = true;
  124.         $mail->AuthType = 'LOGIN';
  125.         $mail->Username = getenv('AP_EMAIL_USR');
  126.         $mail->Password = getenv('AP_EMAIL_PWD');
  127.         $mail->setFrom(getenv('AP_EMAIL'), 'test');
  128.         $mail->CharSet = "utf-8";
  129.         $mail->Subject = 'Pozdrav z webmaxu';
  130.         $mail->addAddress('kalous.it@gmail.com');
  131.         $mail->msgHTML('<h2>Ahoj Tome</h2><p>toto je testovacĂ­ mail.</p><hr/><p>Odesláno z kas.webmax.cloud</p>');
  132.         //send the message, check for errors
  133.         if ($mail->send()) {
  134.              $html = 'ok';
  135.         } else {
  136.              $html = 'error';
  137.         }
  138.         return new Response('test mail - '.$html);
  139.     }*/
  140. }
  141. ?>