PluginProbe
Tutor LMS – eLearning and online course solution / 1.9.4
Tutor LMS – eLearning and online course solution v1.9.4
4.0.7 4.0.6 4.0.5 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 All 191 releases
← All changes | restapi/REST_Lesson.php +36 -92 3.9.151.9.4 View file →
@@ -1,124 +1,68 @@
1 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 - */
2 +/*
3 +@REST API Lesson
4 +@author : themeum
5 +*/
10 6
7 +
11 8 namespace TUTOR;
12 -
13 -use WP_Query;
14 9 use WP_REST_Request;
15 10
16 -if ( ! defined( 'ABSPATH' ) ) {
17 - exit;
18 -}
11 +if(!defined('ABSPATH'))
12 +exit;
19 13
20 -/**
21 - * Class REST_Lesson
22 - */
23 14 class REST_Lesson {
24 15
25 16 use REST_Response;
26 -
27 - /**
28 - * Post type
29 - *
30 - * @var string $post_type
31 - */
17 +
32 18 private $post_type;
33 -
34 - /**
35 - * Post parent ID
36 - *
37 - * @var int $post_parent
38 - */
39 19 private $post_parent;
40 20
41 - /**
42 - * REST_Lesson constructor.
43 - */
44 21 public function __construct() {
45 22 $this->post_type = tutor()->lesson_post_type;
46 23 }
47 24
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( 'topic_id' );
25 + public function topic_lesson(WP_REST_Request $request) {
26 + $this->post_parent = $request->get_param('id');
27 + global $wpdb;
57 28
58 - if ( ! isset( $this->post_parent ) ) {
59 - $response = array(
60 - 'code' => 'not_found',
61 - 'message' => __( 'topic_id is required', 'tutor' ),
62 - 'data' => array(),
63 - );
64 - return self::send( $response );
65 - }
29 + $table = $wpdb->prefix."posts";
66 30
67 - $args = array(
68 - 'post_type' => $this->post_type,
69 - 'post_parent' => $this->post_parent,
70 - 'posts_per_page' => -1,
71 - );
72 -
73 - $lessons_query = new WP_Query( $args );
74 -
31 + $lessons = $wpdb->get_results(
32 + $wpdb->prepare("SELECT ID, post_title, post_content, post_name, (SELECT post_parent from {$table} WHERE ID = {$this->post_parent} ) as course_id FROM $table WHERE post_type = %s AND post_parent = %d", $this->post_type, $this->post_parent)
33 + );
34 +
75 35 $data = array();
76 36
77 - if ( $lessons_query->have_posts() ) {
78 - $posts = $lessons_query->get_posts();
79 - foreach ( $posts as $post ) {
80 -
81 - $lesson = new \stdClass();
82 -
83 - $lesson->ID = $post->ID;
84 - $lesson->post_title = $post->post_title;
85 - $lesson->post_content = $post->post_content;
86 - $lesson->post_name = $post->post_name;
87 - $lesson->topic_id = wp_get_post_parent_id( $lesson->ID );
88 -
89 - $attachments = array();
90 - $attachments_id = get_post_meta( $lesson->ID, '_tutor_attachments', false );
91 - if ( is_array( $attachments_id ) && count( $attachments_id ) > 0 ) {
92 - $attachments_id = $attachments_id[0];
93 -
94 - foreach ( $attachments_id as $id ) {
95 - $guid = get_the_guid( $id );
96 - array_push( $attachments, $guid );
97 - }
37 + if(count($lessons)>0) {
38 + foreach ($lessons as $lesson) {
39 + $attachments = [];
40 + $attachments_id = get_post_meta($lesson->ID,'_tutor_attachments',false);
41 + $attachments_id = $attachments_id[0];
42 + foreach($attachments_id as $id) {
43 + $guid = get_the_guid($id);
44 + array_push($attachments, $guid);
98 45 }
99 46
100 47 $lesson->attachments = $attachments;
101 - $lesson->thumbnail = get_the_post_thumbnail_url( $lesson->ID );
102 - $lesson->video = get_post_meta( $lesson->ID, '_video', false );
103 -
104 - array_push( $data, $lesson );
48 + $lesson->thumbnail = get_the_post_thumbnail_url($lesson->ID);
49 + $lesson->video = get_post_meta($lesson->ID, '_video',false);
50 + array_push($data, $lesson);
105 51 }
106 52
107 53 $response = array(
108 - 'code' => 'success',
109 - 'message' => __( 'Lesson retrieved successfully', 'tutor' ),
110 - 'data' => $data,
54 + 'status_code'=> "success",
55 + "message"=> __('Lesson retrieved successfully','tutor'),
56 + 'data'=> $data
111 57 );
112 58
113 - return self::send( $response );
59 + return self::send($response);
114 60 }
115 -
116 61 $response = array(
117 - 'code' => 'not_found',
118 - 'message' => __( 'Lesson not found for the given topic ID', 'tutor' ),
119 - 'data' => array(),
62 + 'status_code'=> "not_found",
63 + "message"=> __('Lesson not found for given topic ID','tutor'),
64 + 'data'=> []
120 65 );
121 -
122 - return self::send( $response );
123 - }
66 + return self::send($response);
67 + }
124 68 }