Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor/restapi/REST_Author.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 + /**
3 + * REST API for author details.
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_Author
21 + *
22 + * @package Tutor
23 + * @since 1.0.0
24 + */
25 + class REST_Author {
26 +
27 + use REST_Response;
28 +
29 + /**
30 + * User ID.
31 + *
32 + * @var int $user_id The ID of the user.
33 + */
34 + private $user_id;
35 +
36 + /**
37 + * Retrieve author details via REST API.
38 + *
39 + * @param WP_REST_Request $request The REST request object.
40 + *
41 + * @return mixed
42 + */
43 + public function author_detail( WP_REST_Request $request ) {
44 + $this->user_id = $request->get_param( 'id' );
45 +
46 + $user_data = get_userdata( $this->user_id );
47 +
48 + // Author object.
49 + $author = is_a( $user_data, 'WP_User' ) ? $user_data->data : false;
50 +
51 + if ( $author ) {
52 + // Unset user pass & key.
53 + unset( $author->user_pass );
54 + unset( $author->user_activation_key );
55 +
56 + // Get author course ID.
57 + $author->courses = get_user_meta( $this->user_id, '_tutor_instructor_course_id', false );
58 +
59 + $response = array(
60 + 'code' => 'success',
61 + 'message' => __( 'Author details retrieved successfully', 'tutor' ),
62 + 'data' => $author,
63 + );
64 +
65 + return self::send( $response );
66 + }
67 +
68 + $response = array(
69 + 'code' => 'invalid_id',
70 + 'message' => __( 'Author not found', 'tutor' ),
71 + 'data' => array(),
72 + );
73 +
74 + return self::send( $response );
75 + }
76 + }
77 +