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-replies.php
tutor / templates / dashboard / discussions Last commit date
comment-card.php 5 days ago comment-form.php 5 days ago comment-list.php 5 days ago comment-replies.php 5 days ago comment-single.php 5 days ago qna-card.php 5 days ago qna-form.php 5 days ago qna-list.php 5 days ago qna-replies.php 5 days ago qna-single.php 5 days ago
qna-replies.php
124 lines
1 <?php
2 /**
3 * QnA replies list 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\Avatar;
15 use Tutor\Components\Button;
16 use Tutor\Components\Constants\Size;
17 use Tutor\Components\Sorting;
18 use TUTOR\Icon;
19 use Tutor\Components\SvgIcon;
20 use Tutor\Components\Constants\Color;
21 use Tutor\Components\Constants\Variant;
22 use TUTOR\User;
23
24 ?>
25 <?php if ( ! empty( $replies ) ) : ?>
26 <div class="tutor-flex tutor-items-center tutor-justify-between tutor-px-6 tutor-py-5 tutor-border-t" :class="{ 'tutor-loading-spinner': loadingReplies }">
27 <div class="tutor-small tutor-text-secondary">
28 <?php esc_html_e( 'Replies', 'tutor' ); ?>
29 <span class="tutor-text-primary tutor-font-medium">(<?php echo esc_html( count( $replies ) ); ?>)</span>
30 </div>
31 <?php
32 Sorting::make()
33 ->order( $replies_order )
34 // ->on_change( 'reloadReplies' )
35 // ->bind_active_order( 'repliesOrder' )
36 ->render();
37 ?>
38 </div>
39
40 <div class="tutor-discussion-single-reply-list tutor-border-t">
41 <?php foreach ( $replies as $reply ) : ?>
42 <div class="tutor-discussion-reply-list-item">
43 <div class="tutor-flex tutor-gap-5 tutor-w-full" x-show="editingId !== <?php echo esc_attr( $reply->comment_ID ); ?>">
44 <?php Avatar::make()->user( $reply->user_id )->size( Size::SIZE_40 )->render(); ?>
45 <div class="tutor-flex-1">
46 <div class="tutor-flex tutor-items-center tutor-gap-5 tutor-mb-2 tutor-small">
47 <span class="tutor-discussion-card-author">
48 <?php echo esc_html( $reply->comment_author ); ?>
49 </span>
50 <span class="tutor-text-secondary">
51 <?php
52 /* translators: %s human-readable time difference. */
53 echo esc_html( sprintf( __( '%s ago', 'tutor' ), human_time_diff( strtotime( $reply->comment_date_gmt ) ) ) );
54 ?>
55 </span>
56 </div>
57 <div class="tutor-p2 tutor-text-secondary" id="tutor-qna-text-<?php echo esc_attr( $reply->comment_ID ); ?>">
58 <?php echo wp_kses_post( $reply->comment_content ); ?>
59 </div>
60 </div>
61 <?php
62 $can_edit = $user_id === (int) $reply->user_id;
63 $can_delete = User::is_instructor_view() || $user_id === (int) $reply->user_id;
64 $has_menu = $can_edit || $can_delete;
65 ?>
66 <?php if ( $has_menu ) : ?>
67 <div x-data="tutorPopover({ placement: 'bottom-end' })" class="tutor-ml-auto">
68 <?php
69 Button::make()
70 ->label( __( 'More options', 'tutor' ) )
71 ->variant( Variant::GHOST )
72 ->size( Size::X_SMALL )
73 ->icon( Icon::ELLIPSES, 'left', Size::SIZE_16, Color::SECONDARY )
74 ->icon_only()
75 ->attr( 'x-ref', 'trigger' )
76 ->attr( '@click', 'toggle()' )
77 ->render();
78 ?>
79 <div x-ref="content" x-show="open" x-cloak @click.outside="handleClickOutside()" class="tutor-popover">
80 <div class="tutor-popover-menu" style="min-width: 110px;">
81 <?php if ( $can_edit ) : ?>
82 <button class="tutor-popover-menu-item tutor-gap-5" @click="setEditing(<?php echo esc_attr( $reply->comment_ID ); ?>, 'qna'); hide()">
83 <?php SvgIcon::make()->name( Icon::EDIT_2 )->size( 20 )->render(); ?>
84 <?php esc_html_e( 'Edit', 'tutor' ); ?>
85 </button>
86 <?php endif; ?>
87 <?php if ( $can_delete ) : ?>
88 <button
89 class="tutor-popover-menu-item tutor-gap-5"
90 @click="TutorCore.modal.showModal('tutor-qna-delete-modal', { question_id: <?php echo esc_attr( $reply->comment_ID ); ?>, context: 'reply' }); hide()"
91 >
92 <?php SvgIcon::make()->name( Icon::DELETE_2 )->size( 20 )->render(); ?>
93 <?php esc_html_e( 'Delete', 'tutor' ); ?>
94 </button>
95 <?php endif; ?>
96 </div>
97 </div>
98 </div>
99 <?php endif; ?>
100 </div>
101
102 <?php if ( $can_edit ) : ?>
103 <div x-show="editingId === <?php echo esc_attr( $reply->comment_ID ); ?>" x-cloak class="tutor-mt-5 tutor-w-full">
104 <?php
105 tutor_load_template(
106 'dashboard.discussions.qna-form',
107 array(
108 'form_id' => 'qna-edit-' . (int) $reply->comment_ID,
109 'default_value' => $reply->comment_content,
110 'submit_handler' => '(data) => updateQnAMutation?.mutate({ ...data, question_id: ' . (int) $reply->comment_ID . ' })',
111 'cancel_handler' => 'setEditing(null)',
112 'is_pending' => 'updateQnAMutation?.isPending',
113 'placeholder' => __( 'Write your answer', 'tutor' ),
114 'keep_footer_visible' => true,
115 )
116 );
117 ?>
118 </div>
119 <?php endif; ?>
120 </div>
121 <?php endforeach; ?>
122 </div>
123 <?php endif; ?>
124