/** * Set the status message displayed to the user for a course * @param integer $course_id ID of course * @param integer $user_id ID of user * @return array Status code and message */ public static function sensei_user_course_status_message($course_id = 0, $user_id = 0) { if (intval($user_id) == 0) { $user_id = get_current_user_id(); } $status = 'not_started'; $box_class = 'info'; $message = __('You have not started this course yet.', 'woothemes-sensei'); if ($course_id > 0 && $user_id > 0) { $started_course = Sensei_Utils::user_started_course($course_id, $user_id); if ($started_course) { $passmark = Sensei_Utils::sensei_course_pass_grade($course_id); // This happens inside sensei_user_passed_course()! $user_grade = Sensei_Utils::sensei_course_user_grade($course_id, $user_id); // This happens inside sensei_user_passed_course()! if ($user_grade >= $passmark) { $status = 'passed'; $box_class = 'tick'; $message = sprintf(__('You have passed this course with a grade of %1$d%%.', 'woothemes-sensei'), $user_grade); } else { $status = 'failed'; $box_class = 'alert'; $message = sprintf(__('You require %1$d%% to pass this course. Your grade is %2$s%%.', 'woothemes-sensei'), $passmark, $user_grade); } } } $message = apply_filters('sensei_user_course_status_' . $status, $message); return array('status' => $status, 'box_class' => $box_class, 'message' => $message); }