src/EventSubscriber/EasyAdminSubscriber.php line 31
<?php# src/EventSubscriber/EasyAdminSubscriber.phpnamespace App\EventSubscriber;use App\Entity\Edition;use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityPersistedEvent;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use EasyCorp\Bundle\EasyAdminBundle\Event\AfterCrudActionEvent;use Symfony\Component\Filesystem\Exception\IOExceptionInterface;use Symfony\Component\Filesystem\Filesystem;use Symfony\Component\Filesystem\Path;use EasyCorp\Bundle\EasyAdminBundle\Event\AfterEntityUpdatedEvent;class EasyAdminSubscriber implements EventSubscriberInterface{private $flipDir;public function __construct($flipDir){$this->flipDir = $flipDir;}public static function getSubscribedEvents(){return [// AfterCrudActionEvent::class => ['unpackZip'],AfterEntityUpdatedEvent::class => ['unpackZip'],];}public function unpackZip(AfterEntityUpdatedEvent $event){$entity = $event->getEntityInstance();if (!($entity instanceof Edition)) {return;}$filesystem = new Filesystem();$editionFlipFolder = $this->flipDir.'/'.$entity->getId();$zip = new \ZipArchive();if ($zip->open($this->flipDir.'/'.$entity->getFlipIframe()) === TRUE) {$filesystem->mkdir($editionFlipFolder, 0700);$zip->extractTo($editionFlipFolder);$zip->close();echo 'ok';} else {echo 'failed';}}}