aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorRon Lucke <lucke@elan-ev.de>2021-11-09 08:53:45 +0000
committerRon Lucke <lucke@elan-ev.de>2021-11-09 08:53:45 +0000
commit183bc8155a7db20e17d1d9074d4907f4c417656f (patch)
tree50ff3047e458a5cf87bffd032a1e985cb36f4a8f /app
parenteda62f6dd07726e0e1cdc783f9683d2b405f8fbb (diff)
Biest #278
Diffstat (limited to 'app')
-rwxr-xr-xapp/controllers/contents/courseware.php34
-rw-r--r--app/views/contents/courseware/courses_overview.php27
2 files changed, 37 insertions, 24 deletions
diff --git a/app/controllers/contents/courseware.php b/app/controllers/contents/courseware.php
index 483f3c7..e509a6b 100755
--- a/app/controllers/contents/courseware.php
+++ b/app/controllers/contents/courseware.php
@@ -200,18 +200,32 @@ class Contents_CoursewareController extends AuthenticatedController
$sem_courses = MyRealmModel::getPreparedCourses($sem_key, $params);
- $this->elements = [];
-
- foreach ((array) $sem_courses as $sem_course) {
- $course = reset($sem_course);
- $element = StructuralElement::findOneBySQL('range_id = ? AND range_type = ?', array($course['seminar_id'], 'course'));
- if($element) {
- $element['payload'] = json_decode($element['payload'], true);
- array_push($this->elements, $element);
+ $this->semesters = [];
+
+ if ($sem_courses) {
+ $i = 0;
+ foreach ($sem_courses as $sem) {
+ $this->semesters[$i]['semester_name'] = array_values($sem)[0]['start_semester'];
+ $this->semesters[$i]['coursewares'] = [];
+ $this->semesters[$i]['empty_courses'] = [];
+
+ foreach ($sem as $cid => $course) {
+ $element = StructuralElement::getCoursewareCourse($cid);
+ if($element) {
+ $element['payload'] = json_decode($element['payload'], true);
+ array_push($this->semesters[$i]['coursewares'], $element);
+ } else {
+ array_push($this->semesters[$i]['empty_courses'], $course);
+ }
+ }
+ $i++;
}
+ } else {
+ $semester = Semester::find($sem_key);
+ $this->semesters[0]['semester_name'] = $semester->name;
+ $this->semesters[0]['coursewares'] = [];
+ $this->semesters[0]['empty_courses'] = [];
}
-
- $this->empty_courses = empty($sem_courses);
}
diff --git a/app/views/contents/courseware/courses_overview.php b/app/views/contents/courseware/courses_overview.php
index 97517fd..3311fc1 100644
--- a/app/views/contents/courseware/courses_overview.php
+++ b/app/views/contents/courseware/courses_overview.php
@@ -1,8 +1,9 @@
-
<div class="cw-content-projects">
- <? if(!empty($elements)): ?>
+ <? foreach($semesters as $semester) :?>
+ <h2><?= $semester['semester_name'] ?></h2>
+ <? if (!empty($semester['coursewares'])): ?>
<ul class="cw-tiles">
- <? foreach($elements as $element) :?>
+ <? foreach($semester['coursewares'] as $element) :?>
<li class="tile <?= htmlReady($element['payload']['color'])?>">
<a href="<?= URLHelper::getLink('dispatch.php/course/courseware/?cid='.$element['range_id'].'#/structural_element/'.$element['id']) ?>">
<div class="preview-image" style="background-image: url(<?= htmlReady($element->getImageUrl()) ?>)" ></div>
@@ -21,14 +22,12 @@
</li>
<? endforeach; ?>
</ul>
- <? endif; ?>
- <? if (empty($elements) && !$empty_courses): ?>
- <?= MessageBox::info(_('Es wurden noch keine Lernunterlagen angelegt.')); ?>
- <? endif; ?>
- <? if ($empty_courses && !$all_semesters): ?>
- <?= MessageBox::info(_('Es wurden für das gewählte Semester keine Veranstaltungen gefunden.')); ?>
- <? endif; ?>
- <? if ($empty_courses && $all_semesters): ?>
- <?= MessageBox::info(_('Es wurden keine Veranstaltungen gefunden.')); ?>
- <? endif; ?>
-</div> \ No newline at end of file
+ <? endif; ?>
+ <? if (empty($semester['coursewares']) && !empty($empty_courses)): ?>
+ <?= MessageBox::info(_('Es wurden noch keine Lernunterlagen angelegt.')); ?>
+ <? endif; ?>
+ <? if (empty($semester['coursewares']) && empty($empty_courses)): ?>
+ <?= MessageBox::info(_('Es wurden keine Veranstaltungen gefunden.')); ?>
+ <? endif; ?>
+ <? endforeach; ?>
+</div>