PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.3
Tutor LMS – eLearning and online course solution v4.0.3
4.0.7 4.0.6 4.0.5 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 / questions / fill-in-the-blank.php
tutor / templates / learning-area / quiz / questions Last commit date
fill-in-the-blank.php 1 month ago image-answering.php 1 month ago matching.php 1 month ago multiple-choice.php 1 month ago open-ended.php 1 month ago ordering.php 1 month ago true-false.php 1 month ago
fill-in-the-blank.php
94 lines
1 <?php
2 /**
3 * Fill In The Blanks
4 *
5 * @package Tutor\Templates
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 4.0.0
9 */
10
11 defined( 'ABSPATH' ) || exit;
12
13 $base_field_name = ( $question_field_name_base ?? '' ) . '[]';
14 $field_name = '';
15 $field_names = array();
16 $register_rules = '';
17 if ( $answer_is_required ) {
18 $register_rules = ", { required: '" . esc_js( $required_message ) . "' }";
19 }
20
21 ?>
22 <div class="tutor-quiz-question-options">
23 <?php foreach ( $question['question_answers'] as $answer ) : ?>
24 <div class="tutor-quiz-question-option">
25 <?php
26 $answer_title = $answer['answer_title'];
27 $dash_count = substr_count( $answer_title, '{dash}' );
28
29 if ( $dash_count > 0 ) {
30 $input_index = 0;
31
32 $answer_title = preg_replace_callback(
33 '/{dash}/',
34 function () use ( &$input_index, $base_field_name, $register_rules, &$field_name, &$field_names ) {
35
36 $input_name = sprintf( '%s[%d]', $base_field_name, $input_index );
37
38 $register_attr = "register('{$input_name}'{$register_rules})";
39 $input_html = sprintf(
40 '<input
41 type="text"
42 class="tutor-quiz-question-input"
43 placeholder="%s"
44 name="%s"
45 x-bind="%s"
46 />',
47 esc_attr__( 'Type your answer here', 'tutor' ),
48 $input_name,
49 esc_attr( $register_attr )
50 );
51
52 $input_index++;
53 if ( '' === $field_name ) {
54 $field_name = $input_name;
55 }
56 $field_names[] = $input_name;
57
58 return $input_html;
59 },
60 $answer_title
61 );
62 }
63
64 echo wp_kses(
65 $answer_title,
66 array(
67 'input' => array(
68 'type' => true,
69 'class' => true,
70 'name' => true,
71 'placeholder' => true,
72 'x-bind' => true,
73 ),
74 )
75 );
76 ?>
77 </div>
78 <?php endforeach; ?>
79 </div>
80
81 <?php if ( $field_name ) : ?>
82 <?php $unique_field_names = array_values( array_unique( $field_names ) ); ?>
83 <div
84 class="tutor-quiz-questions-error"
85 x-data="{ fieldNames: <?php echo esc_attr( wp_json_encode( $unique_field_names ) ); ?> }"
86 x-cloak
87 x-show="fieldNames.some((name) => errors?.[name]?.message)"
88 x-text="(() => {
89 const match = fieldNames.find((name) => errors?.[name]?.message);
90 return match ? errors?.[match]?.message : '';
91 })()"
92 ></div>
93 <?php endif; ?>
94