BP_REST_Media_Endpoint::bbp_media_gif_update_rest_field_callback( object $object, object $value )
The function to use to update the medias’s value of the activity REST Field.
Description
Parameters
- $object
-
(Required) Topics as a object.
- $value
-
(Required) The value of the REST Field to save.
Source
File: bp-media/classes/class-bp-rest-media-endpoint.php
protected function bbp_media_gif_update_rest_field_callback( $object, $value ) {
$still = ( ! empty( $object ) && array_key_exists( 'url', $object ) ) ? $object['url'] : '';
$mp4 = ( ! empty( $object ) && array_key_exists( 'mp4', $object ) ) ? $object['mp4'] : '';
$post_id = $value->ID;
if ( ! empty( $still ) && ! empty( $mp4 ) ) {
// save activity id if it is saved in forums and enabled in platform settings.
$main_activity_id = get_post_meta( $post_id, '_bbp_activity_id', true );
$still = bp_media_sideload_attachment( $still );
$mp4 = bp_media_sideload_attachment( $mp4 );
$gdata = array(
'still' => $still,
'mp4' => $mp4,
);
update_post_meta( $post_id, '_gif_data', $gdata );
$gif_data = $gdata;
$gif_data['saved'] = true;
update_post_meta( $post_id, '_gif_raw_data', $gif_data );
// save media meta for forum.
if ( ! empty( $main_activity_id ) && bp_is_active( 'activity' ) ) {
bp_activity_update_meta( $main_activity_id, '_gif_data', $gdata );
bp_activity_update_meta( $main_activity_id, '_gif_raw_data', $gif_data );
}
} else {
delete_post_meta( $post_id, '_gif_data' );
delete_post_meta( $post_id, '_gif_raw_data' );
}
}
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.