PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 18.3
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v18.3
28.5 28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 All 129 releases
wordpress-seo / admin / endpoints / class-endpoint-file-size.php

class-endpoint-file-size.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 18.3, at admin/endpoints/class-endpoint-file-size.php

86 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WPSEO plugin file.
4 *
5 * @package WPSEO\Admin\Endpoints
6 */
7
8 /**
9 * Represents an implementation of the WPSEO_Endpoint interface to register one or multiple endpoints.
10 */
11 class WPSEO_Endpoint_File_Size implements WPSEO_Endpoint {
12
13 /**
14 * The namespace of the REST route.
15 *
16 * @var string
17 */
18 const REST_NAMESPACE = 'yoast/v1';
19
20 /**
21 * The route of the endpoint to retrieve the file size.
22 *
23 * @var string
24 */
25 const ENDPOINT_SINGULAR = 'file_size';
26
27 /**
28 * The name of the capability needed to retrieve data using the endpoints.
29 *
30 * @var string
31 */
32 const CAPABILITY_RETRIEVE = 'manage_options';
33
34 /**
35 * The service provider.
36 *
37 * @var WPSEO_File_Size_Service
38 */
39 private $service;
40
41 /**
42 * Sets the service provider.
43 *
44 * @param WPSEO_File_Size_Service $service The service provider.
45 */
46 public function __construct( WPSEO_File_Size_Service $service ) {
47 $this->service = $service;
48 }
49
50 /**
51 * Registers the routes for the endpoints.
52 *
53 * @return void
54 */
55 public function register() {
56 $route_args = [
57 'methods' => 'GET',
58 'args' => [
59 'url' => [
60 'required' => true,
61 'type' => 'string',
62 'description' => 'The url to retrieve',
63 ],
64 ],
65 'callback' => [
66 $this->service,
67 'get',
68 ],
69 'permission_callback' => [
70 $this,
71 'can_retrieve_data',
72 ],
73 ];
74 register_rest_route( self::REST_NAMESPACE, self::ENDPOINT_SINGULAR, $route_args );
75 }
76
77 /**
78 * Determines whether or not data can be retrieved for the registered endpoints.
79 *
80 * @return bool Whether or not data can be retrieved.
81 */
82 public function can_retrieve_data() {
83 return current_user_can( self::CAPABILITY_RETRIEVE );
84 }
85 }
86