bp_nouveau_get_edit_activity_data()

Get the Activity edit data.

Description

Return

(string) The Activity edit data.

Source

File: bp-templates/bp-nouveau/includes/activity/template-tags.php

function bp_nouveau_get_edit_activity_data() {
	global $activities_template;


	$can_edit_privacy = true;
	$album_id         = 0;
	$folder_id        = 0;
	$group_id         = 0;

	if ( bp_activity_user_can_edit() ) {

		$privacy                   = bp_get_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_url                 = '';
		$folder_url                = '';

		// Get media privacy to show.
		if ( bp_is_active( 'media' ) ) {
			if ( $media_activity ) {
				$media_id = BP_Media::get_activity_media_id( bp_get_activity_id() );
				$media    = new BP_Media( $media_id );
				if ( ! empty( $media ) ) {
					$album_id = $media->album_id;
					$group_id = $media->group_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( bp_get_activity_id() );
				$document    = new BP_Document( $document_id );
				if ( ! empty( $document ) ) {
					$folder_id = $document->folder_id;
					$group_id  = $document->group_id;
					if ( ! empty( $folder_id ) ) {
						$folder     = new BP_Document_Folder( $folder_id );
						$folder_id_url  = bp_document_get_root_parent_id( $folder_id );
						$folder_url = trailingslashit( bp_core_get_user_domain( $folder->user_id ) . bp_get_document_slug() . '/folders/' . $folder_id_url );
					} 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( bp_get_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( bp_get_activity_id(), 'bp_document_folder_activity', true );
			if ( ! empty( $activity_folder_id ) ) {
				$folder_id         = $activity_folder_id;
				$folder_id_url     = 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_url );
				$document_activity = true;
			}
		}

		if ( $media_activity && empty( $group_id ) && $parent_activity_id ) {
			$parent_activity = new BP_Activity_Activity( $parent_activity_id );

			if ( ! empty( $parent_activity->id ) ) {
				$group_id = $parent_activity->item_id;
			}
		}

		if ( $document_activity && empty( $group_id ) && $parent_activity_id ) {
			$parent_activity = new BP_Activity_Activity( $parent_activity_id );

			if ( ! empty( $parent_activity->id ) ) {
				$group_id = $parent_activity->item_id;
			}
		}

		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;
		}

	}

	$activity = apply_filters(
			'bp_nouveau_get_edit_activity_data',
			array(
				'id'               => bp_get_activity_id(),
				'can_edit_privacy' => $can_edit_privacy,
				'album_id'         => $album_id,
				'group_id'         => $group_id,
				'folder_id'        => $folder_id,
				'content'          => stripslashes( $activities_template->activity->content ),
				'item_id'          => bp_get_activity_item_id(),
				'object'           => bp_get_activity_object_name(),
				'privacy'          => bp_get_activity_privacy(),
			) );

	/**
	 * Filter here to edit the activity edit data.
	 *
	 * @since BuddyBoss 1.5.0
	 *
	 * @param json $activity The Activity edit data.
	 */
	return htmlentities( wp_json_encode( $activity ) );
}

Changelog

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.