function hook_course_access in Course 7.2
Same name and namespace in other branches
- 8.3 course.api.php \hook_course_access()
- 8.2 course.api.php \hook_course_access()
- 7 course.api.php \hook_course_access()
- 3.x course.api.php \hook_course_access()
Allow modules to determine if this course should be restricted.
If any module implementing this hook returns FALSE or an array containing 'success' => FALSE, the course will be restricted.
Parameters
string $op: Either 'enroll' or 'take'.
object $node: The course node.
object $user: The user who may or may not enroll/take the course.
Return value
boolean|array Either FALSE, or an array containing:
- success: Boolean. Indicates whether or not the user has permission to enroll or take this course.
- message: String. If success is FALSE, a message to display to the user.
3 functions implement hook_course_access()
Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.
- course_course_access in ./
course.module - Implements hook_course_access().
- course_signup_course_access in modules/
course_signup/ course_signup.module - Implements hook_course_access().
- course_uc_course_access in modules/
course_uc/ course_uc.module - Implements hook_course_access().
1 invocation of hook_course_access()
- course_access_course in ./
course.module - Check whether or not a user can self-enroll in a course.
File
- ./
course.api.php, line 190 - Hooks provided by Course module.
Code
function hook_course_access($op, $node, $user) {
if ($op == 'take') {
// Example: do not allow users to take courses on Wednesdays.
if (date('L') == 'wednesday') {
$hooks[] = array(
'success' => FALSE,
'message' => t('Courses are closed on Wednesdays.'),
);
}
elseif (date('m') == 12 && date('d') == 25) {
$hooks[] = array(
'success' => TRUE,
);
}
return $hooks;
}
if ($op == 'enroll') {
// Same usage as $op == 'take'.
}
}