Improve the handling of comma-separated mime-types in wp_match_mime_types()
, particularly as pertains to the mime-type selector on the Media list table screen.
Props mdgl. Fixes #30788. git-svn-id: https://develop.svn.wordpress.org/trunk@31042 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
efc61d054e
commit
621e909a9b
@ -75,7 +75,7 @@ class WP_Media_List_Table extends WP_List_Table {
|
||||
if ( !empty( $_GET['attachment-filter'] ) && strpos( $_GET['attachment-filter'], 'post_mime_type:' ) === 0 && wp_match_mime_types( $mime_type, str_replace( 'post_mime_type:', '', $_GET['attachment-filter'] ) ) )
|
||||
$selected = ' selected="selected"';
|
||||
if ( !empty( $num_posts[$mime_type] ) )
|
||||
$type_links[$mime_type] = '<option value="post_mime_type:' . sanitize_mime_type( $mime_type ) . '"' . $selected . '>' . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] )) . '</option>';
|
||||
$type_links[$mime_type] = '<option value="post_mime_type:' . esc_attr( $mime_type ) . '"' . $selected . '>' . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] )) . '</option>';
|
||||
}
|
||||
$type_links['detached'] = '<option value="detached"' . ( $this->detached ? ' selected="selected"' : '' ) . '>' . sprintf( _nx( 'Unattached (%s)', 'Unattached (%s)', $total_orphans, 'detached files' ), number_format_i18n( $total_orphans ) ) . '</option>';
|
||||
|
||||
|
@ -2478,11 +2478,14 @@ function wp_match_mime_types( $wildcard_mime_types, $real_mime_types ) {
|
||||
$wild = '[-._a-z0-9]*';
|
||||
|
||||
foreach ( (array) $wildcard_mime_types as $type ) {
|
||||
$regex = str_replace( '__wildcard__', $wild, preg_quote( str_replace( '*', '__wildcard__', $type ) ) );
|
||||
$patternses[1][$type] = "^$regex$";
|
||||
if ( false === strpos($type, '/') ) {
|
||||
$patternses[2][$type] = "^$regex/";
|
||||
$patternses[3][$type] = $regex;
|
||||
$mimes = array_map( 'trim', explode( ',', $type ) );
|
||||
foreach ( $mimes as $mime ) {
|
||||
$regex = str_replace( '__wildcard__', $wild, preg_quote( str_replace( '*', '__wildcard__', $mime ) ) );
|
||||
$patternses[][$type] = "^$regex$";
|
||||
if ( false === strpos( $mime, '/' ) ) {
|
||||
$patternses[][$type] = "^$regex/";
|
||||
$patternses[][$type] = $regex;
|
||||
}
|
||||
}
|
||||
}
|
||||
asort( $patternses );
|
||||
|
Loading…
Reference in New Issue
Block a user