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

2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
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.