aboutsummaryrefslogtreecommitdiff
path: root/lib/models/Course.php
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+github@gmail.com>2024-10-25 09:37:51 +0200
committerJan-Hendrik Willms <tleilax+github@gmail.com>2024-10-25 09:37:51 +0200
commitc2a4da64dcbb8db4df4419ac7a3f683dd1cdcbe9 (patch)
treef24fe5d3cb19da2a665402d29159d7fb2354d412 /lib/models/Course.php
parent04aedd8af97a2125f6deac773166d45c2983f45d (diff)
fix Course::getDatesWithExDates() in the wake of the changes in #4758, re #4758
Diffstat (limited to 'lib/models/Course.php')
-rw-r--r--lib/models/Course.php26
1 files changed, 17 insertions, 9 deletions
diff --git a/lib/models/Course.php b/lib/models/Course.php
index d7ffff7..17c06ca 100644
--- a/lib/models/Course.php
+++ b/lib/models/Course.php
@@ -1906,17 +1906,25 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
*/
public function getDatesWithExdates($range_begin = 0, $range_end = 0)
{
- $dates = [];
- if (($range_begin > 0) && ($range_end > 0) && ($range_end > $range_begin)) {
- $ex_dates = $this->ex_dates->findBy('content', '', '<>')
- ->findBy('date', $range_begin, '>=')
- ->findBy('end_time', $range_end, '<=');
- $dates = $this->dates->findBy('date', $range_begin, '>=')
- ->findBy('end_time', $range_end, '<=');
- $dates->merge($ex_dates);
+ $dates = SimpleCollection::createFromArray([]);
+ if (
+ $range_begin > 0
+ && $range_end > 0
+ && $range_end > $range_begin
+ ) {
+ $dates->merge(
+ $this->dates->findBy('date', $range_begin, '>=')
+ ->findBy('end_time', $range_end, '<=')
+ );
+
+ $dates->merge(
+ $this->ex_dates->findBy('content', '', '<>')
+ ->findBy('date', $range_begin, '>=')
+ ->findBy('end_time', $range_end, '<=')
+ );
} else {
- $dates = $this->ex_dates->findBy('content', '', '<>');
$dates->merge($this->dates);
+ $dates->merge($this->ex_dates->findBy('content', '', '<>'));
}
$dates->uasort(function($a, $b) {
return $a->date - $b->date