PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.1.0
Tutor LMS – eLearning and online course solution v2.1.0
4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / templates / single / quiz / body.php
tutor / templates / single / quiz Last commit date
parts 3 years ago body.php 4 years ago content.php 4 years ago no_course_belongs.php 5 years ago previous-attempts.php 4 years ago single_quiz_contents.php 4 years ago top.php 3 years ago
body.php
91 lines
1 <?php
2 /**
3 * @package TutorLMS/Templates
4 * @version 1.5.7
5 */
6
7 global $post;
8 $currentPost = $post;
9 $course = tutor_utils()->get_course_by_quiz( get_the_ID() );
10 $quiz_id = get_the_ID();
11 $quiz_details = tutor_utils()->get_quiz_option( $quiz_id );
12 $quiz_time_limit = ( isset( $quiz_details['time_limit'] ) && is_array( $quiz_details['time_limit'] ) ) ? $quiz_details['time_limit'] : array();
13 $quiz_time_value = isset( $quiz_time_limit['time_value'] ) ? $quiz_time_limit['time_value'] : 0;
14 $quiz_time_type = isset( $quiz_time_limit['time_type'] ) ? $quiz_time_limit['time_type'] : 'minutes';
15 $is_started_quiz = tutor_utils()->is_started_quiz();
16 $previous_attempts = tutor_utils()->quiz_attempts();
17 $attempted_count = is_array( $previous_attempts ) ? count( $previous_attempts ) : 0;
18 $questions_order = tutor_utils()->get_quiz_option( $quiz_id, 'questions_order', 'rand' );
19 $attempts_allowed = tutor_utils()->get_quiz_option( $quiz_id, 'attempts_allowed', 0 );
20 $passing_grade = tutor_utils()->get_quiz_option( $quiz_id, 'passing_grade', 0 );
21 $feedback_mode = tutor_utils()->get_quiz_option( $quiz_id, 'feedback_mode', 0 );
22
23 $attempt_remaining = (int) $attempts_allowed - (int) $attempted_count;
24 $quiz_answers = array();
25 if ( $attempted_count !== 0 ) {
26 ?>
27 <?php // @todo: need to change the ID ?>
28 <div id="tutor-quiz-image-matching-choice" class="tutor-quiz-wrap tutor-quiz-wrap-<?php the_ID(); ?>">
29 <?php
30 do_action( 'tutor_quiz/body/before', $quiz_id );
31
32 if ( $is_started_quiz ) {
33 $quiz_attempt_info = tutor_utils()->quiz_attempt_info( $is_started_quiz->attempt_info );
34 $quiz_attempt_info['date_time_now'] = date( 'Y-m-d H:i:s', tutor_time() );
35 $time_limit_seconds = tutor_utils()->avalue_dot( 'time_limit.time_limit_seconds', $quiz_attempt_info );
36 $question_layout_view = tutor_utils()->get_quiz_option( $quiz_id, 'question_layout_view' );
37 ! $question_layout_view ? $question_layout_view = 'single_question' : 0;
38
39 $hide_quiz_time_display = (bool) tutor_utils()->get_quiz_option($quiz_id, 'hide_quiz_time_display');
40 $hide_question_number_overview = (bool) tutor_utils()->get_quiz_option($quiz_id, 'hide_question_number_overview');
41
42 $remaining_time_secs = ( strtotime( $is_started_quiz->attempt_started_at ) + $time_limit_seconds ) - strtotime( $quiz_attempt_info['date_time_now'] );
43
44 $remaining_time_context = tutor_utils()->seconds_to_time_context( $remaining_time_secs );
45 $questions = tutor_utils()->get_random_questions_by_quiz();
46
47 /* Quiz Meta */
48 require __DIR__ . '/parts/meta.php';
49
50 /* Quiz Question & Answer */
51 if ( is_array( $questions ) && count( $questions ) ) {
52 require __DIR__ . '/parts/question.php';
53 } else {
54 ?>
55 <div class="start-quiz-wrap">
56 <form id="tutor-finish-quiz" method="post">
57 <?php wp_nonce_field( tutor()->nonce_action, tutor()->nonce ); ?>
58
59 <input type="hidden" value="<?php echo $quiz_id; ?>" name="quiz_id"/>
60 <input type="hidden" value="tutor_finish_quiz_attempt" name="tutor_action"/>
61
62 <button type="submit" class="tutor-btn" name="finish_quiz_btn" value="finish_quiz">
63 <i class="icon-floppy"></i> <?php _e( 'Finish', 'tutor' ); ?>
64 </button>
65 </form>
66 </div>
67 <?php
68 }
69 } elseif ( $previous_attempts ) {
70 do_action( 'tutor_quiz/previous_attempts_html/before', $previous_attempts, $quiz_id );
71
72 ob_start();
73 tutor_load_template( 'single.quiz.previous-attempts', compact( 'previous_attempts', 'quiz_id' ) );
74 $previous_attempts_html = ob_get_clean();
75 echo $previous_attempts_html;
76 // echo apply_filters('tutor_quiz/previous_attempts_html', $previous_attempts_html, $previous_attempts, $quiz_id);
77 do_action( 'tutor_quiz/previous_attempts/after', $previous_attempts, $quiz_id );
78 }
79
80 // tutor_next_previous_pagination();
81 do_action( 'tutor_quiz/body/after', $quiz_id );
82 ?>
83 </div>
84 <?php
85 }
86 ?>
87
88 <script>
89 window.tutor_quiz_context = '<?php echo strrev( json_encode( $quiz_answers ) ); ?>';
90 </script>
91