ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
Triggerer.php
Go to the documentation of this file.
1<?php
3
5
15{
16
20 protected $triggered_signals = array();
21
29 protected function appendTriggeredSignal(Component\Signal $signal, $event)
30 {
31 $clone = clone $this;
32 if (!is_array($clone->triggered_signals[$event])) {
33 $clone->triggered_signals[$event] = array();
34 }
35 $clone->triggered_signals[$event][] = new TriggeredSignal($signal, $event);
36 return $clone;
37 }
38
46 protected function addTriggeredSignal(Component\Signal $signal, $event)
47 {
48 $clone = clone $this;
49 $clone->triggered_signals[$event] = array();
50 $clone->triggered_signals[$event][] = new TriggeredSignal($signal, $event);
51 return $clone;
52 }
53
57 public function getTriggeredSignals()
58 {
59 return $this->flattenArray($this->triggered_signals);
60 }
61
65 public function withResetTriggeredSignals()
66 {
67 $clone = clone $this;
68 $clone->triggered_signals = array();
69 return $clone;
70 }
71
78 private function flattenArray(array $array)
79 {
80 $flatten = array();
81 array_walk_recursive($array, function ($a) use (&$flatten) {
82 $flatten[] = $a;
83 });
84 return $flatten;
85 }
86}
An exception for terminatinating execution or to throw for unit testing.
A component is the most general form of an entity in the UI.
Definition: Component.php:14
appendTriggeredSignal(Component\Signal $signal, $event)
Append a triggered signal to other signals of the same event.
Definition: Triggerer.php:29
addTriggeredSignal(Component\Signal $signal, $event)
Add a triggered signal, replacing any other signals registered on the same event.
Definition: Triggerer.php:46
flattenArray(array $array)
Flatten a multidimensional array to a single dimension.
Definition: Triggerer.php:78