diff options
| author | Thomas Hackl <hackl@data-quest.de> | 2024-06-18 12:18:17 +0000 |
|---|---|---|
| committer | Thomas Hackl <hackl@data-quest.de> | 2024-06-18 12:18:17 +0000 |
| commit | 26e02e32841671fa162cf11cb0fa925aa4452da5 (patch) | |
| tree | e6dc3f0264f966b6095d967828f7971595d27060 /lib/classes | |
| parent | ab3352dec1bc28b5b828b35afb5f2d974d6c3fb1 (diff) | |
Resolve "Neues Benachrichtungssystem für Stud.IP"
Closes #660
Merge request studip/studip!2557
Diffstat (limited to 'lib/classes')
| -rw-r--r-- | lib/classes/MessageBox.class.php | 9 | ||||
| -rw-r--r-- | lib/classes/PageLayout.php | 12 |
2 files changed, 19 insertions, 2 deletions
diff --git a/lib/classes/MessageBox.class.php b/lib/classes/MessageBox.class.php index c0d94b2..8936ebe 100644 --- a/lib/classes/MessageBox.class.php +++ b/lib/classes/MessageBox.class.php @@ -142,6 +142,15 @@ class MessageBox implements LayoutMessage } /** + * Return whether this messagebox can be closed or not. + * @return bool + */ + public function isCloseable(): bool + { + return $this->hide_close; + } + + /** * This method renders a MessageBox object to a string. * * @return string html output of the message box diff --git a/lib/classes/PageLayout.php b/lib/classes/PageLayout.php index d6b28ec..7f95b7a 100644 --- a/lib/classes/PageLayout.php +++ b/lib/classes/PageLayout.php @@ -599,10 +599,18 @@ class PageLayout if (!isset($_SESSION['messages'])) { $_SESSION['messages'] = []; } + + $structure = [ + 'type' => $message->class, + 'message' => $message->message, + 'details' => $message->details, + 'closeable' => $message->isCloseable() + ]; + if ($id === null ) { - $_SESSION['messages'][] = $message; + $_SESSION['messages'][] = $structure; } else { - $_SESSION['messages'][$id] = $message; + $_SESSION['messages'][$id] = $structure; } } |
