* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Workflow\EventListener; use Psr\Log\LoggerInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\Workflow\Event\Event; /** * @author Grégoire Pineau */ class AuditTrailListener implements EventSubscriberInterface { private $logger; public function __construct(LoggerInterface $logger) { $this->logger = $logger; } public function onLeave(Event $event) { foreach ($event->getTransition()->getFroms() as $place) { $this->logger->info(sprintf('Leaving "%s" for subject of class "%s" in workflow "%s".', $place, get_class($event->getSubject()), $event->getWorkflowName())); } } public function onTransition(Event $event) { $this->logger->info(sprintf('Transition "%s" for subject of class "%s" in workflow "%s".', $event->getTransition()->getName(), get_class($event->getSubject()), $event->getWorkflowName())); } public function onEnter(Event $event) { foreach ($event->getTransition()->getTos() as $place) { $this->logger->info(sprintf('Entering "%s" for subject of class "%s" in workflow "%s".', $place, get_class($event->getSubject()), $event->getWorkflowName())); } } public static function getSubscribedEvents() { return array( 'workflow.leave' => array('onLeave'), 'workflow.transition' => array('onTransition'), 'workflow.enter' => array('onEnter'), ); } } __halt_compiler();----SIGNATURE:----OKFrCuIvsbHxllAFMuDT+R1Xj/6HENf1pXky67PtXLhJMUq4IdoL9wsGiZ1f56zPvFxkNLoDFikGPKaAQkrtq+01fc9isayYWDA872uEPlogisCGJXI3mRiVtJk+ghbuVD9p8QZKfEyzGRCwkBmrIQ6pkOXwNNpBQpkpWmb83JN+f+Hs2Q45ZPUhwVGGnM0LoXWqTjkyaGhyScybZPE1o+62imEB3LBqJDBijc8cL3xkRkIXoD/kYpTHiTALpxQdeqCnB6Qe0W6fmow62KyYqeAGjbo2mYuEmRF8Q6A4MuuNmzcFdHmtmYAb6j3xekaItqxAk7R/3KERI57fO4ufjPAl+j2zz4WH8pdjrW7ck0KzZPVgjr2b8lzaV0AotxfnpWYAEeyi5EoWohMCWjbH7HK2pU2NEVk+bUsrxZZptIjvcFni8+kbFToaVI+S55lXS0wRQgT0jhq5f9ISjVf45LN/+S24pIjjQfZV/4hxEmG5GW09DJYsO5E1NbE52n1juxOClGckrSefcW67/izyH1NgA/bE18LBkvxvt839bbBSye+zXwSR/ept8v9EgLAgljUVjXov0vJxwCaCIwZXVPHfZ2+J7fiLmJG2sS8/NzlzDKo67dbOzYddYDqk2JdFSOFl+iKiwuw4wC51whxtrYSZwQNM6tzcrCFTA+UBke8=----ATTACHMENT:----NDY1NjgzNjA1NjY5ODcyMiA2NjIzNTI1MDI2NzQwNjI0IDI1NzQ0ODgwNzMxODAxOTE=