PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.8.2
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.8.2
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / vendor / prefixed / symfony / http-kernel / DataCollector / EventDataCollector.php
matomo / app / vendor / prefixed / symfony / http-kernel / DataCollector Last commit date
AjaxDataCollector.php 2 years ago ConfigDataCollector.php 1 year ago DataCollector.php 2 years ago DataCollectorInterface.php 2 years ago DumpDataCollector.php 1 year ago EventDataCollector.php 2 years ago ExceptionDataCollector.php 2 years ago LateDataCollectorInterface.php 2 years ago LoggerDataCollector.php 1 year ago MemoryDataCollector.php 1 year ago RequestDataCollector.php 1 year ago RouterDataCollector.php 1 year ago TimeDataCollector.php 1 year ago
EventDataCollector.php
119 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace Matomo\Dependencies\Symfony\Component\HttpKernel\DataCollector;
12
13 use Matomo\Dependencies\Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher;
14 use Matomo\Dependencies\Symfony\Component\HttpFoundation\Request;
15 use Matomo\Dependencies\Symfony\Component\HttpFoundation\RequestStack;
16 use Matomo\Dependencies\Symfony\Component\HttpFoundation\Response;
17 use Matomo\Dependencies\Symfony\Component\VarDumper\Cloner\Data;
18 use Matomo\Dependencies\Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
19 use Matomo\Dependencies\Symfony\Contracts\Service\ResetInterface;
20 /**
21 * @author Fabien Potencier <fabien@symfony.com>
22 *
23 * @final
24 */
25 class EventDataCollector extends DataCollector implements LateDataCollectorInterface
26 {
27 protected $dispatcher;
28 private $requestStack;
29 private $currentRequest;
30 public function __construct(?EventDispatcherInterface $dispatcher = null, ?RequestStack $requestStack = null)
31 {
32 $this->dispatcher = $dispatcher;
33 $this->requestStack = $requestStack;
34 }
35 /**
36 * {@inheritdoc}
37 */
38 public function collect(Request $request, Response $response, ?\Throwable $exception = null)
39 {
40 $this->currentRequest = $this->requestStack && $this->requestStack->getMainRequest() !== $request ? $request : null;
41 $this->data = ['called_listeners' => [], 'not_called_listeners' => [], 'orphaned_events' => []];
42 }
43 public function reset()
44 {
45 $this->data = [];
46 if ($this->dispatcher instanceof ResetInterface) {
47 $this->dispatcher->reset();
48 }
49 }
50 public function lateCollect()
51 {
52 if ($this->dispatcher instanceof TraceableEventDispatcher) {
53 $this->setCalledListeners($this->dispatcher->getCalledListeners($this->currentRequest));
54 $this->setNotCalledListeners($this->dispatcher->getNotCalledListeners($this->currentRequest));
55 $this->setOrphanedEvents($this->dispatcher->getOrphanedEvents($this->currentRequest));
56 }
57 $this->data = $this->cloneVar($this->data);
58 }
59 /**
60 * @param array $listeners An array of called listeners
61 *
62 * @see TraceableEventDispatcher
63 */
64 public function setCalledListeners(array $listeners)
65 {
66 $this->data['called_listeners'] = $listeners;
67 }
68 /**
69 * @see TraceableEventDispatcher
70 *
71 * @return array|Data
72 */
73 public function getCalledListeners()
74 {
75 return $this->data['called_listeners'];
76 }
77 /**
78 * @see TraceableEventDispatcher
79 */
80 public function setNotCalledListeners(array $listeners)
81 {
82 $this->data['not_called_listeners'] = $listeners;
83 }
84 /**
85 * @see TraceableEventDispatcher
86 *
87 * @return array|Data
88 */
89 public function getNotCalledListeners()
90 {
91 return $this->data['not_called_listeners'];
92 }
93 /**
94 * @param array $events An array of orphaned events
95 *
96 * @see TraceableEventDispatcher
97 */
98 public function setOrphanedEvents(array $events)
99 {
100 $this->data['orphaned_events'] = $events;
101 }
102 /**
103 * @see TraceableEventDispatcher
104 *
105 * @return array|Data
106 */
107 public function getOrphanedEvents()
108 {
109 return $this->data['orphaned_events'];
110 }
111 /**
112 * {@inheritdoc}
113 */
114 public function getName() : string
115 {
116 return 'events';
117 }
118 }
119