<?php
/**
* AppSubscriber
*
* @package App\EventListener
* @author phisch <info@i42.de>
* @version 1.0
*/
namespace App\EventSubscriber;
use DateTime;
use App\Entity\Gplace;
use App\Entity\GplaceImport;
use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityUpdatedEvent;
use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityPersistedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* AppSubscriber class
*/
class AppSubscriber implements EventSubscriberInterface
{
/**
* Container
*
* @var Object
*/
protected $container;
/**
* AppSubscriber constructor.
*
* @param ContainerInterface $container
*
* @return void Nothing
*/
public function __construct(ContainerInterface $container)
{
$this->container = $container;
}
public static function getSubscribedEvents()
{
return [
BeforeEntityUpdatedEvent::class => ['setUpdateDate'],
BeforeEntityPersistedEvent::class => ['setCreatedDate']
];
}
public function setUpdateDate(BeforeEntityUpdatedEvent $event)
{
$entity = $event->getEntityInstance();
if ($entity instanceof Gplace || $entity instanceof GplaceImport)
{
$entity->setUpdatedAt(new \DateTime('now'));
}
}
public function setCreatedDate(BeforeEntityPersistedEvent $event)
{
$entity = $event->getEntityInstance();
if ($entity instanceof Gplace || $entity instanceof GplaceImport)
{
$entity->setCreatedAt(new \DateTime('now'));
$entity->setUpdatedAt($entity->getCreatedAt());
}
}
}