From 0cd6cfe768648f231fd55e6d27644409d1c1a31e Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Mon, 17 Sep 2012 11:31:49 +0200 Subject: [PATCH] Fixing double course in agenda see BT#4978 --- main/calendar/agenda.lib.php | 8 +++----- main/inc/lib/course.lib.php | 7 ++++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/main/calendar/agenda.lib.php b/main/calendar/agenda.lib.php index bdecbb7880..751460ee42 100644 --- a/main/calendar/agenda.lib.php +++ b/main/calendar/agenda.lib.php @@ -264,8 +264,6 @@ class Agenda { * Get agenda events * @param int start tms * @param int end tms - * @param string agenda type (personal, admin or course) - * @param int user id * @param int course id *integer* not the course code * */ @@ -280,7 +278,7 @@ class Agenda { $this->get_course_events($start, $end, $course_info, $group_id); break; case 'personal': - default: + default: //Getting personal events $this->get_personal_events($start, $end); @@ -294,9 +292,9 @@ class Agenda { $my_course_list = CourseManager::get_courses_list_by_user_id(api_get_user_id(), true); } if (!empty($my_course_list)) { - foreach($my_course_list as $course_info_item) { + foreach ($my_course_list as $course_info_item) { if (isset($course_id) && !empty($course_id)) { - if ($course_info_item['course_id'] == $course_id) { + if ($course_info_item['real_id'] == $course_id) { $this->get_course_events($start, $end, $course_info_item); } } else { diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 7ac0f5e489..b9316f4653 100644 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -2157,14 +2157,15 @@ class CourseManager { if (Database::num_rows($result)) { while ($row = Database::fetch_array($result, 'ASSOC')) { $course_list[] = $row; - $codes[] = $row['code']; + $codes[] = $row['real_id']; } } if ($include_sessions === true) { - $r = Database::query("SELECT DISTINCT(c.code), c.id as real_id + $sql = "SELECT DISTINCT(c.code), c.id as real_id FROM ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER)." s, ".Database::get_main_table(TABLE_MAIN_COURSE)." c - WHERE id_user = $user_id AND s.course_code=c.code"); + WHERE id_user = $user_id AND s.course_code=c.code"; + $r = Database::query($sql); while ($row = Database::fetch_array($r, 'ASSOC')) { if (!in_array($row['real_id'], $codes)) { $course_list[] = $row;