PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.10
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.10
4.4.10 4.4.9.1 4.4.9 4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 All 142 releases
← All changes | inc/course/class-lp-course-no-required-enroll.php +9 -56 4.1.7.3 → 4.4.10 View file →
@@ -25,13 +25,15 @@
25 25 /**
26 26 * Get result do quiz
27 27 *
28 28 * @param LP_Quiz $quiz
29 - * @param null $answered
29 + * @param array $answered
30 30 *
31 + * @since 4.0.0
32 + * @version 1.0.2
31 33 * @return array
32 34 */
33 - public function get_result_quiz( $quiz, $answered = null ): array {
35 + public function get_result_quiz( LP_Quiz $quiz, array $answered = [] ): array {
34 36 $result = array(
35 37 'questions' => array(),
36 38 'mark' => $quiz->get_mark(),
37 39 'user_mark' => 0,
@@ -47,13 +49,16 @@
47 49 'answered' => array(),
48 50 'pass' => 0,
49 51 );
50 52
53 + if ( empty( $answered ) ) {
54 + return $result;
55 + }
56 +
51 57 $question_ids = $quiz->get_question_ids();
52 58 $result['question_count'] = count( $question_ids );
59 + $questions = learn_press_rest_prepare_user_questions( $question_ids );
53 60
54 - $questions = learn_press_rest_prepare_user_questions( $question_ids );
55 -
56 61 foreach ( $questions as $key => $question_info ) {
57 62 $question_id = $question_info['id'];
58 63 //$question = learn_press_get_question( $question_id );
59 64 $question = $question_info['object'];
@@ -63,15 +68,12 @@
63 68 }
64 69
65 70 $point = floatval( $question->get_mark() );
66 71
67 - //if ( ! array_key_exists( 'instant_check', $answered ) || array_key_exists( $question_id, $answered ) ) {
68 72 $result['questions'][ $question_id ] = $question_info;
69 73 $result['answered'][ $question_id ] = [];
70 74 $result['answered'][ $question_id ]['answered'] = $answered[ $question_id ] ?? '';
71 75
72 - //}
73 -
74 76 if ( isset( $answered[ $question_id ] ) ) { // User's answer
75 77 $result['question_answered']++;
76 78
77 79 $check = $question->check( $answered[ $question_id ] );
@@ -131,56 +133,8 @@
131 133 return $result;
132 134 }
133 135
134 136 /**
135 - * @param $answered
136 - * @param $quiz_id
137 - *
138 - * @return array
139 - */
140 - public function guest_get_quiz_answered( $answered, $quiz_id ) {
141 - $quiz = learn_press_get_quiz( $quiz_id );
142 - $question_ids = $quiz->get_question_ids();
143 - foreach ( $question_ids as $question_id ) {
144 - $question = learn_press_get_question( $question_id );
145 - $result[ $question_id ] = array(
146 - 'correct' => $question->show_correct_answers(),
147 - 'mark' => $question->get_mark(),
148 - 'answered' => $answered[ $question_id ] ?? array(),
149 - );
150 - }
151 - return $result;
152 - }
153 -
154 - /**
155 - * @param $quiz_id
156 - * @param $answered
157 - * @param $course_id
158 - *
159 - * @return array
160 - */
161 - /*public function guest_quiz_get_attempts( $quiz_id, $answered, $course_id ) {
162 - $conclude = $this->guest_calculate_results_quiz( $quiz_id, $answered, $course_id );
163 - // object initialization
164 - $result_obj = new StdClass();
165 - // push value to obj
166 - $result_obj->mark = $conclude['mark'];
167 - $result_obj->user_mark = $conclude['user_mark'];
168 - $result_obj->question_count = $conclude['question_count'];
169 - $result_obj->question_empty = $conclude['question_empty'];
170 - $result_obj->question_answered = $conclude['question_answered'];
171 - $result_obj->question_wrong = $conclude['question_wrong'];
172 - $result_obj->question_correct = $conclude['question_correct'];
173 - $result_obj->status = $conclude['status'];
174 - $result_obj->result = $conclude['result'];
175 - $result_obj->time_spend = $conclude['time_spend'];
176 - $result_obj->passing_grade = $conclude['passing_grade'];
177 - $result = array();
178 - $result[] = $result_obj;
179 - return $result;
180 - }*/
181 -
182 - /**
183 137 * @param $question_id
184 138 * @param null $answered
185 139 *
186 140 * @return array|false
@@ -247,5 +201,4 @@
247 201 return $response;
248 202 }
249 203 }
250 204 }
251 -