bp_document_attach_document_to_message( $message )

Attach document to the message object.

Description

Parameters

$message

(Required)

Source

File: bp-document/bp-document-filters.php

function bp_document_attach_document_to_message( &$message ) {

	if ( bp_is_messages_document_support_enabled() && ! empty( $message->id ) && ! empty( $_POST['document'] ) ) {

		remove_action( 'bp_document_add', 'bp_activity_document_add', 9 );
		remove_filter( 'bp_document_add_handler', 'bp_activity_create_parent_document_activity', 9 );

		$document_list = $_POST['document'];
		$document_ids  = array();

		foreach ( $document_list as $document_index => $document ) {
			$title         = ! empty( $document['name'] ) ? $document['name'] : ' ';
			$attachment_id = ! empty( $document['id'] ) ? $document['id'] : 0;
			$menu_order	   = ! empty( $document['menu_order'] ) ? $document['menu_order'] : 0;

			$attachment_data = get_post( $document['id'] );
			$file            = get_attached_file( $document['id'] );
			$file_type       = wp_check_filetype( $file );
			$file_name       = basename( $file );

			$document_id = bp_document_add(
				array(
					'attachment_id' => $attachment_id,
					'title'         => $title,
					'privacy'       => 'message',
					'error_type'    => 'wp_error',
					'menu_order'    => $menu_order,
				)
			);

			if ( ! empty( $document_id ) && ! is_wp_error( $document_id ) ) {
				$document_ids[] = $document_id;

				// save document meta.
				bp_document_update_meta( $document_id, 'file_name', $file_name );
				bp_document_update_meta( $document_id, 'thread_id', $message->thread_id );
				bp_document_update_meta( $document_id, 'extension', '.' . $file_type['ext'] );

				// save document is saved in attachment.
				update_post_meta( $attachment_id, 'bp_document_saved', true );
			}
		}

		$document_ids = implode( ',', $document_ids );

		// save document meta for message.
		bp_messages_update_meta( $message->id, 'bp_document_ids', $document_ids );

		add_action( 'bp_document_add', 'bp_activity_document_add', 9 );
		add_filter( 'bp_document_add_handler', 'bp_activity_create_parent_document_activity', 9 );
	}
}

Changelog

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.