diff --git a/app/controllers/contents/courseware.php b/app/controllers/contents/courseware.php index 483f3c7ce1ce95641afc0a6a38c9c845229d776a..e509a6bd1ec53ce049fe923bcf5afee49d2a8c3d 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 97517fde53eee1633b7aed12c6965c4a0a7cad18..3311fc1815b828089208357002c8ab3587a746ca 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>