PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.6.1
Tutor LMS – eLearning and online course solution v2.6.1
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_Lesson.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 2 years 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_Lesson.php
115 lines
1 <?php
2 /**
3 * REST API Lesson
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_Query;
14 use WP_REST_Request;
15
16 if ( ! defined( 'ABSPATH' ) ) {
17 exit;
18 }
19
20 /**
21 * Class REST_Lesson
22 */
23 class REST_Lesson {
24
25 use REST_Response;
26
27 /**
28 * Post type
29 *
30 * @var string $post_type
31 */
32 private $post_type;
33
34 /**
35 * Post parent ID
36 *
37 * @var int $post_parent
38 */
39 private $post_parent;
40
41 /**
42 * REST_Lesson constructor.
43 */
44 public function __construct() {
45 $this->post_type = tutor()->lesson_post_type;
46 }
47
48 /**
49 * Get lessons for a specific topic.
50 *
51 * @param WP_REST_Request $request REST request object.
52 *
53 * @return mixed
54 */
55 public function topic_lesson( WP_REST_Request $request ) {
56 $this->post_parent = $request->get_param( 'id' );
57
58 $args = array(
59 'post_type' => $this->post_type,
60 'post_parent' => $this->post_parent,
61 'posts_per_page' => -1,
62 );
63
64 $lessons_query = new WP_Query( $args );
65
66 $data = array();
67
68 if ( $lessons_query->have_posts() ) {
69 while ( $lessons_query->have_posts() ) {
70 $lessons_query->the_post();
71
72 $lesson = new \stdClass();
73
74 $lesson->ID = get_the_ID();
75 $lesson->post_title = get_the_title();
76 $lesson->post_content = get_the_content();
77 $lesson->post_name = $post->post_name;
78 $lesson->course_id = wp_get_post_parent_id( $lesson->ID );
79
80 $attachments = array();
81 $attachments_id = get_post_meta( $lesson->ID, '_tutor_attachments', false );
82 $attachments_id = $attachments_id[0];
83
84 foreach ( $attachments_id as $id ) {
85 $guid = get_the_guid( $id );
86 array_push( $attachments, $guid );
87 }
88
89 $lesson->attachments = $attachments;
90 $lesson->thumbnail = get_the_post_thumbnail_url( $lesson->ID );
91 $lesson->video = get_post_meta( $lesson->ID, '_video', false );
92
93 array_push( $data, $lesson );
94 }
95
96 $response = array(
97 'status_code' => 'success',
98 'message' => __( 'Lesson retrieved successfully', 'tutor' ),
99 'data' => $data,
100 );
101
102 return self::send( $response );
103 }
104
105 $response = array(
106 'status_code' => 'not_found',
107 'message' => __( 'Lesson not found for the given topic ID', 'tutor' ),
108 'data' => array(),
109 );
110
111 return self::send( $response );
112 }
113
114 }
115