PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.4
Tutor LMS – eLearning and online course solution v4.0.4
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 / classes / Question_Answers_List.php
tutor / classes Last commit date
Addons.php 1 month ago Admin.php 2 weeks ago Ajax.php 1 month ago Announcements.php 1 month ago Assets.php 1 week ago Backend_Page_Trait.php 1 year ago BaseController.php 1 year ago Config.php 1 month ago Container.php 1 year ago Course.php 1 month ago Course_Embed.php 3 years ago Course_Filter.php 1 month ago Course_List.php 1 month ago Course_Settings_Tabs.php 1 month ago Course_Widget.php 1 year ago Custom_Validation.php 1 month ago Dashboard.php 1 month ago Earnings.php 10 months ago FormHandler.php 1 month ago Frontend.php 1 month ago Gutenberg.php 1 year ago Icon.php 2 weeks ago Input.php 1 month ago Instructor.php 1 month ago Instructors_List.php 1 month ago Lesson.php 1 month ago Options_V2.php 1 month ago Permalink.php 1 month ago Post_types.php 1 month ago Private_Course_Access.php 1 month ago Q_And_A.php 1 month ago Question_Answers_List.php 1 year ago Quiz.php 2 weeks ago QuizBuilder.php 1 month ago Quiz_Attempts_List.php 1 month ago RestAPI.php 1 month ago Reviews.php 1 month ago Rewrite_Rules.php 2 years ago SampleCourse.php 1 month ago Shortcode.php 1 month ago Singleton.php 1 year ago Student.php 1 month ago Students_List.php 1 year ago Taxonomies.php 1 year ago Template.php 1 month ago Theme_Compatibility.php 3 years ago Tools.php 1 year ago Tools_V2.php 2 months ago Tutor.php 1 month ago TutorEDD.php 1 month ago Tutor_Base.php 2 years ago Tutor_Setup.php 1 month ago Upgrader.php 1 month ago User.php 1 week ago UserPreference.php 1 month ago Utils.php 2 weeks ago Video_Stream.php 3 years ago WhatsNew.php 1 month ago Withdraw.php 1 month ago Withdraw_Requests_List.php 1 year ago WooCommerce.php 1 month ago
Question_Answers_List.php
120 lines
1 <?php
2 /**
3 * Question answer list management
4 *
5 * @package Tutor\QuestionAnswer
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 1.0.0
9 */
10
11 namespace TUTOR;
12
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 /**
18 * Question_Answers_List
19 *
20 * @since 1.0.0
21 */
22 class Question_Answers_List {
23
24 /**
25 * Backend Page trait
26 */
27 use Backend_Page_Trait;
28
29 /**
30 * Page slug
31 *
32 * @var string
33 */
34 const QUESTION_ANSWER_PAGE = 'question_answer';
35
36 /**
37 * Register hooks & dependencies
38 *
39 * @since 1.0.0
40 *
41 * @param boolean $register_hook weather to register hook or not.
42 *
43 * @return void
44 */
45 public function __construct( $register_hook = true ) {
46 if ( ! $register_hook ) {
47 return;
48 }
49 }
50
51 /**
52 * Get question answers
53 *
54 * @since 1.0.0
55 *
56 * @param array $args query args.
57 *
58 * @return array
59 */
60 public function get_items( $args = array() ) {
61 $per_page = tutor_utils()->get_option( 'pagination_per_page' );
62
63 $search_term = '';
64 if ( isset( $args['search'] ) ) {
65 $search_term = sanitize_text_field( $args['search'] );
66 }
67
68 $current_page = absint( Input::sanitize_request_data( 'paged', 1 ) );
69 $question_status = ! empty( $args['data'] ) ? $args['data'] : null;
70 $items = tutor_utils()->get_qa_questions( ( $current_page - 1 ) * $per_page, $per_page, $search_term, null, null, null, $question_status, false, $args );
71 $total_items = tutor_utils()->get_qa_questions( ( $current_page - 1 ) * $per_page, $per_page, $search_term, null, null, null, $question_status, true, $args );
72
73 return array(
74 'items' => $items,
75 'pagination' => array(
76 'total_items' => $total_items,
77 'per_page' => $per_page,
78 'paged' => $current_page,
79 ),
80 );
81 }
82
83 /**
84 * Get bulk action as an array
85 *
86 * @return array
87 */
88 public function get_bulk_actions() {
89 return array(
90 $this->bulk_action_default(),
91 $this->bulk_action_delete(),
92 );
93 }
94
95 /**
96 * Get answer list by question id & type
97 *
98 * @since 2.0.2
99 *
100 * @param integer $question_id question id.
101 * @param string $question_type question type.
102 *
103 * @return array list of answer
104 */
105 public static function answer_list_by_question( int $question_id, string $question_type ): array {
106 global $wpdb;
107 $answers = $wpdb->get_results(
108 $wpdb->prepare(
109 "SELECT * FROM {$wpdb->prefix}tutor_quiz_question_answers
110 where belongs_question_id = %d
111 AND belongs_question_type = %s
112 order by answer_order asc ;",
113 $question_id,
114 $question_type
115 )
116 );
117 return is_array( $answers ) && count( $answers ) ? $answers : array();
118 }
119 }
120