PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.7.0
Tutor LMS – eLearning and online course solution v2.7.0
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_Rating.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_Rating.php
91 lines
1 <?php
2 /**
3 * REST API for course ratings.
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_Rating
21 *
22 * @package Tutor
23 * @since 1.0.0
24 */
25 class REST_Rating {
26
27 /**
28 * Course response trait
29 *
30 * @since 1.7.1
31 */
32 use REST_Response;
33
34 /**
35 * Course ID.
36 *
37 * @since 1.7.1
38 *
39 * @var int $post_id The ID of the course.
40 */
41 private $post_id;
42
43 /**
44 * Post type for course ratings.
45 *
46 * @since 1.7.1
47 *
48 * @var string $post_type The post type for course ratings.
49 */
50 private $post_type = 'tutor_course_rating';
51
52 /**
53 * Retrieve course ratings via REST API.
54 *
55 * @since 1.7.1
56 *
57 * @param WP_REST_Request $request The REST request object.
58 *
59 * @return mixed
60 */
61 public function course_rating( WP_REST_Request $request ) {
62 $this->post_id = (int) $request->get_param( 'id' );
63 $offset = (int) sanitize_text_field( $request->get_param( 'offset' ) );
64 $limit = (int) sanitize_text_field( $request->get_param( 'limit' ) );
65
66 $offset = ! empty( $offset ) ? $offset : 0;
67 $limit = ! empty( $limit ) ? $limit : 10;
68
69 $ratings = tutor_utils()->get_course_rating( $this->post_id );
70 $ratings->reviews = tutor_utils()->get_course_reviews( $this->post_id, $offset, $limit, false, array( 'approved' ) );
71
72 if ( ! empty( $ratings ) ) {
73 $response = array(
74 'code' => 'success',
75 'message' => __( 'Course rating retrieved successfully', 'tutor' ),
76 'data' => $ratings,
77 );
78
79 return self::send( $response );
80 }
81
82 $response = array(
83 'code' => 'not_found',
84 'message' => __( 'Rating not found for given ID', 'tutor' ),
85 'data' => array(),
86 );
87
88 return self::send( $response );
89 }
90 }
91