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 18
18
"symfony/dependency-injection" : " ^5.4 || ^6.0 || ^7.0" ,
19
19
"symfony/event-dispatcher" : " ^5.4 || ^6.0 || ^7.0" ,
20
20
"symfony/http-kernel" : " ^5.4 || ^6.0 || ^7.0" ,
21
- "gedmo/doctrine-extensions" : " ^3.19 .0"
21
+ "gedmo/doctrine-extensions" : " ^3.20 .0"
22
22
},
23
23
"require-dev" : {
24
24
"phpstan/phpstan" : " ^1.10" ,
Original file line number Diff line number Diff line change 10
10
11
11
/**
12
12
* @internal
13
+ *
14
+ * @deprecated to be removed in 2.0, use the IP address provider instead
13
15
*/
14
16
final class IpTraceListener implements EventSubscriberInterface
15
17
{
Original file line number Diff line number Diff line change 12
12
<call method =" setAnnotationReader" >
13
13
<argument type =" service" id =" .stof_doctrine_extensions.reader" on-invalid =" ignore" />
14
14
</call >
15
+ <call method =" setIpAddressProvider" >
16
+ <argument type =" service" id =" stof_doctrine_extensions.tool.ip_address_provider" />
17
+ </call >
15
18
</service >
16
19
17
20
<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 >
18
22
<argument type =" service" id =" stof_doctrine_extensions.listener.ip_traceable" />
19
- <tag name =" kernel.event_subscriber" />
20
23
</service >
21
24
</services >
22
25
</container >
Original file line number Diff line number Diff line change 9
9
<argument type =" service" id =" security.token_storage" on-invalid =" null" />
10
10
<argument type =" service" id =" security.authorization_checker" on-invalid =" null" />
11
11
</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 >
12
16
</services >
13
17
</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