From 3919ab809eec39b69107b0eee92c48a667e6506a Mon Sep 17 00:00:00 2001 From: Moritz Strohm <strohm@data-quest.de> Date: Wed, 20 Nov 2024 11:48:14 +0000 Subject: [PATCH] changed output format of SeminarCycleDate::toString, CourseDate::getFullName and CourseExDate::getFullName and made the output of CourseDateList::toHtml a list with invisible list items, fixes #4889 Closes #4889 Merge request studip/studip!3662 --- lib/models/CourseDate.php | 2 +- lib/models/CourseExDate.php | 35 +++++++++++++++++++++------- lib/models/SeminarCycleDate.php | 2 +- templates/dates/course_date_list.php | 2 +- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/lib/models/CourseDate.php b/lib/models/CourseDate.php index f33332e2383..82dd692eed5 100644 --- a/lib/models/CourseDate.php +++ b/lib/models/CourseDate.php @@ -331,7 +331,7 @@ class CourseDate extends SimpleORMap implements PrivacyObject, Event $string = sprintf( '%1$s, %2$s - %3$s', $day_of_week, - date('d.m.Y H:i', $this->date), + date('d.m.y, H:i', $this->date), $formatted_end ); } diff --git a/lib/models/CourseExDate.php b/lib/models/CourseExDate.php index eb0f90a8e10..ec6e312d778 100644 --- a/lib/models/CourseExDate.php +++ b/lib/models/CourseExDate.php @@ -135,17 +135,36 @@ class CourseExDate extends SimpleORMap implements PrivacyObject, Event return ''; } - $latter_template = $format === 'verbose' - ? _('%R Uhr') - : '%R'; - if (($this->end_time - $this->date) / 60 / 60 > 23) { - return strftime('%a., %x' . ' (' . _('ganztägig') . ')' , $this->date) . " (" . _("fällt aus") . ")"; + $date_string = studip_interpolate( + $format === 'verbose' + ? _('%{weekday}, %{date}, %{start} - %{end} Uhr (ganztägig, fällt aus)') + : _('%{weekday}, %{date}, %{start} - %{end} (ganztägig, fällt aus)') + , + [ + 'weekday' => getWeekday(date('N', $this->date)), + 'date' => date('d.m.y', $this->date), + 'start' => date('H:i', $this->date), + 'end' => date('H:i', $this->end_time), + ] + ); + return $date_string; } - return strftime('%a., %x, %R', $this->date) . ' - ' - . strftime($latter_template, $this->end_time) - . ' (' . _('fällt aus') . ')'; + $date_string = studip_interpolate( + $format === 'verbose' + ? _('%{weekday}, %{date}, %{start} - %{end} Uhr (fällt aus)') + : _('%{weekday}, %{date}, %{start} - %{end} (fällt aus)') + , + [ + 'weekday' => getWeekday(date('N', $this->date)), + 'date' => date('d.m.y', $this->date), + 'start' => date('H:i', $this->date), + 'end' => date('H:i', $this->end_time), + ] + ); + + return $date_string; } /** diff --git a/lib/models/SeminarCycleDate.php b/lib/models/SeminarCycleDate.php index 9a922e99360..74b0c78ed99 100644 --- a/lib/models/SeminarCycleDate.php +++ b/lib/models/SeminarCycleDate.php @@ -253,7 +253,7 @@ class SeminarCycleDate extends SimpleORMap } $first_date = $this->getFirstDate(); if ($first_date) { - $parameters['start_date'] = date('d.m.Y', $first_date->date); + $parameters['start_date'] = date('d.m.y', $first_date->date); } if ($room && $first_date) { $text = _('%{weekday}, %{beginning} - %{end}, %{interval} (ab dem %{start_date} im Raum %{room_name})'); diff --git a/templates/dates/course_date_list.php b/templates/dates/course_date_list.php index 4fbc34f025d..8fdcd6903ca 100644 --- a/templates/dates/course_date_list.php +++ b/templates/dates/course_date_list.php @@ -10,7 +10,7 @@ */ ?> <? if (!$collection->isEmpty()) : ?> - <ul> + <ul class="list-unstyled"> <? foreach ($collection->getRegularDates() as $regular_date) : ?> <li><?= $regular_date->toString('long-start') ?></li> <? endforeach ?> -- GitLab