bp_media_get_edit_activity_data( $activity )
Adds activity media data for the edit activity
Description
Parameters
- $activity
-
(Required)
Return
(array) $activity Returns the activity with media if media saved otherwise no media.
Source
File: bp-media/bp-media-filters.php
function bp_media_get_edit_activity_data( $activity ) { if ( ! empty( $activity['id'] ) ) { $can_edit_privacy = true; if ( bp_activity_user_can_edit() ) { $privacy = $activity['privacy']; $media_activity = ( 'media' === $privacy || ( isset( $_REQUEST['action'] ) && 'media_get_activity' === $_REQUEST['action'] ) ); $document_activity = ( 'document' === $privacy || ( isset( $_REQUEST['action'] ) && 'document_get_activity' === $_REQUEST['action'] ) ); $parent_activity_id = false; $parent_activity_permalink = false; $album_id = false; $album_url = ''; $folder_id = false; $folder_url = ''; // Get media privacy to show. if ( bp_is_active( 'media' ) ) { if ( $media_activity ) { $media_id = BP_Media::get_activity_media_id( $activity['id'] ); $media = new BP_Media( $media_id ); if ( ! empty( $media ) ) { $album_id = $media->album_id; if ( ! empty( $album_id ) ) { $album = new BP_Media_Album( $album_id ); $album_url = trailingslashit( bp_core_get_user_domain( $album->user_id ) . bp_get_media_slug() . '/albums/' . $album_id ); } else { $parent_activity_id = get_post_meta( $media->attachment_id, 'bp_media_parent_activity_id', true ); $parent_activity_permalink = bp_activity_get_permalink( $parent_activity_id ); } } } if ( $document_activity ) { $document_id = BP_Document::get_activity_document_id( $activity['id'] ); $document = new BP_Document( $document_id ); if ( ! empty( $document ) ) { $folder_id = $document->folder_id; if ( ! empty( $folder_id ) ) { $folder_id = bp_document_get_root_parent_id( $folder_id ); $folder = new BP_Document_Folder( $folder_id ); $folder_url = trailingslashit( bp_core_get_user_domain( $folder->user_id ) . bp_get_document_slug() . '/folders/' . $folder_id ); } else { $parent_activity_id = get_post_meta( $document->attachment_id, 'bp_document_parent_activity_id', true ); $parent_activity_permalink = bp_activity_get_permalink( $parent_activity_id ); } } } $activity_album_id = bp_activity_get_meta( $activity['id'], 'bp_media_album_activity', true ); if ( ! empty( $activity_album_id ) ) { $album_id = $activity_album_id; $album = new BP_Media_Album( $album_id ); $album_url = trailingslashit( bp_core_get_user_domain( $album->user_id ) . bp_get_media_slug() . '/albums/' . $album_id ); $media_activity = true; } $activity_folder_id = bp_activity_get_meta( $activity['id'], 'bp_document_folder_activity', true ); if ( ! empty( $activity_folder_id ) ) { $folder_id = $activity_folder_id; $folder_id = bp_document_get_root_parent_id( $folder_id ); $folder = new BP_Document_Folder( $folder_id ); $folder_url = trailingslashit( bp_core_get_user_domain( $folder->user_id ) . bp_get_document_slug() . '/folders/' . $folder_id ); $document_activity = true; } } if ( $media_activity && ( ( $parent_activity_id && $parent_activity_permalink ) || ( $album_id && ! empty( $album_url ) ) ) ) { $can_edit_privacy = false; } elseif ( $document_activity && ( ( $parent_activity_id && $parent_activity_permalink ) || ( $folder_id && ! empty( $folder_url ) ) ) ) { $can_edit_privacy = false; } } // Fetch media ids of activity. $media_ids = bp_activity_get_meta( $activity['id'], 'bp_media_ids', true ); if ( ! empty( $media_ids ) ) { $activity['media'] = array(); $media_ids = explode( ',', $media_ids ); foreach( $media_ids as $media_id ) { $media = new BP_Media( $media_id ); $activity['media'][] = array( 'id' => $media_id, 'attachment_id' => $media->attachment_id, 'thumb' => wp_get_attachment_image_url( $media->attachment_id, 'bp-media-thumbnail' ), 'url' => wp_get_attachment_image_url( $media->attachment_id, 'full' ), 'name' => $media->title, 'group_id' => $media->group_id, 'album_id' => $media->album_id, 'activity_id' => $media->activity_id, 'saved' => true, 'menu_order' => $media->menu_order, 'can_edit_privacy' => $can_edit_privacy, ); } } // Fetch document ids of activity. $document_ids = bp_activity_get_meta( $activity['id'], 'bp_document_ids', true ); if ( ! empty( $document_ids ) ) { $activity['document'] = array(); $document_ids = explode( ',', $document_ids ); foreach( $document_ids as $document_id ) { $document = new BP_Document( $document_id ); $activity['document'][] = array( 'id' => $document_id, 'doc_id' => $document->attachment_id, 'name' => $document->title, 'group_id' => $document->group_id, 'folder_id' => $document->folder_id, 'activity_id' => $document->activity_id, 'type' => 'document', 'url' => wp_get_attachment_url( $document->attachment_id ), 'size' => filesize( get_attached_file( ( $document->attachment_id ) ) ), 'saved' => true, 'menu_order' => $document->menu_order, 'can_edit_privacy' => $can_edit_privacy, ); } } // Fetch gif data for the activity. $gif_data = bp_activity_get_meta( $activity['id'], '_gif_data', true ); if ( ! empty( $gif_data ) ) { $gif_raw_data = (array) bp_activity_get_meta( $activity['id'], '_gif_raw_data', true ); $gif_raw_data['bp_gif_current_data'] = '1'; $activity['gif'] = $gif_raw_data; } } return $activity; }
Changelog
Version | Description |
---|---|
BuddyBoss 1.5.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.