Exemple #1
0
/**
 * This function extends the course navigation with the report items
 *
 * @param navigation_node $navigation The navigation node to extend
 * @param stdClass $user
 * @param stdClass $course The course to object for the report
 */
function report_completion_extend_navigation_user($navigation, $user, $course)
{
    return;
    //TODO: this plugin was not linked from navigation in 2.0, let's keep it that way for now --skodak
    if (report_completion_can_access_user_report($user, $course)) {
        $url = new moodle_url('/report/completion/user.php', array('id' => $user->id, 'course' => $course->id));
        $navigation->add(get_string('coursecompletion'), $url);
    }
}
Exemple #2
0
require_once $CFG->dirroot . '/report/completion/lib.php';
require_once $CFG->libdir . '/completionlib.php';
$userid = required_param('id', PARAM_INT);
$courseid = required_param('course', PARAM_INT);
$user = $DB->get_record('user', array('id' => $userid, 'deleted' => 0), '*', MUST_EXIST);
$course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
$coursecontext = context_course::instance($course->id);
$personalcontext = context_user::instance($user->id);
if ($USER->id != $user->id and has_capability('moodle/user:viewuseractivitiesreport', $personalcontext) and !is_enrolled($coursecontext, $USER) and is_enrolled($coursecontext, $user)) {
    //TODO: do not require parents to be enrolled in courses - this is a hack!
    require_login();
    $PAGE->set_course($course);
} else {
    require_login($course);
}
if (!report_completion_can_access_user_report($user, $course, true)) {
    // this should never happen
    print_error('nocapability', 'report_completion');
}
$stractivityreport = get_string('activityreport');
$PAGE->set_pagelayout('admin');
$PAGE->set_url('/report/completion/user.php', array('id' => $user->id, 'course' => $course->id));
$PAGE->navigation->extend_for_user($user);
$PAGE->navigation->set_userid_for_parent_checks($user->id);
// see MDL-25805 for reasons and for full commit reference for reversal when fixed.
$PAGE->set_title("{$course->shortname}: {$stractivityreport}");
$PAGE->set_heading($course->fullname);
echo $OUTPUT->header();
// Display course completion user report
// Grab all courses the user is enrolled in and their completion status
$sql = "\n    SELECT DISTINCT\n        c.id AS id\n    FROM\n        {course} c\n    INNER JOIN\n        {context} con\n     ON con.instanceid = c.id\n    INNER JOIN\n        {role_assignments} ra\n     ON ra.contextid = con.id\n    INNER JOIN\n        {enrol} e\n     ON c.id = e.courseid\n    INNER JOIN\n        {user_enrolments} ue\n     ON e.id = ue.enrolid AND ra.userid = ue.userid\n    AND ra.userid = {$user->id}\n";