|
- <?php
-
- namespace Lc\SovBundle\Controller;
-
- use Symfony\Component\ErrorHandler\Exception\FlattenException;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\Mailer\MailerInterface;
- use Throwable;
- use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
- use Symfony\Component\Mime\Email;
-
- class ErrorController extends AbstractController
- {
-
- public function show(
- Request $request,
- FlattenException $exception,
- DebugLoggerInterface $logger = null,
- MailerInterface $mailer
- ) {
- //Si != de 404 on envoit un mail de debug
- if ($exception->getStatusCode() != 404) {
- $mailDebug = $this->getParameter('app.mail_debug');
- if ($mailDebug) {
- $message = "URL : " . $request->getUri() . "<br>";
- $message .= "Code : " . $exception->getStatusCode() . "<br>";
- $message .= "Message : " . $exception->getMessage() . "<br>";
- $message .= "File : " . $exception->getFile() . "<br>";
- $message .= "Line : " . $exception->getLine() . "<br><br>";
- $message .= "Trace : <br>" . str_replace("\n", "<br>", $exception->getTraceAsString());
- $siteName = $this->getParameter('app.site_name');
- $email = (new Email())
- ->from('nepasrepondre@laclic.fr')
- ->to($mailDebug)
- ->subject(
- '[' . $siteName . '] [ERREUR ' . $exception->getStatusCode() . '] ' . $exception->getMessage() . ''
- )
- ->text(strip_tags($message))
- ->html($message);
-
- $mailer->send($email);
- }
- }
-
- if ($exception->getStatusCode() == 404) {
- return $this->render('bundles/TwigBundle/Exception/error404.html.twig', [
- "code" => $exception->getStatusCode(),
- "message" => $exception->getMessage()
- ]);
- }
- if (str_contains($this->getRequestStack()->getCurrentRequest(), "/admin")) {
- return $this->render('@LcSov/exception/error.html.twig', [
- "code" => $exception->getStatusCode(),
- "message" => $exception->getMessage()
- ]);
- } else {
- return $this->render('bundles/TwigBundle/Exception/error.html.twig', [
- "code" => $exception->getStatusCode(),
- "message" => $exception->getMessage()
- ]);
- }
- }
- }
|