You are here

function course_enrollment_load in Course 7.2

Same name and namespace in other branches
  1. 7 course.module \course_enrollment_load()

Load an enrollment from a node ID and user ID.

Parameters

int $nid: Enrollment ID, or node ID.

int $uid: User ID.

Return value

CourseEnrollment Enrollment object or FALSE

16 calls to course_enrollment_load()
CourseAccessTestCase::testDurationExpiration in tests/CourseAccessTestCase.test
Test the enrollment duration. This does not test the enrollment end date being set correctly.
CourseEnrollmentTestCase::testCourseBundles in tests/CourseEnrollmentTestCase.test
Test course bundles.
CourseEnrollmentTestCase::testCourseDuration in tests/CourseEnrollmentTestCase.test
Test for course duration being set properly on enrollment.
CourseEnrollmentTestCase::testCourseEnrollment in tests/CourseEnrollmentTestCase.test
Test for enrollment access and timestamping.
CourseEnrollmentTestCase::testCourseEnrollmentTimestamps in tests/CourseEnrollmentTestCase.test
Test a manual course enrollment. Ensure that created and started timestamping works as expected.

... See full list

2 string references to 'course_enrollment_load'
CourseEnrollment::save in includes/CourseEnrollment.inc
@kludge Reset the static lookup cache.
course_enroll in ./course.module
Enrolls a user in a course.

File

./course.module, line 1008
course.module Core functionality for Courses.

Code

function course_enrollment_load($nid, $uid = NULL) {
  $lookup =& drupal_static(__FUNCTION__, array());
  if (is_object($nid)) {
    $nid = $nid->nid;
  }
  if (is_null($uid)) {
    $eid = $nid;
    return entity_load_single('course_enrollment', $eid);
  }
  if (is_object($uid)) {
    $uid = $uid->uid;
  }
  if (!isset($lookup[$nid][$uid])) {
    if ($enrollment = db_query("SELECT * FROM {course_enrollment} WHERE nid = :nid AND uid = :uid", array(
      ':nid' => $nid,
      ':uid' => $uid,
    ))
      ->fetch()) {
      $lookup[$nid][$uid] = $enrollment->eid;
    }
    else {
      $lookup[$nid][$uid] = FALSE;
    }
  }
  if ($lookup[$nid][$uid] === FALSE) {

    // No enrollment.
    return FALSE;
  }
  return entity_load_single('course_enrollment', $lookup[$nid][$uid]);
}