← All changes
|
inc/course/class-lp-course-no-required-enroll.php
+11
-58
4.1.7.2
→
4.4.10
View file →
| @@ -24,14 +24,16 @@ | ||
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | 26 | * Get result do quiz |
| 27 | 27 | * |
| 28 | - * @param $quiz | |
| 29 | - * @param null $answered | |
| 28 | + * @param LP_Quiz $quiz | |
| 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 | |
| 51 | - $question_ids = $quiz->get_questions(); | |
| 53 | + if ( empty( $answered ) ) { | |
| 54 | + return $result; | |
| 55 | + } | |
| 56 | + | |
| 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 | - | |