From 3491bfc7e50f5b2bd034667ccf0a987ec5d54046 Mon Sep 17 00:00:00 2001 From: Gary Pendergast Date: Fri, 26 Apr 2019 00:43:50 +0000 Subject: [PATCH] Media: Revert [44947]. `get_available_post_mime_types()` uses a query that's extremely slow on sites with lots of posts. The original fix can be revisited after those performance issues are tackled. See #43658. git-svn-id: https://develop.svn.wordpress.org/trunk@45270 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/media.php | 10 +------ tests/phpunit/tests/functions.php | 47 ------------------------------- 2 files changed, 1 insertion(+), 56 deletions(-) diff --git a/src/wp-includes/media.php b/src/wp-includes/media.php index 35ab3d8c4c..743e8d7e83 100644 --- a/src/wp-includes/media.php +++ b/src/wp-includes/media.php @@ -3576,18 +3576,10 @@ function wp_enqueue_media( $args = array() ) { $month_year->text = sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month_year->month ), $month_year->year ); } - // Filter to show only available mime types. - $avail_post_mime_types = get_available_post_mime_types( 'attachment' ); - $mimeTypes = wp_list_pluck( get_post_mime_types(), 0 ); - foreach ( $mimeTypes as $mime_type => $label ) { - if ( ! wp_match_mime_types( $mime_type, $avail_post_mime_types ) ) { - unset( $mimeTypes[ $mime_type ] ); - } - } $settings = array( 'tabs' => $tabs, 'tabUrl' => add_query_arg( array( 'chromeless' => true ), admin_url( 'media-upload.php' ) ), - 'mimeTypes' => $mimeTypes, + 'mimeTypes' => wp_list_pluck( get_post_mime_types(), 0 ), /** This filter is documented in wp-admin/includes/media.php */ 'captions' => ! apply_filters( 'disable_captions', '' ), 'nonce' => array( diff --git a/tests/phpunit/tests/functions.php b/tests/phpunit/tests/functions.php index 7c1c97ce8a..88b9a46475 100644 --- a/tests/phpunit/tests/functions.php +++ b/tests/phpunit/tests/functions.php @@ -465,53 +465,6 @@ class Tests_Functions extends WP_UnitTestCase { $this->assertNotEmpty( $mimes ); } - /** - * Test that the media grid uses the correct available single media type. - * @ticket 43658 - */ - function test_wp_enqueue_media_single_mime_type() { - $filename = DIR_TESTDATA . '/images/test-image.jpg'; - $contents = file_get_contents( $filename ); - $upload = wp_upload_bits( basename( $filename ), null, $contents ); - $attachment_id = $this->_make_attachment( $upload ); - - add_filter( - 'media_view_settings', - function( $settings ) { - $this->assertEquals( array( 'image' ), array_keys( $settings['mimeTypes'] ) ); - return $settings; - } - ); - wp_enqueue_media(); - remove_all_filters( 'media_view_settings' ); - } - - /** - * Test that the media grid uses the correct available multiple media types. - * @ticket 43658 - */ - function test_wp_enqueue_media_multiple_mime_types() { - $filename = DIR_TESTDATA . '/images/test-image.jpg'; - $contents = file_get_contents( $filename ); - $upload = wp_upload_bits( basename( $filename ), null, $contents ); - $attachment_id = $this->_make_attachment( $upload ); - - $filename = DIR_TESTDATA . '/uploads/small-audio.mp3'; - $contents = file_get_contents( $filename ); - $upload = wp_upload_bits( basename( $filename ), null, $contents ); - $attachment_id = $this->_make_attachment( $upload ); - - add_filter( - 'media_view_settings', - function( $settings ) { - $this->assertEquals( array( 'image', 'audio' ), array_keys( $settings['mimeTypes'] ) ); - return $settings; - } - ); - wp_enqueue_media(); - remove_all_filters( 'media_view_settings' ); - } - /** * @ticket 21594 */