array( 'url' => $media_item['url'], ), ) ); $media_item['post'] = get_post( $media_id ); } return array( 'media' => $media ); } /** * @param array $request * * @return bool */ public function update_videopress_media_item( $request ) { $id = $request['post_id']; $status = $request['status']; $format = $request['format']; $info = $request['info']; if ( ! $attachment = get_post( $id ) ) { return false; } $attachment->guid = $info['original']; wp_update_post( $attachment ); // Update the vp guid and set it to a direct meta property. update_post_meta( $id, 'videopress_guid', $info['guid'] ); $meta = wp_get_attachment_metadata( $id ); $meta['width'] = $info['width']; $meta['height'] = $info['height']; $meta['original']['url'] = $info['original']; $meta['videopress'] = $info; $meta['videopress']['url'] = 'https://videopress.com/v/' . $info['guid']; // Update file statuses $valid_formats = array( 'hd', 'ogg', 'mp4', 'dvd' ); if ( in_array( $format, $valid_formats ) ) { $meta['file_statuses'][ $format ] = $status; } if ( ! get_post_meta( $id, '_thumbnail_id', true ) ) { // Update the poster in the VideoPress info. $thumbnail_id = videopress_download_poster_image( $info['poster'], $id ); if ( is_int( $thumbnail_id ) ) { update_post_meta( $id, '_thumbnail_id', $thumbnail_id ); } } wp_update_attachment_metadata( $id, $meta ); videopress_update_meta_data( $id ); // update the meta to tell us that we're processing or complete update_post_meta( $id, 'videopress_status', videopress_is_finished_processing( $id ) ? 'complete' : 'processing' ); return true; } /** * @param array $request * @return bool */ public function update_poster_image( $request ) { $post_id = $request['post_id']; $poster = $request['poster']; if ( ! $attachment = get_post( $post_id ) ) { return false; } // We add ssl => 1 to make sure that the videos.files.wordpress.com domain is parsed as photon. $poster = apply_filters( 'jetpack_photon_url', $poster, array( 'ssl' => 1 ), 'https' ); $meta = wp_get_attachment_metadata( $post_id ); $meta['videopress']['poster'] = $poster; wp_update_attachment_metadata( $post_id, $meta ); // Update the poster in the VideoPress info. $thumbnail_id = videopress_download_poster_image( $poster, $post_id ); if ( ! is_int( $thumbnail_id ) ) { return false; } update_post_meta( $post_id, '_thumbnail_id', $thumbnail_id ); return true; } }