diff --git a/app/controllers/admin/courses.php b/app/controllers/admin/courses.php index e822eab1477b54e46e6f7c9fe078d1225294226d..aa56bfbad73094b51532817470828b3c8e77cd49 100644 --- a/app/controllers/admin/courses.php +++ b/app/controllers/admin/courses.php @@ -393,14 +393,27 @@ class Admin_CoursesController extends AuthenticatedController $activated_fields = $this->getFilterConfig(); $GLOBALS['user']->cfg->store('MY_COURSES_ACTION_AREA', Request::option('action')); + $course_ids = []; foreach ($courses as $course) { if ($course->parent && !Request::option('course_id')) { - $data['data'][] = $this->getCourseData($course->parent, $activated_fields); - $data['data'][] = $this->getCourseData($course, $activated_fields); + if (!in_array($course->parent->id, $course_ids)) { + $data['data'][] = $this->getCourseData($course->parent, $activated_fields); + $course_ids[] = $course->parent->id; + } + if (!in_array($course->id, $course_ids)) { + $data['data'][] = $this->getCourseData($course, $activated_fields); + $course_ids[] = $course->id; + } } else { - $data['data'][] = $this->getCourseData($course, $activated_fields); + if (!in_array($course->id, $course_ids)) { + $data['data'][] = $this->getCourseData($course, $activated_fields); + $course_ids[] = $course->id; + } foreach ($course->children as $childcourse) { - $data['data'][] = $this->getCourseData($childcourse, $activated_fields); + if (!in_array($childcourse->id, $course_ids)) { + $data['data'][] = $this->getCourseData($childcourse, $activated_fields); + $course_ids[] = $childcourse->id; + } } } }