action_subscribe_user();
}
/**
* Handle the subscribe action.
*
* @return bool
*/
public function action_subscribe_user()
{
$action = self::get('action');
if ($action != self::ACTION_SUBSCRIBE) {
return false;
}
$course_code = self::post(self::PARAM_SUBSCRIBE);
if (empty($course_code)) {
return false;
}
$registration_code = self::post(self::PARAM_PASSCODE);
if ($this->subscribe_user($course_code, $registration_code)) {
echo Display::return_message(get_lang('EnrollToCourseSuccessful'), 'confirmation');
return;
}
if (!empty($registration_code)) {
echo Display::return_message(get_lang('CourseRegistrationCodeIncorrect'), 'error');
}
$this->display_form($course_code);
return true;
}
/**
* Regiser a user to a course.
* Returns true on success, false otherwise.
*
* @param string $course_code
* @param string $registration_code
* @param int $user_id
*
* @return bool
*/
public function subscribe_user($course_code, $registration_code = '', $user_id = null)
{
$course = api_get_course_info($course_code);
$course_regisration_code = $course['registration_code'];
if (!empty($course_regisration_code) && $registration_code != $course_regisration_code) {
return false;
}
if (empty($user_id)) {
global $_user;
$user_id = $_user['user_id'];
}
return (bool) CourseManager::subscribeUser($user_id, $course_code);
}
/**
* Display the course registration form.
* Asks for registration code/password.
*
* @param string $course_code
*/
public function display_form($course_code)
{
global $stok;
$course = api_get_course_info($course_code);
$self = $_SERVER['REQUEST_URI'];
$course_code = $course['code'];
$course_visual_code = $course['visual_code'];
$course_title = $course['title'];
$submit_registration_code_label = get_lang("SubmitRegistrationCode");
$course_requires_password_label = get_lang('CourseRequiresPassword');
$result = <<