I have $USER->id and $course->id how do i test if the user is enrolled

I have $USER->id and $course->id how do i test if the user is enrolled

by dirty slit -
Number of replies: 3
so i have the user id and the course id

whats the code to test if the user is enrolled in the course?
Average of ratings: -
In reply to dirty slit

Re: I have $USER->id and $course->id how do i test if the user is enrolled

by Sam Hemelryk -
Hi,

The following will return true if the user is enrolled in the course given $courseid, and $userid.


$context = get_context_instance(CONTEXT_COURSE, $courseid);
is_enrolled($context, $userid);


Cheers
Sam
Average of ratings: Useful (2)
In reply to Sam Hemelryk

Re: I have $USER->id and $course->id how do i test if the user is enrolled

by dirty slit -
Hi Sam,

I am currently using moodle 1.9 and I get this error with your code

Fatal error: Call to undefined function is_enrolled()

The function is_enrolled() is not listed here either http://xref.moodle.org/nav.html?_functions


How are you able to use this function?
In reply to dirty slit

Re: I have $USER->id and $course->id how do i test if the user is enrolled

by Shane Elliott -
Picture of Core developers Picture of Plugin developers
Sam was referring to a moodle 2.0 function. In 1.9 the concept of "enrolled" is a bit different. You are really checking who can view the course so the following should suffice:

$context = get_context_instance(CONTEXT_COURSE, $courseid);
if (has_capability('moodle/course:view', $context, $userid)) {
/// user can view the course
}


HTH
Shane.