PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.0.8
Tutor LMS – eLearning and online course solution v2.0.8
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 / single / course / enrolled / question_and_answer.php
tutor / templates / single / course / enrolled Last commit date
announcements.php 4 years ago nav.php 4 years ago question_and_answer.php 4 years ago
question_and_answer.php
124 lines
1 <?php
2 /**
3 * Question and answer in single course details tab
4 *
5 * @since v.1.0.0
6 * @author themeum
7 * @url https://themeum.com
8 *
9 * @package TutorLMS/Templates
10 * @version 1.4.3
11 */
12
13 global $post;
14 if ( NULL === $post && isset( $_POST['course_id'] ) ) {
15 $post = get_post( $_POST['course_id'] );
16 }
17 $disable_qa_for_this_course = get_post_meta( $post->ID, '_tutor_enable_qa', true ) != 'yes';
18 $enable_q_and_a_on_course = tutor_utils()->get_option( 'enable_q_and_a_on_course' );
19
20 if ( ! $enable_q_and_a_on_course || $disable_qa_for_this_course ) {
21 tutor_load_template( 'single.course.q_and_a_turned_off' );
22 return;
23 }
24 /**
25 * Load more support added
26 *
27 * @since v2.0.6
28 */
29 $per_page = tutor_utils()->get_option('pagination_per_page', 10);
30 $current_page = max( 1, (int)tutor_utils()->avalue_dot( 'current_page', $_POST ) );
31 $offset = (int) ( $per_page * $current_page ) - $per_page;
32 $is_load_more = isset( $_POST['action'] ) && 'tutor_q_and_a_load_more' === $_POST['action'];
33 // Previous qna list.
34 $questions = tutor_utils()->get_qa_questions(
35 $offset,
36 $per_page,
37 $search_term = '',
38 $question_id = null,
39 $meta_query = null,
40 $asker_id = null,
41 $question_status = null,
42 $count_only = false,
43 $args = array( 'course_id' => $post->ID )
44 );
45
46 $total_questions = tutor_utils()->get_qa_questions(
47 0,
48 0,
49 $search_term = '',
50 $question_id = null,
51 $meta_query = null,
52 $asker_id = null,
53 $question_status = null,
54 $count_only = true,
55 $args = array( 'course_id' => $post->ID )
56 );
57 $load_more_btn = '';
58 $max_page = (int) ceil( $total_questions / $per_page );
59 $data = array(
60 'layout' => array(
61 'type' => 'load_more',
62 'load_more_text' => __('Load More', 'tutor')
63 ),
64 'ajax' => array(
65 'action' => 'tutor_q_and_a_load_more',
66 'current_page_num' => $current_page,
67 'course_id' => $post->ID,
68 ),
69 );
70 $template = tutor()->path . 'templates/dashboard/elements/load-more.php';
71 if ( file_exists( $template ) && $max_page > $current_page ) {
72 ob_start();
73 tutor_load_template_from_custom_path( $template, $data );
74 $load_more_btn = apply_filters( 'tutor_q_and_a_load_more_button', ob_get_clean() );
75 }
76
77 // Add identifier when load more button should remove.
78 if ( $current_page >= $max_page ) {
79 echo '<input type="hidden" id="tutor-hide-comment-load-more-btn">';
80 }
81
82 do_action('tutor_course/question_and_answer/before');
83 if ( $is_load_more ) {
84 foreach ( $questions as $question ) {
85 tutor_load_template_from_custom_path(tutor()->path . '/views/qna/qna-single.php', array(
86 'question_id' => $question->comment_ID,
87 'context' => 'course-single-qna-single',
88 'is_qna_load_more' => true
89 ), false);
90 }
91 return;
92 }
93 ?>
94 <h3 class="tutor-fs-5 tutor-fw-bold tutor-color-black tutor-mb-20">
95 <?php esc_html_e( 'Question & Answer', 'tutor' ); ?>
96 </h3>
97 <?php
98 // Load new question textarea.
99 tutor_load_template_from_custom_path(tutor()->path . '/views/qna/qna-new.php', array(
100 'course_id' => get_the_ID(),
101 'context' => 'course-single-qna-single'
102 ), false);
103 ?>
104 <div class="tutor-pagination-wrapper-replaceable">
105 <div class="tutor-pagination-content-appendable">
106 <?php
107 foreach ( $questions as $question ) {
108 tutor_load_template_from_custom_path(tutor()->path . '/views/qna/qna-single.php', array(
109 'question_id' => $question->comment_ID,
110 'context' => 'course-single-qna-single',
111 'is_qna_load_more' => $is_load_more
112 ), false);
113 }
114 ?>
115 </div>
116 <div class="tutor-button-wrapper tutor-mt-12 tutor-mb-24 tutor-d-flex tutor-justify-end">
117 <?php
118 echo $load_more_btn; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
119 ?>
120 </div>
121 </div>
122
123 <?php do_action('tutor_course/question_and_answer/after'); ?>
124