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 = << $course_visual_code - $course_title
EOT; echo $result; } }