PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 3.4.2
Tutor LMS – eLearning and online course solution v3.4.2
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 / restapi / REST_Topic.php
tutor / restapi Last commit date
REST_Author.php 2 years ago REST_Course.php 2 years ago REST_Course_Announcement.php 2 years ago REST_Lesson.php 2 years ago REST_Quiz.php 1 year ago REST_Rating.php 2 years ago REST_Response.php 2 years ago REST_Topic.php 2 years ago RestAuth.php 2 years ago
REST_Topic.php
88 lines
1 <?php
2 /**
3 * REST API for course topics.
4 *
5 * @package Tutor\RestAPI
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 1.7.1
9 */
10
11 namespace TUTOR;
12
13 use WP_REST_Request;
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit;
17 }
18
19 /**
20 * Class REST_Topic
21 *
22 * @package Tutor
23 *
24 * @since 1.7.1
25 */
26 class REST_Topic {
27 use REST_Response;
28
29 /**
30 * Post parent ID.
31 *
32 * @var int $post_parent The ID of the post parent.
33 */
34 private $post_parent;
35
36 /**
37 * Post type.
38 *
39 * @var string $post_type The post type for topics.
40 */
41 private $post_type = 'topics';
42
43 /**
44 * Retrieve topics by course ID via REST API.
45 *
46 * @param WP_REST_Request $request The REST request object.
47 *
48 * @since 1.7.1
49 *
50 * @return mixed
51 */
52 public function course_topic( WP_REST_Request $request ) {
53 $this->post_parent = $request->get_param( 'course_id' );
54
55 if ( ! isset( $this->post_parent ) ) {
56 $response = array(
57 'code' => 'get_topic',
58 'message' => __( 'course_id is required', 'tutor' ),
59 'data' => array(),
60 );
61 return self::send( $response );
62 }
63
64 global $wpdb;
65
66 $result = $wpdb->get_results(
67 $wpdb->prepare( "SELECT ID, post_title, post_content, post_name FROM {$wpdb->posts} WHERE post_type = %s AND post_parent = %d", $this->post_type, $this->post_parent )
68 );
69
70 if ( count( $result ) > 0 ) {
71 $response = array(
72 'code' => 'get_topic',
73 'message' => __( 'Topic retrieved successfully', 'tutor' ),
74 'data' => $result,
75 );
76
77 return self::send( $response );
78 }
79 $response = array(
80 'code' => 'not_found',
81 'message' => __( 'Topic not found for given course ID', 'tutor' ),
82 'data' => array(),
83 );
84
85 return self::send( $response );
86 }
87 }
88