PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.1
Tutor LMS – eLearning and online course solution v4.0.1
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 / learning-area / quiz / question.php
tutor / templates / learning-area / quiz Last commit date
modals 4 days ago questions 4 days ago attempt-details.php 4 days ago attempt.php 4 days ago content.php 4 days ago nav-item.php 4 days ago progress-bar.php 4 days ago question-header.php 4 days ago question.php 4 days ago
question.php
90 lines
1 <?php
2 /**
3 * Quiz question wrapper template.
4 *
5 * Renders the outer question div, header, answer template, and after-answers actions.
6 *
7 * @package Tutor\Templates
8 * @subpackage LearningArea\Quiz
9 * @author Themeum <support@themeum.com>
10 * @link https://themeum.com
11 * @since 4.0.0
12 *
13 * @var object $question The question object.
14 * @var array $question_settings The question settings array.
15 * @var string $question_type The question type template name (e.g. 'true-false').
16 */
17
18 defined( 'ABSPATH' ) || exit;
19
20 global $tutor_is_started_quiz;
21 global $post;
22
23 $default_question = array(
24 'index' => 1,
25 'question_id' => 0,
26 'question_title' => '',
27 'question_description' => '',
28 'question_type' => 'true_false',
29 'answer_required' => true,
30 'question_mark' => 10,
31 'answer_explanation' => '',
32 'question_settings' => array(
33 'answer_required' => '0',
34 'is_image_matching' => '0',
35 'question_mark' => '1',
36 'question_type' => 'true_false',
37 'randomize_question' => '1',
38 'show_question_mark' => '1',
39 ),
40 'question_answers' => array(),
41 'question_randomized_answers' => array(),
42 );
43
44 $quiz_id = $tutor_is_started_quiz->quiz_id ?? 0;
45 $quiz = $post instanceof WP_Post ? $post : get_post( $quiz_id );
46 $quiz_settings = tutor_utils()->get_quiz_option( $quiz_id, '', array() );
47 $show_question_mark = $question_settings['show_question_mark'] ?? '0';
48 $attempt_id = (int) ( $tutor_is_started_quiz->attempt_id ?? 0 );
49 $question_id = (int) ( $question->question_id ?? 0 );
50 $field_name_base = sprintf( 'attempt[%d][quiz_question][%d]', $attempt_id, $question_id );
51
52 $answer_is_required = isset( $question_settings['answer_required'] ) && '1' === $question_settings['answer_required'];
53 $required_message = __( 'The answer for this question is required', 'tutor' );
54 ?>
55
56 <div
57 class="tutor-quiz-question"
58 id="<?php echo esc_attr( $question_id ); ?>"
59 data-question="<?php echo esc_attr( $question->question_type ); ?>"
60 data-answer-required="<?php echo esc_attr( $answer_is_required ); ?>"
61 >
62 <?php
63 // Render question header.
64 tutor_load_template(
65 'learning-area.quiz.question-header',
66 array(
67 'question' => $question,
68 'show_question_mark' => $show_question_mark,
69 )
70 );
71
72 // Render the question type specific answers template.
73 tutor_load_template(
74 apply_filters( 'tutor_filter_quiz_question_template', 'learning-area.quiz.questions.' . $question_type, $question_type ),
75 array(
76 'question' => wp_parse_args( (array) $question, $default_question ),
77 'quiz_settings' => $quiz_settings,
78 'answer_is_required' => $answer_is_required,
79 'required_message' => $required_message,
80 'question_field_name_base' => $field_name_base,
81 )
82 );
83
84 // Fire after-answers actions.
85 do_action( 'tutor_quiz_question_after_answers', $quiz, $quiz_settings, $question );
86 do_action( 'tutor_require_question_answer_file', $question_type, $tutor_is_started_quiz, $question );
87
88 ?>
89 </div>
90