diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/helper/message_helper.php | 22 | ||||
-rw-r--r-- | includes/pages/admin_news.php | 9 | ||||
-rw-r--r-- | includes/view/Shifts_view.php | 70 |
3 files changed, 65 insertions, 36 deletions
diff --git a/includes/helper/message_helper.php b/includes/helper/message_helper.php index 4fa0efe3..3d2b663a 100644 --- a/includes/helper/message_helper.php +++ b/includes/helper/message_helper.php @@ -1,7 +1,7 @@ <?php /** - * Gibt zwischengespeicherte Fehlermeldungen zurück und löscht den Zwischenspeicher + * Returns messages from session and removes them from the stack * * @return string */ @@ -16,7 +16,7 @@ function msg() } /** - * Rendert eine Information + * Renders an information message * * @param string $msg * @param bool $immediately @@ -28,7 +28,19 @@ function info($msg, $immediately = false) } /** - * Rendert eine Fehlermeldung + * Renders a warning message + * + * @param string $msg + * @param bool $immediately + * @return string + */ +function warning($msg, $immediately = false) +{ + return alert('warning', $msg, $immediately); +} + +/** + * Renders an error message * * @param string $msg * @param bool $immediately @@ -40,7 +52,7 @@ function error($msg, $immediately = false) } /** - * Rendert eine Erfolgsmeldung + * Renders a success message * * @param string $msg * @param bool $immediately @@ -52,7 +64,7 @@ function success($msg, $immediately = false) } /** - * Renders an alert with given alert-* class. + * Renders an alert message with the given alert-* class. * * @param string $class * @param string $msg diff --git a/includes/pages/admin_news.php b/includes/pages/admin_news.php index eb3a250e..7f912773 100644 --- a/includes/pages/admin_news.php +++ b/includes/pages/admin_news.php @@ -29,6 +29,15 @@ function admin_news() switch ($request->input('action')) { case 'edit': $user_source = User($news['UID']); + if ( + !in_array('admin_news_html', $privileges) + && strip_tags($news['Text']) != $news['Text'] + ) { + $html .= warning( + _('This message contains HTML. After saving the post some formatting will be lost!'), + true + ); + } $html .= form( [ diff --git a/includes/view/Shifts_view.php b/includes/view/Shifts_view.php index 44c879d2..755fab74 100644 --- a/includes/view/Shifts_view.php +++ b/includes/view/Shifts_view.php @@ -122,39 +122,47 @@ function Shift_view($shift, $shifttype, $room, $angeltypes_source, ShiftSignupSt $needed_angels .= Shift_view_render_needed_angeltype($needed_angeltype, $angeltypes, $shift, $user_shift_admin); } + $content = [msg()]; + + if ($shift_signup_state->getState() == ShiftSignupState::COLLIDES) { + $content[] = info(_('This shift collides with one of your shifts.'), true); + } + + if ($shift_signup_state->getState() == ShiftSignupState::SIGNED_UP) { + $content[] = info(_('You are signed up for this shift.'), true); + } + + $buttons = []; + if ($shift_admin || $admin_shifttypes || $admin_rooms) { + $buttons = [ + $shift_admin ? button(shift_edit_link($shift), glyph('pencil') . _('edit')) : '', + $shift_admin ? button(shift_delete_link($shift), glyph('trash') . _('delete')) : '', + $admin_shifttypes ? button(shifttype_link($shifttype), $shifttype['name']) : '', + $admin_rooms ? button(room_link($room), glyph('map-marker') . $room['Name']) : '', + ]; + } + $buttons[] = button(user_link($user), '<span class="icon-icon_angel"></span> ' . _('My shifts')); + $content[] = buttons($buttons); + + $content[] = Shift_view_header($shift, $room); + $content[] = div('row', [ + div('col-sm-6', [ + '<h2>' . _('Needed angels') . '</h2>', + '<div class="list-group">' . $needed_angels . '</div>' + ]), + div('col-sm-6', [ + '<h2>' . _('Description') . '</h2>', + $parsedown->parse($shifttype['description']) + ]) + ]); + + if ($shift_admin) { + $content[] = Shift_editor_info_render($shift); + } + return page_with_title( $shift['name'] . ' <small class="moment-countdown" data-timestamp="' . $shift['start'] . '">%c</small>', - [ - msg(), - $shift_signup_state->getState() == ShiftSignupState::COLLIDES - ? info(_('This shift collides with one of your shifts.'), true) - : '', - $shift_signup_state->getState() == ShiftSignupState::SIGNED_UP - ? info(_('You are signed up for this shift.'), true) - : '', - buttons( - ($shift_admin || $admin_shifttypes || $admin_rooms) ? [ - $shift_admin ? button(shift_edit_link($shift), glyph('pencil') . _('edit')) : '', - $shift_admin ? button(shift_delete_link($shift), glyph('trash') . _('delete')) : '', - $admin_shifttypes ? button(shifttype_link($shifttype), $shifttype['name']) : '', - $admin_rooms ? button(room_link($room), glyph('map-marker') . $room['Name']) : '', - button(user_link($user), '<span class="icon-icon_angel"></span> ' . _('My shifts')) - ] : [ - button(user_link($user), '<span class="icon-icon_angel"></span> ' . _('My shifts')) - ]), - Shift_view_header($shift, $room), - div('row', [ - div('col-sm-6', [ - '<h2>' . _('Needed angels') . '</h2>', - '<div class="list-group">' . $needed_angels . '</div>' - ]), - div('col-sm-6', [ - '<h2>' . _('Description') . '</h2>', - $parsedown->parse($shifttype['description']) - ]) - ]), - $shift_admin ? Shift_editor_info_render($shift) : '' - ] + $content ); } |