BP_REST_Groups_Details_Endpoint::get_item_permissions_check( WP_REST_Request $request )
Check if a given request has access to group details.
Description
Parameters
- $request
-
(Required) Full details about the request.
Return
(bool|WP_Error)
Source
File: bp-groups/classes/class-bp-rest-groups-details-endpoint.php
371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 | public function get_item_permissions_check( $request ) { $retval = true; if ( function_exists( 'bp_enable_private_network' ) && true !== bp_enable_private_network() && ! is_user_logged_in() ) { $retval = new WP_Error( 'bp_rest_authorization_required' , __( 'Sorry, Restrict access to only logged-in members.' , 'buddyboss' ), array ( 'status' => rest_authorization_required_code(), ) ); } if ( true === $retval && ! bp_is_active( 'groups' ) ) { $retval = new WP_Error( 'bp_rest_component_required' , __( 'Sorry, Groups component was not enabled.' , 'buddyboss' ), array ( 'status' => '404' , ) ); } $group = $this ->groups_endpoint->get_group_object( $request ); if ( true === $retval && empty ( $group ->id ) ) { $retval = new WP_Error( 'bp_rest_group_invalid_id' , __( 'Invalid group ID.' , 'buddyboss' ), array ( 'status' => 404, ) ); } if ( true === $retval && ! is_user_logged_in() && ( 'private' === bp_get_group_status( $group ) || 'hidden' === bp_get_group_status( $group ) ) ) { $retval = new WP_Error( 'bp_rest_authorization_required' , __( 'Sorry, you are not allowed to view group tabs.' , 'buddyboss' ), array ( 'status' => rest_authorization_required_code(), ) ); } /** * Filter the group detail permissions check. * * @param bool|WP_Error $retval Returned value. * @param WP_REST_Request $request The request sent to the API. * * @since 0.1.0 */ return apply_filters( 'bp_rest_group_details_get_items_permissions_check' , $retval , $request ); } |
Changelog
Version | Description |
---|---|
0.1.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.