2 namespace Civi\Setup\Event
;
5 * Check if the local system meets the installation requirements.
7 * Event Name: 'civi.setup.checkRequirements'
9 class CheckRequirementsEvent
extends BaseSetupEvent
{
14 * @param string $severity
16 * Ex: 'info', 'warning', 'error'.
17 * @param string $section
18 * Symbolic machine name for this group of messages.
19 * Ex: 'database' or 'system'.
21 * Symbolic machine name for this particular message.
22 * Ex: 'mysqlThreadstack'
23 * @param string $message
24 * Displayable explanation.
25 * Ex: 'The MySQL thread stack is too small.'
28 public function addMessage($severity, $section, $name, $message) {
29 $this->messages
[$name] = array(
30 'section' => $section,
32 'message' => $message,
33 'severity' => $severity,
38 public function addInfo($section, $name, $message = '') {
39 return $this->addMessage('info', $section, $name, $message);
42 public function addError($section, $name, $message = '') {
43 return $this->addMessage('error', $section, $name, $message);
46 public function addWarning($section, $name, $message = '') {
47 return $this->addMessage('warning', $section, $name, $message);
51 * @param string|NULL $severity
52 * Filter by severity of the message.
53 * Ex: 'info', 'error', 'warning'.
55 * List of messages. Each has fields:
56 * - name: string, symbolic name.
57 * - message: string, displayable message.
58 * - severity: string, ex: 'info', 'warning', 'error'.
60 public function getMessages($severity = NULL) {
61 if ($severity === NULL) {
62 return $this->messages
;
65 return array_filter($this->messages
, function ($m) use ($severity) {
66 return $m['severity'] == $severity;
71 public function getInfos() {
72 return $this->getMessages('info');
75 public function getErrors() {
76 return $this->getMessages('error');
79 public function getWarnings() {
80 return $this->getMessages('warning');