BP_Document_Privacy::is_document_visible( bool $document_id = false )
Check if document is visible or not to the logged in user
Description
Parameters
- $document_id
-
(Optional)
Default value: false
Return
(bool|mixed|WP_Error)
Source
File: bp-document/classes/class-bp-document-privacy.php
public function is_document_visible( $document_id = false ) {
$result = bp_document_get_specific( array( 'document_ids' => $document_id ) );
if ( empty( $result['documents'] ) || empty( $result['documents'][0] ) ) {
return new WP_Error( 'no_document', __( 'There is no document.', 'buddyboss' ), array( 'status' => 500 ) );
}
$document = $result['documents'][0];
$visibility = $document->privacy;
$visible = true;
if ( bp_loggedin_user_id() != $document->user_id ) {
switch ( $visibility ) {
// Logged in users.
case 'loggedin':
if ( ! bp_loggedin_user_id() ) {
$visible = false;
}
break;
// My friends.
case 'friends':
if ( bp_is_active( 'friends' ) ) {
$is_friend = friends_check_friendship( bp_loggedin_user_id(), $document->user_id );
if ( ! $is_friend ) {
$visible = false;
}
}
break;
// Only group members.
case 'grouponly':
if ( bp_is_active( 'groups' ) ) {
$group_is_user_member = groups_is_user_member( bp_loggedin_user_id(), $document->activity_id );
if ( ! $group_is_user_member ) {
$visible = false;
}
}
break;
// Only Me.
case 'onlyme':
if ( bp_loggedin_user_id() != $document->user_id ) {
$visible = false;
}
break;
default:
// public.
break;
}
}
if ( is_super_admin() ) {
$visible = true;
}
return apply_filters( 'bp_document_is_document_visible', $visible, $visibility, $document_id );
}
Changelog
| Version | Description |
|---|---|
| BuddyBoss 1.4.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.