public function calculate_user_module_progress_custom($user_id, $module_id, $course_id) { $lessons = Sensei_Core_Modules::get_lessons($course_id, $module_id); //if (is_wp_error($lessons) || 0 >= count($lessons)) return 0; $completed = false; $lesson_count = 0; $completed_count = 0; $strcom = ''; foreach ($lessons as $lesson) { $lesson_id = $lesson->ID; $lesson_id = (int) $lesson_id; $quiz_id = WooThemes_Sensei_Lesson::lesson_quizzes($lesson_id, $post_status = 'any'); $quiz_id = (int) $quiz_id; $lesson_quiz_questions = WooThemes_Sensei_Utils::sensei_get_quiz_questions($quiz_id); if (count($lesson_quiz_questions) > 0) { $lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_id, $user_id); $lesson_status = $lesson_status->comment_approved; ++$lesson_count; if ($lesson_status == 'passed') { ++$completed_count; } else { $question = $lesson_quiz_questions[0]; $question_title = $question->post_title; if ($question_title == 'Offline Upload') { ++$completed_count; } //$strcom = $strcom.' -- Lesson ID: '.$lesson_id.' '.print_r($lesson_quiz_questions, true); } } //$strcom = $strcom.' -- '.$user_id.' '.$lesson_id.' '.$lesson_status. ' '.print_r($lesson_quizzes, true); } $module_progress = $completed_count / $lesson_count * 100; return (double) $module_progress; //return $strcom; }