Ver Mensaje Individual
  #6 (permalink)  
Antiguo 06/02/2014, 16:49
aprendiz7
 
Fecha de Ingreso: julio-2011
Ubicación: Bogotá
Mensajes: 34
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Symfony 2.3 Conocer la IP en las retrollamadas

Hola a todos, me respondo, resulta que lo pude hacer por fin,

lo dejo documentado por si alguien llega a necesitarlo:

CAPTURAR LA IP Y EL USUARIO EN UNA RETROLLAMADA:
Código:
<?php

namespace ANM\PruebasBundle\EventListener;

use Symfony\Component\DependencyInjection\ContainerInterface;
use Doctrine\ORM\Event\LifecycleEventArgs;

class RegisterIPListener
{
    protected $container;
   
    public function __construct(ContainerInterface $container)
    {
      $this->container = $container;
    }
   
    public function prePersist(LifecycleEventArgs $args)
    {
        
        $entity = $args->getEntity();
        $entity->setIp($this->container->get('request')->getClientIp());                         
        $entity->setFechaHoraModificacion (new \DateTime);  
    $entity->setUsuarioModificacion($this->container->get('security.context')->getToken()->getUser() );              
        }
    }
    
}
Y ahora les dejo la configuración del servicio para este caso:

Código:
    mi.escucha:
        class: ANM\PruebasBundle\EventListener\RegisterIPListener
        tags:
                - { name: doctrine.event_listener, event: prePersist }
        arguments: ["@service_container"]
Hasta una nueva oportunidad