src/DcSiteBundle/Controller/UsedCarPdfController.php line 45

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller;
  3. use CoreBundle\Component\CoreFormFactory;
  4. use CoreBundle\Component\FormManager;
  5. use CoreBundle\Factory\Vehicle as VehicleFactory;
  6. use CoreBundle\Model\Api\OnlineService\ApiServer1C;
  7. use CoreBundle\Model\Vehicles\Repository;
  8. use CoreBundle\Services\MediaExtensionVidi;
  9. use Doctrine\ORM\EntityManagerInterface;
  10. use Monolog\Handler\StreamHandler;
  11. use Monolog\Logger;
  12. use Mpdf\Mpdf;
  13. use Mpdf\MpdfException;
  14. use PortalBundle\Model\SeoMetaTag;
  15. use Symfony\Component\Filesystem\Filesystem;
  16. use Symfony\Component\HttpFoundation\RequestStack;
  17. use Symfony\Component\HttpFoundation\Response;
  18. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  19. use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  20. use Symfony\Component\Routing\RouterInterface;
  21. use Twig\Environment;
  22. class UsedCarPdfController extends BaseDcController
  23. {
  24.     public function __construct(CoreFormFactory $coreFormFactorySeoMetaTag $seoMetaTagRequestStack $requestStackRouterInterface $routerFormManager $formManagerEntityManagerInterface $emApiServer1C $apiServer1CSessionInterface $sessionFilesystem $filesystemMediaExtensionVidi $mediaExtensionVidiRepository $vehicleRepositoryVehicleFactory $vehicleFactoryEnvironment $twig)
  25.     {
  26.         parent::__construct($coreFormFactory$seoMetaTag$requestStack$router$formManager$em$apiServer1C$session$filesystem$mediaExtensionVidi$vehicleRepository$vehicleFactory$twig);
  27.     }
  28.     public function init($carId)
  29.     {
  30.         $dealer $this->getDealer();
  31.         if (!$dealer) {
  32.             throw new NotFoundHttpException();
  33.         }
  34.         $car $this->vehicleFactory->createById($carId);
  35.         if (!$car) {
  36.             throw new NotFoundHttpException();
  37.         }
  38.         try {
  39.             $rootDir $this->getParameter('kernel.project_dir');
  40.             $mpdf = new Mpdf(['mode' => 'utf-8''format' => [260290], 'tempDir' => $this->getMpdfTempDir()]);
  41.             $mpdf->imageVars['carImage'] = file_get_contents($rootDir '/public' $this->mediaExtensionVidi->getPath($car->getPreview(), 'big'));
  42.             $logger = new Logger('mpdf');
  43.             $logger->pushHandler(new StreamHandler($rootDir '/var/logs/mpdf.log'Logger::DEBUG));
  44.             $mpdf->setLogger($logger);
  45.             $html $this->renderView('@DcSite/Modules/pdf/used-car.html.twig', [
  46.                 'car' => $car,
  47.                 'dealer' => $dealer,
  48.             ]);
  49.             $mpdf->WriteHTML($html);
  50.             $mpdf->Output();
  51.             return new Response();
  52.         } catch (MpdfException $exception) {
  53. //            var_dump($exception->getMessage());
  54.         }
  55.     }
  56. }