. */ /* */ /*************************************************************************************/ namespace Thelia\Action; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Thelia\Core\Event\PdfEvent; use Thelia\Core\Event\TheliaEvents; /** * Class Pdf * @package Thelia\Action * @author Manuel Raynaud */ class Pdf extends BaseAction implements EventSubscriberInterface { public function generatePdf(PdfEvent $event) { require_once THELIA_ROOT . '/core/vendor/dompdf/dompdf/dompdf_config.inc.php'; $domPdf = new \DOMPDF(); $domPdf->load_html($event->getContent()); $event->setPdf($domPdf->output()); } /** * Returns an array of event names this subscriber wants to listen to. * * The array keys are event names and the value can be: * * * The method name to call (priority defaults to 0) * * An array composed of the method name to call and the priority * * An array of arrays composed of the method names to call and respective * priorities, or 0 if unset * * For instance: * * * array('eventName' => 'methodName') * * array('eventName' => array('methodName', $priority)) * * array('eventName' => array(array('methodName1', $priority), array('methodName2')) * * @return array The event names to listen to * * @api */ public static function getSubscribedEvents() { array( TheliaEvents::GENERATE_PDF => array("generatePdf", 128) ); } }