diff options
Diffstat (limited to 'includes/view/UserHintsRenderer.php')
-rw-r--r-- | includes/view/UserHintsRenderer.php | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/includes/view/UserHintsRenderer.php b/includes/view/UserHintsRenderer.php new file mode 100644 index 00000000..54f9c149 --- /dev/null +++ b/includes/view/UserHintsRenderer.php @@ -0,0 +1,57 @@ +<?php + +namespace Engelsystem; + +class UserHintsRenderer { + + private $hints = []; + + private $important = false; + + /** + * Render the added hints to a popover for the toolbar. + */ + public function render() { + if (count($this->hints) > 0) { + $hint_class = $this->important ? 'danger' : 'info'; + $glyphicon = $this->important ? 'warning-sign' : 'info-sign'; + + return toolbar_popover($glyphicon . ' text-' . $hint_class, '', $this->hints, 'bg-' . $hint_class); + } + + return ''; + } + + /** + * Add a hint to the list, if its not null and a not empty string. + * + * @param string $hint + * The hint + * @param boolean $important + * Is the hint important? + */ + public function addHint($hint, $important = false) { + if ($hint != null && $hint != '') { + $this->hints[] = $hint; + if ($important) { + $this->important = true; + } + } + } + + /** + * Get all hints. + */ + public function getHints() { + return $this->hints; + } + + /** + * Are there important hints? This leads to a more intensive icon. + */ + public function isImportant() { + return $this->important; + } +} + +?>
\ No newline at end of file |