File tree Expand file tree Collapse file tree 5 files changed +43
-2
lines changed
Expand file tree Collapse file tree 5 files changed +43
-2
lines changed Original file line number Diff line number Diff line change 1818 "symfony/dependency-injection" : " ^5.4 || ^6.0 || ^7.0" ,
1919 "symfony/event-dispatcher" : " ^5.4 || ^6.0 || ^7.0" ,
2020 "symfony/http-kernel" : " ^5.4 || ^6.0 || ^7.0" ,
21- "gedmo/doctrine-extensions" : " ^3.19 .0"
21+ "gedmo/doctrine-extensions" : " ^3.20 .0"
2222 },
2323 "require-dev" : {
2424 "phpstan/phpstan" : " ^1.10" ,
Original file line number Diff line number Diff line change 1010
1111/**
1212 * @internal
13+ *
14+ * @deprecated to be removed in 2.0, use the IP address provider instead
1315 */
1416final class IpTraceListener implements EventSubscriberInterface
1517{
Original file line number Diff line number Diff line change 1212 <call method =" setAnnotationReader" >
1313 <argument type =" service" id =" .stof_doctrine_extensions.reader" on-invalid =" ignore" />
1414 </call >
15+ <call method =" setIpAddressProvider" >
16+ <argument type =" service" id =" stof_doctrine_extensions.tool.ip_address_provider" />
17+ </call >
1518 </service >
1619
1720 <service id =" stof_doctrine_extensions.event_listener.ip_trace" class =" Stof\DoctrineExtensionsBundle\EventListener\IpTraceListener" public =" false" >
21+ <deprecated package =" stof/doctrine-extensions-bundle" version =" 1.14" >The "%service_id%" service is deprecated and will be removed in 2.0. The "stof_doctrine_extensions.tool.ip_address_provider" service should be used to provide the IP address instead.</deprecated >
1822 <argument type =" service" id =" stof_doctrine_extensions.listener.ip_traceable" />
19- <tag name =" kernel.event_subscriber" />
2023 </service >
2124 </services >
2225</container >
Original file line number Diff line number Diff line change 99 <argument type =" service" id =" security.token_storage" on-invalid =" null" />
1010 <argument type =" service" id =" security.authorization_checker" on-invalid =" null" />
1111 </service >
12+
13+ <service id =" stof_doctrine_extensions.tool.ip_address_provider" class =" Stof\DoctrineExtensionsBundle\Tool\RequestStackIpAddressProvider" public =" false" >
14+ <argument type =" service" id =" request_stack" />
15+ </service >
1216 </services >
1317</container >
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Stof \DoctrineExtensionsBundle \Tool ;
4+
5+ use Gedmo \Tool \IpAddressProviderInterface ;
6+ use Symfony \Component \HttpFoundation \RequestStack ;
7+
8+ /**
9+ * Provides an IP address for the extensions using an IP address reference.
10+ *
11+ * @internal
12+ */
13+ final class RequestStackIpAddressProvider implements IpAddressProviderInterface
14+ {
15+ private RequestStack $ requestStack ;
16+
17+ public function __construct (RequestStack $ requestStack )
18+ {
19+ $ this ->requestStack = $ requestStack ;
20+ }
21+
22+ public function getAddress (): ?string
23+ {
24+ $ request = $ this ->requestStack ->getCurrentRequest ();
25+
26+ if (null === $ request ) {
27+ return null ;
28+ }
29+
30+ return $ request ->getClientIp ();
31+ }
32+ }
You can’t perform that action at this time.
0 commit comments