PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.3-beta
16.3-beta 16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 All 507 releases
jetpack / json-endpoints / jetpack / class.jetpack-json-api-check-capabilities-endpoint.php

class.jetpack-json-api-check-capabilities-endpoint.php in Jetpack – WP Security, Backup, Speed, & Growth 16.3-beta, at json-endpoints/jetpack/class.jetpack-json-api-check-capabilities-endpoint.php

46 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit( 0 );
5 }
6
7 /**
8 * Check capabilities endpoint class.
9 *
10 * GET /sites/%s/me/capability
11 *
12 * @phan-constructor-used-for-side-effects
13 */
14 class Jetpack_JSON_API_Check_Capabilities_Endpoint extends Jetpack_JSON_API_Modules_Endpoint {
15 /**
16 *
17 * API callback.
18 *
19 * @param string $path - the path.
20 * @param int $_blog_id - the blog ID.
21 * @param object $object - parameter is for making the method signature compatible with its parent class method.
22 * @return bool|bool[]|WP_Error
23 */
24 public function callback( $path = '', $_blog_id = 0, $object = null ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
25 // Check minimum capability and blog membership first
26 $error = $this->validate_call( $_blog_id, 'read', false );
27 if ( is_wp_error( $error ) ) {
28 return $error;
29 }
30
31 $args = $this->input();
32
33 if ( ! isset( $args['capability'] ) || empty( $args['capability'] ) ) {
34 return new WP_Error( 'missing_capability', __( 'You are required to specify a capability to check.', 'jetpack' ), 400 );
35 }
36
37 $capability = $args['capability'];
38 if ( is_array( $capability ) ) {
39 $results = array_map( 'current_user_can', $capability );
40 return array_combine( $capability, $results );
41 } else {
42 return current_user_can( $capability );
43 }
44 }
45 }
46