assignments
5 years ago
earning
5 years ago
enrolled-courses
5 years ago
instructor
5 years ago
my-quiz-attempts
5 years ago
notifications
5 years ago
question-answer
5 years ago
quiz-attempts
5 years ago
reviews
5 years ago
settings
5 years ago
withdraw-method-fields
5 years ago
assignments.php
5 years ago
create-course.php
5 years ago
dashboard.php
5 years ago
earning.php
5 years ago
enrolled-courses.php
5 years ago
index.php
5 years ago
logged-in.php
5 years ago
my-courses.php
5 years ago
my-profile.php
5 years ago
my-quiz-attempts.php
5 years ago
purchase_history.php
5 years ago
question-answer.php
5 years ago
quiz-attempts.php
5 years ago
registration.php
5 years ago
reviews.php
5 years ago
settings.php
5 years ago
wishlist.php
5 years ago
withdraw.php
5 years ago
quiz-attempts.php
119 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Students Quiz Attempts Frontend |
| 4 | * |
| 5 | * @since v.1.4.0 |
| 6 | * |
| 7 | * @author Themeum |
| 8 | * @url https://themeum.com |
| 9 | * |
| 10 | * @package TutorLMS/Templates |
| 11 | * @version 1.6.4 |
| 12 | */ |
| 13 | |
| 14 | $per_page = 20; |
| 15 | $current_page = max( 1, tutils()->array_get('current_page', $_GET) ); |
| 16 | $offset = ($current_page-1)*$per_page; |
| 17 | ?> |
| 18 | <div class="quiz-attempts-title"> |
| 19 | <?php _e('Quiz Attempts', 'tutor'); ?> |
| 20 | </div> |
| 21 | <?php |
| 22 | $course_id = tutor_utils()->get_assigned_courses_ids_by_instructors(); |
| 23 | $quiz_attempts = tutor_utils()->get_quiz_attempts_by_course_ids($offset, $per_page, $course_id); |
| 24 | $quiz_attempts_count = tutor_utils()->get_total_quiz_attempts_by_course_ids($course_id); |
| 25 | |
| 26 | if ( $quiz_attempts_count ){ |
| 27 | ?> |
| 28 | <div class="tutor-quiz-attempt-history"> |
| 29 | <table class="tutor-table"> |
| 30 | <tr> |
| 31 | <th><?php _e('Course Info', 'tutor'); ?></th> |
| 32 | <th><?php _e('Student', 'tutor'); ?></th> |
| 33 | <th><?php _e('Correct Answer', 'tutor'); ?></th> |
| 34 | <th><?php _e('Incorrect Answer', 'tutor'); ?></th> |
| 35 | <th><?php _e('Earned Mark', 'tutor'); ?></th> |
| 36 | <th><?php _e('Result', 'tutor'); ?></th> |
| 37 | <th></th> |
| 38 | <?php do_action('tutor_quiz/my_attempts/table/thead/col'); ?> |
| 39 | </tr> |
| 40 | <?php |
| 41 | foreach ( $quiz_attempts as $attempt){ |
| 42 | $attempt_action = tutor_utils()->get_tutor_dashboard_page_permalink('quiz-attempts/quiz-reviews/?attempt_id='.$attempt->attempt_id); |
| 43 | $earned_percentage = $attempt->earned_marks > 0 ? ( number_format(($attempt->earned_marks * 100) / $attempt->total_marks)) : 0; |
| 44 | $passing_grade = tutor_utils()->get_quiz_option($attempt->quiz_id, 'passing_grade', 0); |
| 45 | $answers = tutor_utils()->get_quiz_answers_by_attempt_id($attempt->attempt_id); |
| 46 | ?> |
| 47 | <tr> |
| 48 | <td> |
| 49 | <div class="course"> |
| 50 | <a href="<?php echo get_the_permalink($attempt->course_id); ?>" target="_blank"><?php echo get_the_title($attempt->course_id); ?></a> |
| 51 | </div> |
| 52 | <div class="course-meta"> |
| 53 | <span><?php echo date_i18n(get_option('date_format').' '.get_option('time_format'), strtotime($attempt->attempt_ended_at)); ?></span> |
| 54 | <span><?php _e('Question: ','tutor'); ?><strong><?php echo count($answers); ?></strong></span> |
| 55 | <span><?php _e('Total Marks: ','tutor'); ?><strong><?php echo $attempt->total_marks; ?></strong></span> |
| 56 | </div> |
| 57 | </td> |
| 58 | <td> |
| 59 | <div class="student"> |
| 60 | <?php echo $attempt->display_name; ?></span> |
| 61 | </div> |
| 62 | <div class="student-meta"> |
| 63 | <span><?php echo $attempt->user_email; ?></span> |
| 64 | </div> |
| 65 | </td> |
| 66 | <td> |
| 67 | <?php |
| 68 | $correct = 0; |
| 69 | $incorrect = 0; |
| 70 | if(is_array($answers) && count($answers) > 0) { |
| 71 | foreach ($answers as $answer){ |
| 72 | if ( (bool) isset( $answer->is_correct ) ? $answer->is_correct : '' ) { |
| 73 | $correct++; |
| 74 | } else { |
| 75 | if ($answer->question_type === 'open_ended' || $answer->question_type === 'short_answer'){ |
| 76 | } else { |
| 77 | $incorrect++; |
| 78 | } |
| 79 | } |
| 80 | } |
| 81 | } |
| 82 | echo $correct; |
| 83 | ?> |
| 84 | </td> |
| 85 | <td> |
| 86 | <?php echo $incorrect; ?> |
| 87 | </td> |
| 88 | <td> |
| 89 | <?php echo $attempt->earned_marks.' ('.$earned_percentage.'%)'; ?> |
| 90 | </td> |
| 91 | <td> |
| 92 | <?php |
| 93 | if ($attempt->attempt_status === 'review_required'){ |
| 94 | echo '<span class="result-review-required">' . __('Under Review', 'tutor') . '</span>'; |
| 95 | }else{ |
| 96 | echo $earned_percentage >= $passing_grade ? '<span class="result-pass">'.__('Pass', 'tutor').'</span>' : '<span class="result-fail">'.__('Fail', 'tutor').'</span>'; |
| 97 | } |
| 98 | ?> |
| 99 | </td> |
| 100 | <td><a href="<?php echo $attempt_action; ?>"><?php _e('Details', 'tutor'); ?></a></td> |
| 101 | <?php do_action('tutor_quiz/my_attempts/table/tbody/col'); ?> |
| 102 | </tr> |
| 103 | <?php |
| 104 | } |
| 105 | ?> |
| 106 | </table> |
| 107 | </div> |
| 108 | <div class="tutor-pagination"> |
| 109 | <?php |
| 110 | echo paginate_links( array( |
| 111 | 'format' => '?current_page=%#%', |
| 112 | 'current' => $current_page, |
| 113 | 'total' => ceil($quiz_attempts_count/$per_page) |
| 114 | ) ); |
| 115 | ?> |
| 116 | </div> |
| 117 | <?php } else { |
| 118 | _e('You have not attempted for any quiz yet.', 'tutor'); |
| 119 | } ?> |