function course_course_enrollment_delete in Course 7.2
Same name and namespace in other branches
- 7 course.module \course_course_enrollment_delete()
Implements hook_course_enrollment_delete().
Clean up after an enrollment deletion.
File
- ./
course.module, line 1459 - course.module Core functionality for Courses.
Code
function course_course_enrollment_delete(CourseEnrollment $enrollment) {
$report = course_report_load($enrollment->nid, $enrollment->uid);
// Delete the enrollment.
$enrollment
->delete();
// Also delete the course report. (Maybe not necessary?)
$report
->delete();
// Find all course objects in this course and delete the fulfillment.
$coids = array();
$result = db_query("SELECT coid FROM {course_outline} WHERE nid = :nid", array(
':nid' => $enrollment->nid,
));
while ($row = $result
->fetch()) {
$coids[] = $row->coid;
}
if (count($coids)) {
$sql = "SELECT cofid FROM {course_outline_fulfillment} WHERE coid IN (:coids) AND uid = :uid";
$cofid = db_query($sql, array(
':coids' => $coids,
':uid' => $enrollment->uid,
))
->fetchAllKeyed(0, 0);
entity_delete_multiple('course_object_fulfillment', $cofid);
}
}