bp_activity_edit_update_document( $document_ids )
Update document and activity for document updation and deletion while editing the activity.
Description
Parameters
- $document_ids
-
(Required)
Return
(mixed)
Source
File: bp-activity/bp-activity-filters.php
function bp_activity_edit_update_document( $document_ids ) { global $bp_activity_edit, $bp_activity_post_update_id; if ( ( true === $bp_activity_edit || isset( $_POST['edit'] ) ) && ! empty( $bp_activity_post_update_id ) ) { $old_document_ids = bp_activity_get_meta( $bp_activity_post_update_id, 'bp_document_ids', true ); $old_document_ids = explode( ',', $old_document_ids ); if ( ! empty( $old_document_ids ) ) { // old document count 1 and new document uploaded count is greater than 1. if ( 1 === count( $old_document_ids ) && 1 < count( $document_ids ) ) { $old_document_id = $old_document_ids[0]; // check if old document id is in new document uploaded. if ( in_array( $old_document_id, $document_ids ) ) { // Create new document activity for old document because it has only parent activity to show right now. $old_document = new BP_Document( $old_document_id ); $args = array( 'hide_sitewide' => true, 'privacy' => 'document' ); if ( ! empty( $old_document->group_id ) && bp_is_active( 'groups' ) ) { $args['item_id'] = $old_document->group_id; $args['type'] = 'activity_update'; $current_group = groups_get_group( $old_document->group_id ); $args['action'] = sprintf( __( '%1$s posted an update in the group %2$s', 'buddyboss' ), bp_core_get_userlink( $old_document->user_id ), '<a href="' . bp_get_group_permalink( $current_group ) . '">' . esc_attr( $current_group->name ) . '</a>' ); $activity_id = groups_record_activity( $args ); } else { $activity_id = bp_activity_post_update( $args ); } // document activity for old document is created and it is being assigned to the old document. // And document activity is being saved with needed data to figure out everything for it. if ( $activity_id ) { $old_document->activity_id = $activity_id; $old_document->save(); $document_activity = new BP_Activity_Activity( $activity_id ); $document_activity->secondary_item_id = $bp_activity_post_update_id; $document_activity->save(); // update activity meta to tell it is document activity. bp_activity_update_meta( $activity_id, 'bp_document_activity', '1' ); // save attachment meta for activity. update_post_meta( $old_document->attachment_id, 'bp_document_activity_id', $activity_id ); //save parent activity id in attachment meta. update_post_meta( $old_document->attachment_id, 'bp_document_parent_activity_id', $bp_activity_post_update_id ); } } // old document count is greater than 1 and new document uploaded count is only 1 now. } else if ( 1 < count( $old_document_ids ) && 1 === count( $document_ids ) ) { $new_document_id = $document_ids[0]; // check if new document is in old document uploaded, if yes then delete that document's document activity first. if ( in_array( $new_document_id, $old_document_ids ) ) { $new_document = new BP_Document( $new_document_id ); $document_activity_id = $new_document->activity_id; // delete document's assigned document activity. remove_action( 'bp_activity_after_delete', 'bp_document_delete_activity_document' ); bp_activity_delete( array( 'id' => $document_activity_id ) ); add_action( 'bp_activity_after_delete', 'bp_document_delete_activity_document' ); //save parent activity id in document. $new_document->activity_id = $bp_activity_post_update_id; $new_document->save(); //save parent activity id in attachment meta. update_post_meta( $new_document->attachment_id, 'bp_document_parent_activity_id', $bp_activity_post_update_id ); } } } } return $document_ids; }
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.