function get_media_item($media_id)
{
$media_item = get_post($media_id);
if (!$media_item || is_wp_error($media_item)) {
return new WP_Error('unknown_media', 'Unknown Media', 404);
}
$response = array('id' => strval($media_item->ID), 'date' => (string) $this->format_date($media_item->post_date_gmt, $media_item->post_date), 'parent' => $media_item->post_parent, 'link' => wp_get_attachment_url($media_item->ID), 'title' => $media_item->post_title, 'caption' => $media_item->post_excerpt, 'description' => $media_item->post_content, 'metadata' => wp_get_attachment_metadata($media_item->ID));
if (defined('IS_WPCOM') && IS_WPCOM && is_array($response['metadata']) && !empty($response['metadata']['file'])) {
remove_filter('_wp_relative_upload_path', 'wpcom_wp_relative_upload_path', 10);
$response['metadata']['file'] = _wp_relative_upload_path($response['metadata']['file']);
add_filter('_wp_relative_upload_path', 'wpcom_wp_relative_upload_path', 10, 2);
}
$response['meta'] = (object) array('links' => (object) array('self' => (string) $this->links->get_media_link($this->api->get_blog_id_for_output(), $media_id), 'help' => (string) $this->links->get_media_link($this->api->get_blog_id_for_output(), $media_id, 'help'), 'site' => (string) $this->links->get_site_link($this->api->get_blog_id_for_output())));
return (object) $response;
}