BP_REST_Document_Folder_Endpoint::bp_rest_check_folder_privacy_restriction( BP_Document_Folder $folder )

Check user access based on the privacy for the single folder.

Description

Parameters

$folder

(Required) Document Folder object.

Return

(bool)

Source

File: bp-document/classes/class-bp-rest-document-folder-endpoint.php

1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
protected function bp_rest_check_folder_privacy_restriction( $folder ) {
    return (
            'onlyme' === $folder->privacy
            && bp_loggedin_user_id() !== $folder->user_id
        )
        || (
            'loggedin' === $folder->privacy
            && empty( bp_loggedin_user_id() )
        )
        || (
            bp_is_active( 'groups' )
            && 'grouponly' === $folder->privacy
            && ! empty( $folder->group_id )
            && 'public' !== bp_get_group_status( groups_get_group( $folder->group_id ) )
            && empty( groups_is_user_admin( bp_loggedin_user_id(), $folder->group_id ) )
            && empty( groups_is_user_mod( bp_loggedin_user_id(), $folder->group_id ) )
            && empty( groups_is_user_member( bp_loggedin_user_id(), $folder->group_id ) )
        )
        || (
            bp_is_active( 'friends' )
            && 'friends' === $folder->privacy
            && ! empty( $folder->user_id )
            && bp_loggedin_user_id() !== $folder->user_id
            && 'is_friend' !== friends_check_friendship_status( $folder->user_id, bp_loggedin_user_id() )
        );
}

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.