PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.4
Tutor LMS – eLearning and online course solution v4.0.4
4.0.4 4.0.3 4.0.2 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 1 month ago questions 2 weeks ago attempt-details.php 1 month ago attempt.php 1 month ago content.php 1 month ago nav-item.php 1 month ago progress-bar.php 1 month ago question-header.php 1 month ago question.php 1 month 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