PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.2
Tutor LMS – eLearning and online course solution v4.0.2
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 / multiple-choice.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
multiple-choice.php
85 lines
1 <?php
2 /**
3 * Multiple Choice
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 /**
14 * Check if current answer has a thumb
15 *
16 * @param array $answer Answer data.
17 *
18 * @return bool
19 */
20 $has_image = function ( $answer ) {
21 return array_key_exists( 'image_id', $answer ) && ! empty( $answer['image_id'] );
22 };
23
24 $has_multiple_correct_answer = isset( $question['question_settings']['has_multiple_correct_answer'] ) && '1' === $question['question_settings']['has_multiple_correct_answer'];
25 $radio_required_message = __( 'Please select an option to answer', 'tutor' );
26 $checkbox_required_message = __( 'Please select at least one option to answer.', 'tutor' );
27 $field_name_base = $question_field_name_base ?? '';
28 $field_name = $field_name_base . ( $has_multiple_correct_answer ? '[]' : '' );
29 $register_rules = '';
30 if ( $answer_is_required ) {
31 if ( $has_multiple_correct_answer ) {
32 $register_rules = ", { validate: (value) => Array.isArray(value) && value.length > 0 || '" . esc_js( $checkbox_required_message ) . "' }";
33 } else {
34 $register_rules = ", { required: '" . esc_js( $radio_required_message ) . "' }";
35 }
36 }
37 $register_attr = "register('{$field_name}'{$register_rules})";
38
39 ?>
40
41 <div class="tutor-quiz-question-options">
42 <?php foreach ( $question['question_answers'] as $index => $answer ) : ?>
43 <label
44 class="tutor-quiz-question-option"
45 tabindex="0"
46 @keydown.space.prevent="$el.querySelector('input').click()"
47 @keydown.enter.prevent="$el.querySelector('input').click()"
48 >
49 <div class="tutor-input-field <?php echo $has_image( $answer ) ? 'tutor-hidden' : ''; ?>">
50 <div class="tutor-input-wrapper">
51 <input
52 type="<?php echo esc_attr( $has_multiple_correct_answer ? 'checkbox' : 'radio' ); ?>"
53 class="<?php echo esc_attr( $has_multiple_correct_answer ? 'tutor-checkbox' : 'tutor-radio' ); ?>"
54 id="<?php echo esc_attr( $question['question_id'] ) . esc_attr( $index ); ?>"
55 name="<?php echo esc_attr( $field_name ); ?>"
56 value="<?php echo esc_attr( $answer['answer_id'] ); ?>"
57 tabindex="-1"
58 x-bind="<?php echo esc_attr( $register_attr ); ?>"
59 >
60 <label
61 class="tutor-label"
62 for="<?php echo esc_attr( $question['question_id'] ) . esc_attr( $index ); ?>"
63 >
64 <?php echo esc_html( $answer['answer_title'] ); ?>
65 </label>
66 </div>
67 </div>
68 <?php if ( $has_image( $answer ) ) : ?>
69 <img src="<?php echo esc_url( wp_get_attachment_image_url( $answer['image_id'], 'full' ) ); ?>" alt="<?php echo esc_attr( $answer['answer_title'] ); ?>">
70 <div data-title>
71 <?php echo esc_html( $answer['answer_title'] ); ?>
72 </div>
73 <?php endif; ?>
74 </label>
75 <?php endforeach; ?>
76 </div>
77
78
79 <div
80 class="tutor-quiz-questions-error"
81 x-cloak
82 x-show="errors?.['<?php echo esc_attr( $field_name ); ?>']?.message"
83 x-text="errors?.['<?php echo esc_attr( $field_name ); ?>']?.message"
84 ></div>
85