<?php /** * Envato Elements: Options * * Making option management a bit easier for us. * * @package Envato/Envato_Elements * @since 2.0.0 */ namespace Envato_Elements\API; use Envato_Elements\Utils\Base; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * API base class * * @since 2.0.0 */ abstract class API extends Base { public function __construct() { $this->register_api_endpoints(); } public function rest_permission_check( $request ) { return current_user_can( 'edit_posts' ) && current_user_can( 'upload_files' ); } public function register_endpoint( $endpoint, $callback ){ register_rest_route( ENVATO_ELEMENTS_API_NAMESPACE, $endpoint, [ [ 'methods' => \WP_REST_Server::CREATABLE, 'callback' => $callback, 'permission_callback' => [ $this, 'rest_permission_check' ], 'args' => [], ], ] ); } /** * @param array $data * * @return \WP_REST_Response */ public function format_success($data) { return new \WP_REST_Response( $data, 200 ); } /** * @param $endpoint * @param $error_code * @param $error_message * @param array $additional_data * * @return \WP_REST_Response */ public function format_error($endpoint, $error_code, $error_message, $additional_data = []){ return new \WP_REST_Response( [ 'error' => [ 'context' => $endpoint, 'code' => $error_code, 'message' => $error_message, 'data' => $additional_data, ] ], 500 ); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
class-api.php | File | 1.5 KB | 0644 |
|
class-banners.php | File | 1.09 KB | 0644 |
|
class-photos-import.php | File | 5.98 KB | 0644 |
|
class-photos-search.php | File | 1.8 KB | 0644 |
|
class-project-name.php | File | 1.09 KB | 0644 |
|
class-requirements.php | File | 9.78 KB | 0644 |
|
class-settings.php | File | 12.62 KB | 0644 |
|
class-subscription-api.php | File | 2.05 KB | 0644 |
|
class-template-kit-import.php | File | 16.31 KB | 0644 |
|
class-template-kit-install.php | File | 8.65 KB | 0644 |
|
class-template-kit-search.php | File | 4.73 KB | 0644 |
|