diff options
| author | Ron Lucke <lucke@elan-ev.de> | 2021-11-09 08:53:45 +0000 |
|---|---|---|
| committer | Ron Lucke <lucke@elan-ev.de> | 2021-11-09 08:53:45 +0000 |
| commit | 183bc8155a7db20e17d1d9074d4907f4c417656f (patch) | |
| tree | 50ff3047e458a5cf87bffd032a1e985cb36f4a8f /app | |
| parent | eda62f6dd07726e0e1cdc783f9683d2b405f8fbb (diff) | |
Biest #278
Diffstat (limited to 'app')
| -rwxr-xr-x | app/controllers/contents/courseware.php | 34 | ||||
| -rw-r--r-- | app/views/contents/courseware/courses_overview.php | 27 |
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> |
