示例#1
0
function _unenrollUserFromCourse($user, $course)
{
    $retVal = true;
    echo "<br> {$username} is now going to be unenrolled from {$course->fullname}.";
    if (unenrollQSUser($user, $course)) {
        echo "<br> unenrollQSUser for {$user->username} and {$course->fullname} was successful.";
        if (enrollUserInCourse($user->username, $user->username, $course->fullname, false)) {
            echo "<br> enrollUserInCourse for {$user->username} and {$course->fullname} and false was successful.";
            if (!($context = get_context_instance(CONTEXT_COURSE, $course->id))) {
                echo "<br> Course context for {$course->fullname} is invalid";
                admin_moodlefailed_email($user, 'unenrollUser', $course);
                $retVal = false;
            }
            echo "<br> Course context id is {$context->id}";
            if (!role_unassign(0, $user->id, 0, $context->id)) {
                echo "An error occurred in role_unassign while trying to unenroll {$username} from vLab via auto-delete.";
                admin_moodlefailed_email($user, 'unenrollUser', $course);
                $retVal = false;
            }
            echo "<br> role_unassign for user id of {$user->id} and context id of {$context->id} was successful.";
            send_unenrollment_notification($course, $user);
            add_to_log($course->id, 'course', 'unenrol', "auto-delete", $course->id);
        } else {
            enrollQSUser($user, $course);
            echo "An error occurred in enrollUserInCourse while trying to unenrll {$username} from vLab via auto-delete.";
            admin_moodlefailed_email($user, 'unenrollUser', $course);
            $retVal = false;
        }
    } else {
        echo "An error occurred in unenrollQSUser while trying to unenroll {$username} from vLab via auto-delete.";
        admin_moodlefailed_email($user, 'unenrollUser', $course);
        $retVal = false;
    }
    return $retVal;
}
                enrollQSUser($tmpuser, $course);
                admin_webservicefailed_email($tmpuser, 'unenrollUser', $course);
            }
        } else {
            error("An error occurred while trying to unenroll that person.");
        }
        redirect($CFG->wwwroot . '/user/index.php?id=' . $course->id);
    } else {
        /// Added: Check value submitted and call calendar ws to unenrol user
        if (unenrollQSUser($USER, $course)) {
            if (enrollUserInCourse($USER->username, $USER->username, $course->fullname, false)) {
                if (!role_unassign(0, $USER->id, 0, $context->id)) {
                    admin_moodlefailed_email($USER, 'unenrollUser', $course);
                    error("An error occurred while trying to unenroll you.");
                }
                send_unenrollment_notification($course, $USER);
                // Added: 05/08/2012
                // force a refresh of mycourses
                unset($USER->mycourses);
                add_to_log($course->id, 'course', 'unenrol', "view.php?id={$course->id}", $course->id);
            } else {
                enrollQSUser($USER, $course);
                admin_webservicefailed_email($USER, 'unenrollUser', $course);
            }
        } else {
            error("An error occurred while trying to unenroll you.");
        }
        redirect($CFG->wwwroot);
    }
}
$strunenrol = get_string('unenrol');
echo "<br> Context id is {$context->id}";
if (!($user = get_record('user', 'username', $username))) {
    echo 'The username ' . $username . ' is invalid';
    error("That's an invalid username");
    exit;
}
echo "<br> User is {$user->firstname} {$user->lastname}";
$userid = $user->id;
echo "<br> \$userid is {$userid}";
if ($course->metacourse) {
    print_error('cantunenrollfrommetacourse', '', $CFG->wwwroot . '/course/view.php?id=' . $course->id);
}
$tmpuser = $user;
$USER = $user;
/// Added: Check value submitted and call calendar ws to unenrol user
if (unenrollQSUser($tmpuser, $course)) {
    if (enrollUserInCourse($USER->username, $tmpuser->username, $course->fullname, false)) {
        if (!role_unassign(0, $userid, 0, $context->id)) {
            admin_moodlefailed_email($tmpuser, 'unenrollUser', $course);
            error("An error occurred while trying to unenroll that person.");
        }
        send_unenrollment_notification($course, $tmpuser);
        // Added: 05/08/2012
        add_to_log($course->id, 'course', 'unenrol', "view.php?id={$course->id}", $course->id);
    } else {
        enrollQSUser($tmpuser, $course);
        admin_webservicefailed_email($tmpuser, 'unenrollUser', $course);
    }
} else {
    error("An error occurred while trying to unenroll that person.");
}