diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 3d575e6f58..b37c81b434 100755 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -1276,20 +1276,20 @@ class CourseManager $sessionCondition = " session_course_user.session_id IN ('$sessionIdListTostring') "; } - $courseCondition = " course.code = '".$course_code."' AND "; + $courseCondition = " course.code = '".$course_code."' "; if (!empty($courseCodeList)) { $courseCodeListForSession = array_map(array('Database', 'escape_string'), $courseCodeList); $courseCodeListForSession = implode('","', $courseCodeListForSession); - $courseCondition = ' course.code IN ("' . $courseCodeListForSession . '") AND '; + $courseCondition = ' course.code IN ("' . $courseCodeListForSession . '") '; } $sql .= ' FROM ' . Database::get_main_table(TABLE_MAIN_USER) . ' as user '; $sql .= " LEFT JOIN ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . " as session_course_user ON user.user_id = session_course_user.user_id AND - $courseCondition $sessionCondition - INNER JOIN $course_table course ON session_course_user.c_id = course.id + INNER JOIN $course_table course ON session_course_user.c_id = course.id AND + $courseCondition INNER JOIN $sessionTable session ON session_course_user.session_id = session.id "; $where[] = ' session_course_user.c_id IS NOT NULL '; @@ -1330,10 +1330,10 @@ class CourseManager $sql .= ' LEFT JOIN ' . Database::get_main_table(TABLE_MAIN_COURSE_USER) . ' as course_rel_user ON user.user_id = course_rel_user.user_id AND course_rel_user.relation_type <> ' . COURSE_RELATION_TYPE_RRHH . ' '; + $sql .= " INNER JOIN $course_table course ON course_rel_user.c_id = course.id "; + if (!empty($course_code)) { $sql .= ' AND course_rel_user.c_id="' . $courseId . '"'; - } else { - $sql .= " INNER JOIN $course_table course ON course_rel_user.c_id = course.id "; } $where[] = ' course_rel_user.c_id IS NOT NULL '; @@ -4939,7 +4939,7 @@ class CourseManager } } if (!empty($accessUrlId) && $accessUrlId == intval($accessUrlId)) { - $sql = "SELECT count(id) FROM $tableCourse c, $tableCourseRelAccessUrl u + $sql = "SELECT count(c.id) FROM $tableCourse c, $tableCourseRelAccessUrl u WHERE c.id = u.c_id AND u.access_url_id = $accessUrlId AND diff --git a/main/inc/lib/document.lib.php b/main/inc/lib/document.lib.php index 32904c8e6e..7569360600 100755 --- a/main/inc/lib/document.lib.php +++ b/main/inc/lib/document.lib.php @@ -807,7 +807,7 @@ class DocumentManager // No invisible folders // Condition for the session $session_id = api_get_session_id(); - $condition_session = api_get_session_condition($session_id); + $condition_session = api_get_session_condition($session_id, true, false, 'docs.session_id'); //get visible folders $sql = "SELECT DISTINCT docs.id, path FROM @@ -817,7 +817,8 @@ class DocumentManager docs.filetype = 'folder' AND last.tool = '" . TOOL_DOCUMENT . "' AND last.to_group_id = " . $to_group_id . " AND - last.visibility = 1 $condition_session AND + last.visibility = 1 + $condition_session AND last.c_id = {$_course['real_id']} AND docs.c_id = {$_course['real_id']} "; $result = Database::query($sql); @@ -828,7 +829,7 @@ class DocumentManager // Condition for the session $session_id = api_get_session_id(); - $condition_session = api_get_session_condition($session_id); + $condition_session = api_get_session_condition($session_id, true, false, 'docs.session_id'); //get invisible folders $sql = "SELECT DISTINCT docs.id, path FROM $TABLE_ITEMPROPERTY AS last, $TABLE_DOCUMENT AS docs @@ -845,7 +846,7 @@ class DocumentManager while ($row = Database::fetch_array($result, 'ASSOC')) { //condition for the session $session_id = api_get_session_id(); - $condition_session = api_get_session_condition($session_id); + $condition_session = api_get_session_condition($session_id, true, false, 'docs.session_id'); //get visible folders in the invisible ones -> they are invisible too $sql = "SELECT DISTINCT docs.id, path FROM $TABLE_ITEMPROPERTY AS last, $TABLE_DOCUMENT AS docs