Ejemplo n.º 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;
}
Ejemplo n.º 2
0
         $destination = "{$CFG->wwwroot}/course/view.php?id={$course->id}";
     }
     echo "<br> \$destination is set to {$destination}";
     if (!enrollQSUser($user, $course)) {
         //Added: 12.30.2010
         echo "<br> enrollQSUser was NOT successful";
         admin_webservicefailed_email($user, 'enrollUser', $course);
         if (!role_unassign(0, $user->id, 0, $context->id)) {
             // Should email the Admin if this happens
             error("An error occurred while trying to unenrol that person.");
             exit;
         }
         //admin_moodlefailed_email($user,'unenrollUser');
     } else {
         echo "<br> enrollQSUser was successful";
         if (!enrollUserInCourse($user->username, $user->username, $course->fullname, true)) {
             echo "<br> enrollUserInCourse was NOT successful";
             if (!role_unassign(0, $user->id, 0, $context->id)) {
                 error("An error occurred while trying to unenrol that person.");
                 exit;
             }
             echo "<br> role_unassign was successful";
             // Should email the Admin if this happens
             unenrollQSUser($user, $course);
             admin_webservicefailed_email($user, 'enrollUser', $course);
         }
         echo "<br> enrollUserInCourse was successful";
     }
     $payload = file_get_contents($destination);
     send_enrollment_notification($course, $user);
 } else {
Ejemplo n.º 3
0
             }
             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.");
     }
     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.");
function enrollUsersAvailCourses($requestingUser, $username)
{
    $user = get_record('user', 'username', $username);
    $roles = get_records('role_assignments', 'userid', $user->id, 'timemodified ASC');
    foreach ($roles as $role) {
        $context = get_record('context', 'id', $role->contextid, 'contextlevel', 50);
        $course = get_record('course', 'id', $context->instanceid);
        if ($course->id > 1) {
            enrollUserInCourse($requestingUser, $username, $course->fullname, true);
        }
    }
}
Ejemplo n.º 5
0
 /**
 * The other half to print_entry, this checks the form data
 *
 * This function checks that the user has completed the task on the
 * enrolment entry page and then enrolls them.
 *
 * @param    form    the form data submitted, as an object
 * @param    course  the current course, as an object
 */
 function check_entry($form, $course)
 {
     global $CFG, $USER, $SESSION, $THEME;
     if (empty($form->password)) {
         $form->password = '';
     }
     if (empty($course->password)) {
         // do not allow entry when no course password set
         // automatic login when manual primary, no login when secondary at all!!
         error('illegal enrolment attempted');
     }
     $groupid = $this->check_group_entry($course->id, $form->password);
     if (stripslashes($form->password) == $course->password or $groupid !== false) {
         if (isguestuser()) {
             // only real user guest, do not use this for users with guest role
             $USER->enrolkey[$course->id] = true;
             add_to_log($course->id, 'course', 'guest', 'view.php?id=' . $course->id, getremoteaddr());
         } else {
             /// Update or add new enrolment
             if (enrollUserInCourse($USER->username, $USER->username, $course->fullname, true)) {
                 if (enrol_into_course($course, $USER, 'manual')) {
                     // force a refresh of mycourses
                     send_enrollment_notification($course, $USER);
                     // Added: 05/08/2012
                     unset($USER->mycourses);
                     if ($groupid !== false) {
                         if (!groups_add_member($groupid, $USER->id)) {
                             print_error('couldnotassigngroup');
                         }
                     }
                     if (!enrollQSUser($USER, $course)) {
                         //Added: 01.06.2011
                         admin_webservicefailed_email($USER, 'enrollUser', $course);
                     }
                 } else {
                     enrollUserInCourse($USER->username, $USER->username, $course->fullname, false);
                     print_error('couldnotassignrole');
                 }
             } else {
                 admin_webservicefailed_email($USER, 'enrollUser', $course);
                 print_error('couldnotassignrole');
             }
         }
         if ($SESSION->wantsurl) {
             $destination = $SESSION->wantsurl;
             unset($SESSION->wantsurl);
         } else {
             $destination = "{$CFG->wwwroot}/course/view.php?id={$course->id}";
         }
         redirect($destination);
     } else {
         if (!isset($CFG->enrol_manual_showhint) or $CFG->enrol_manual_showhint) {
             $this->errormsg = get_string('enrolmentkeyhint', '', substr($course->password, 0, 1));
         } else {
             $this->errormsg = get_string('enrolmentkeyerror', 'enrol_manual');
         }
     }
 }