aboutsummaryrefslogtreecommitdiff
path: root/lib/models/Course.php
diff options
context:
space:
mode:
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