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 / dashboard / discussions / qna-form.php
tutor / templates / dashboard / discussions Last commit date
comment-card.php 6 days ago comment-form.php 6 days ago comment-list.php 6 days ago comment-replies.php 6 days ago comment-single.php 6 days ago qna-card.php 6 days ago qna-form.php 6 days ago qna-list.php 6 days ago qna-replies.php 6 days ago qna-single.php 6 days ago
qna-form.php
108 lines
1 <?php
2 /**
3 * Q&A Form Template
4 *
5 * @package Tutor\Templates
6 * @subpackage Dashboard
7 * @author Themeum <support@themeum.com>
8 * @link https://themeum.com
9 * @since 4.0.0
10 */
11
12 defined( 'ABSPATH' ) || exit;
13
14 use Tutor\Components\Button;
15 use Tutor\Components\Constants\InputType;
16 use Tutor\Components\Constants\Size;
17 use Tutor\Components\Constants\Variant;
18 use Tutor\Components\InputField;
19 use TUTOR\Icon;
20 use Tutor\Components\SvgIcon;
21
22 $form_id = $form_id ?? '';
23 $label = $label ?? '';
24 $submit_label = $submit_label ?? __( 'Update', 'tutor' );
25 $form_class = $form_class ?? '';
26 $default_value = $default_value ?? '';
27 $submit_handler = $submit_handler ?? '';
28 $cancel_handler = $cancel_handler ?? '';
29 $is_pending = $is_pending ?? '';
30 $placeholder = $placeholder ?? __( 'Write your question', 'tutor' );
31 $keep_footer_visible = $keep_footer_visible ?? false;
32
33 ?>
34
35 <form
36 class="<?php echo esc_attr( $form_class ); ?>"
37 x-data="{ ...tutorForm({ id: '<?php echo esc_attr( $form_id ); ?>', mode: 'onSubmit', defaultValues: { answer: '<?php echo esc_js( $default_value ); ?>' } }), focused: false }"
38 x-bind="getFormBindings()"
39 @submit.prevent="handleSubmit(<?php echo esc_js( $submit_handler ); ?>)($event)"
40 @wp-editor-focus="focused = true"
41 >
42 <?php
43 $editor_html = '';
44 $custom_editor = apply_filters(
45 'tutor_qna_editor',
46 $editor_html,
47 array(
48 'form_id' => $form_id,
49 'default_value' => $default_value,
50 'placeholder' => $placeholder,
51 'label' => $label,
52 )
53 );
54
55 if ( ! $custom_editor ) {
56 $input = InputField::make()
57 ->type( InputType::TEXTAREA )
58 ->name( 'answer' )
59 ->placeholder( $placeholder )
60 ->attr( 'x-bind', "register('answer', { required: '" . esc_js( __( 'Please enter your response.', 'tutor' ) ) . "' })" )
61 ->attr( '@keydown', 'handleKeydown($event)' )
62 ->attr( '@focus', 'focused = true' );
63
64 if ( $label ) {
65 $input->label( $label );
66 }
67
68 $input->render();
69 }
70
71 //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
72 echo $custom_editor;
73 ?>
74
75 <div
76 class="tutor-flex tutor-items-center tutor-mt-5 tutor-justify-between tutor-sm-justify-end"
77 x-cloak
78 <?php echo ! $keep_footer_visible ? ":class=\"{ 'tutor-hidden': !focused }\"" : ''; ?>
79 >
80 <div class="tutor-tiny tutor-text-subdued tutor-flex tutor-items-center tutor-gap-2 tutor-sm-hidden">
81 <?php SvgIcon::make()->name( Icon::COMMAND )->size( 12 )->render(); ?>
82 <?php esc_html_e( 'Cmd/Ctrl +', 'tutor' ); ?>
83 <?php SvgIcon::make()->name( Icon::ENTER )->size( 12 )->render(); ?>
84 <?php esc_html_e( 'Enter to Save', 'tutor' ); ?>
85 </div>
86 <div class="tutor-flex tutor-items-center tutor-gap-2">
87 <?php
88 Button::make()
89 ->label( __( 'Cancel', 'tutor' ) )
90 ->variant( Variant::GHOST )
91 ->size( Size::X_SMALL )
92 ->attr( 'type', 'button' )
93 ->attr( '@click', $cancel_handler )
94 ->attr( ':disabled', $is_pending )
95 ->render();
96
97 Button::make()
98 ->label( $submit_label )
99 ->size( Size::X_SMALL )
100 ->attr( 'type', 'submit' )
101 ->attr( ':disabled', $is_pending )
102 ->attr( ':class', "{ 'tutor-btn-loading': {$is_pending} }" )
103 ->render();
104 ?>
105 </div>
106 </div>
107 </form>
108