PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.0
Tutor LMS – eLearning and online course solution v4.0.0
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 / lesson / comments.php
tutor / templates / learning-area / lesson Last commit date
comment-card.php 1 day ago comment-form.php 1 day ago comment-list.php 1 day ago comment-replies.php 1 day ago comments.php 1 day ago content.php 1 day ago exercise-files.php 1 day ago footer.php 1 day ago nav-item.php 1 day ago overview.php 1 day ago
comments.php
116 lines
1 <?php
2 /**
3 * Lesson Comments Template.
4 *
5 * @package Tutor\Templates
6 * @subpackage Single\Lesson
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\ConfirmationModal;
15 use Tutor\Components\EmptyState;
16 use Tutor\Components\Sorting;
17 use TUTOR\Icon;
18 use TUTOR\Input;
19 use TUTOR\Lesson;
20
21 $user_id = get_current_user_id();
22 $item_per_page = tutor_utils()->get_option( 'pagination_per_page', 10 );
23 $current_page = max( 1, Input::post( 'current_page', 0, Input::TYPE_INT ) );
24 $order_filter = Input::get( 'order' ) ?? Input::post( 'order' ) ?? 'DESC';
25
26 $comments_list_args = array(
27 'post_id' => $lesson_id,
28 'parent' => 0,
29 'paged' => $current_page,
30 'number' => $item_per_page,
31 'order' => $order_filter,
32 );
33
34 $comment_count_args = array(
35 'post_id' => $lesson_id,
36 'parent' => 0,
37 'count' => true,
38 );
39
40 $comments_count = Lesson::get_comments( $comment_count_args );
41 $comment_list = Lesson::get_comments( $comments_list_args );
42 ?>
43 <div x-show="activeTab === 'comments'" x-cloak x-data="tutorLessonComments(<?php echo esc_js( $lesson_id ); ?>, <?php echo esc_js( $comments_count ); ?>)" class="tutor-tab-panel" role="tabpanel">
44 <div class="tutor-p-6" x-data="{ focused: false }">
45 <div class="tutor-text-medium tutor-font-semibold tutor-mb-4">
46 <?php esc_html_e( 'Join The Conversation', 'tutor' ); ?>
47 </div>
48
49 <?php
50 tutor_load_template(
51 'learning-area.lesson.comment-form',
52 array(
53 'form_id' => 'lesson-comment-form',
54 'placeholder' => __( 'Write your comment...', 'tutor' ),
55 'submit_handler' => 'createCommentMutation?.mutate({ ...data, comment_post_ID: ' . esc_js( $lesson_id ) . ', comment_parent: 0, order: currentOrder })',
56 'cancel_handler' => 'reset(); focused = false',
57 'is_pending' => 'createCommentMutation?.isPending',
58 'class' => 'tutor-comment-form',
59 'hide_footer_init' => true,
60 )
61 );
62 ?>
63 </div>
64
65 <div>
66 <div
67 class="tutor-flex tutor-items-center tutor-justify-between tutor-px-6 tutor-py-5 tutor-border-t"
68 :class="{ 'tutor-loading-spinner': isReloading }"
69 >
70 <div class="tutor-small tutor-text-secondary">
71 <?php esc_html_e( 'Comments', 'tutor' ); ?>
72 <span class="tutor-text-primary tutor-font-medium" x-text="'(' + totalComments + ')'"></span>
73 </div>
74 <?php
75 Sorting::make()
76 ->order( $order_filter )
77 ->on_change( 'handleChangeOrder' )
78 ->bind_active_order( 'currentOrder' )
79 ->render();
80 ?>
81 </div>
82 <div x-ref="commentList" class="tutor-comments-list tutor-border-t">
83 <?php
84 tutor_load_template(
85 'learning-area.lesson.comment-list',
86 compact( 'comment_list', 'lesson_id', 'user_id' )
87 );
88 ?>
89 </div>
90
91 <?php
92 EmptyState::make()
93 ->title( __( 'Be the first to ask a question about this lesson!', 'tutor' ) )
94 ->icon( tutor_utils()->get_themed_svg( 'images/illustrations/comments-empty.svg' ) )
95 ->attr( 'x-show', 'isEmpty' )
96 ->attr( 'x-cloak', '' )
97 ->render();
98 ?>
99
100 <div x-ref="loadMoreTrigger" x-show="hasMore && !isReloading" aria-hidden="true">
101 <span x-show="loading" class="tutor-loading-spinner tutor-border-t"></span>
102 </div>
103 </div>
104
105 <?php
106 ConfirmationModal::make()
107 ->id( 'delete-comment-modal' )
108 ->title( 'Delete This Item?' )
109 ->message( 'This action cannot be undone.' )
110 ->icon( Icon::DELETE_2, 80 )
111 ->mutation_state( 'deleteCommentMutation' )
112 ->confirm_handler( 'deleteCommentMutation?.mutate({ comment_id: payload?.commentId })' )
113 ->render();
114 ?>
115 </div>
116