diff -Naur /home/udit/Desktop/moodle/course/category.php ./course/category.php --- /home/udit/Desktop/moodle/course/category.php 2008-12-12 04:33:22.000000000 +0530 +++ ./course/category.php 2009-04-15 10:07:34.000000000 +0530 @@ -239,7 +239,7 @@ /// Print out all the courses $courses = get_courses_page($category->id, 'c.sortorder ASC', - 'c.id,c.sortorder,c.shortname,c.fullname,c.summary,c.visible,c.teacher,c.guest,c.password', + 'c.id,c.sortorder,c.shortname,c.fullname,c.summary,c.visible,c.teacher,c.guest,c.password,c.enrollable', $totalcount, $page*$perpage, $perpage); $numcourses = count($courses); @@ -316,9 +316,14 @@ $up = ($count > 1 || !$atfirstpage); $down = ($count < $numcourses || !$atlastpage); - $linkcss = $acourse->visible ? '' : ' class="dimmed" '; - echo ''; - echo ''. format_string($acourse->fullname) .''; + $user_enrolled = has_capability('moodle/course:view', $coursecontext) and !has_capability('moodle/legacy:guest', $coursecontext, NULL, false); + echo ''; + if (!$user_enrolled && !$acourse->enrollable && !$acourse->guest) { + echo ''. format_string($acourse->fullname) .''; + } else { + $linkcss = $acourse->visible ? '' : ' class="dimmed" '; + echo ''. format_string($acourse->fullname) .''; + } if ($editingon) { echo ''; if (has_capability('moodle/course:update', $coursecontext)) { diff -Naur /home/udit/Desktop/moodle/course/lib.php ./course/lib.php --- /home/udit/Desktop/moodle/course/lib.php 2009-01-15 04:36:51.000000000 +0530 +++ ./course/lib.php 2009-04-15 10:01:49.000000000 +0530 @@ -1953,24 +1953,25 @@ /// Category is 0 (for all courses) or an object global $CFG; - + + $course_fields = array('password','summary','currency','enrollable'); if (!is_object($category) && $category==0) { $categories = get_child_categories(0); // Parent = 0 ie top-level categories only if (is_array($categories) && count($categories) == 1) { $category = array_shift($categories); $courses = get_courses_wmanagers($category->id, 'c.sortorder ASC', - array('password','summary','currency')); + $course_fields); } else { $courses = get_courses_wmanagers('all', 'c.sortorder ASC', - array('password','summary','currency')); + $course_fields); } unset($categories); } else { $courses = get_courses_wmanagers($category->id, 'c.sortorder ASC', - array('password','summary','currency')); + $course_fields); } if ($courses) { @@ -2017,9 +2018,17 @@ echo '
'; echo '
'; - echo ''; + echo '
'; + + $user_enrolled = has_capability('moodle/course:view', $context) and !has_capability('moodle/legacy:guest', $context, NULL, false); + if (!$user_enrolled && !$course->enrollable && !$course->guest) { + echo highlight($highlightterms, format_string($course->fullname)); + } else { + echo ''. + highlight($highlightterms, format_string($course->fullname)).''; + } + echo '
'; /// first find all roles that are supposed to be displayed