BP_REST_Topics_Endpoint::update_item_permissions_check( WP_REST_Request $request )
Check if a given request has access to update a topic.
Description
Parameters
- $request
-
(Required) Full data about the request.
Return
(bool|WP_Error)
Source
File: bp-forums/classes/class-bp-rest-topics-endpoint.php
1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 | public function update_item_permissions_check( $request ) { $retval = true; if ( ! is_user_logged_in() && ! bbp_allow_anonymous() ) { $retval = new WP_Error( 'bp_rest_authorization_required' , __( 'Sorry, you need to be logged in to update a topic.' , 'buddyboss' ), array ( 'status' => rest_authorization_required_code(), ) ); } if ( true === $retval ) { $retval = $this ->get_item_permissions_check( $request ); } if ( true === $retval ) { $topic = get_post( $request [ 'id' ] ); if ( bbp_get_user_id( 0, true, true ) !== $topic ->post_author && ! current_user_can( 'delete_topic' , $request [ 'id' ] ) ) { $retval = new WP_Error( 'bp_rest_authorization_required' , __( 'Sorry, you are not allowed to update this topic.' , 'buddyboss' ), array ( 'status' => rest_authorization_required_code(), ) ); } } /** * Filter the topic `update_item` 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_topic_update_item_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.