PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 12.0.3
Jetpack – WP Security, Backup, Speed, & Growth v12.0.3
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 13.8.3 All 506 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 12.0.3, at json-endpoints/jetpack/class.jetpack-json-api-check-capabilities-endpoint.php

40 lines 1.3 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 /**
4 * Check capabilities endpoint class.
5 *
6 * GET /sites/%s/me/capability
7 */
8 class Jetpack_JSON_API_Check_Capabilities_Endpoint extends Jetpack_JSON_API_Modules_Endpoint {
9 /**
10 *
11 * API callback.
12 *
13 * @param string $path - the path.
14 * @param int $_blog_id - the blog ID.
15 * @param obj $object - parameter is for making the method signature compatible with its parent class method.
16 * @return bool|bool[]|WP_Error
17 */
18 public function callback( $path = '', $_blog_id = 0, $object = null ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
19 // Check minimum capability and blog membership first
20 $error = $this->validate_call( $_blog_id, 'read', false );
21 if ( is_wp_error( $error ) ) {
22 return $error;
23 }
24
25 $args = $this->input();
26
27 if ( ! isset( $args['capability'] ) || empty( $args['capability'] ) ) {
28 return new WP_Error( 'missing_capability', __( 'You are required to specify a capability to check.', 'jetpack' ), 400 );
29 }
30
31 $capability = $args['capability'];
32 if ( is_array( $capability ) ) {
33 $results = array_map( 'current_user_can', $capability );
34 return array_combine( $capability, $results );
35 } else {
36 return current_user_can( $capability );
37 }
38 }
39 }
40