WordPress.org

Make WordPress Core

Ticket #30788: 30788.diff

File 30788.diff, 2.2 KB (added by mdgl, 5 years ago)

First attempt at a fix

  • wp-admin/includes/class-wp-media-list-table.php

     
    7575                        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'] ) ) )
    7676                                $selected = ' selected="selected"';
    7777                        if ( !empty( $num_posts[$mime_type] ) )
    78                                 $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>';
     78                                $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>';
    7979                }
    8080                $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>';
    8181
  • wp-includes/post.php

     
    24782478        $wild = '[-._a-z0-9]*';
    24792479
    24802480        foreach ( (array) $wildcard_mime_types as $type ) {
    2481                 $regex = str_replace( '__wildcard__', $wild, preg_quote( str_replace( '*', '__wildcard__', $type ) ) );
    2482                 $patternses[1][$type] = "^$regex$";
    2483                 if ( false === strpos($type, '/') ) {
    2484                         $patternses[2][$type] = "^$regex/";
    2485                         $patternses[3][$type] = $regex;
     2481                $mimes = array_map( 'trim', explode( ',', $type ) );
     2482                foreach ( $mimes as $mime ) {
     2483                        $regex = str_replace( '__wildcard__', $wild, preg_quote( str_replace( '*', '__wildcard__', $mime ) ) );
     2484                        $patternses[][$type] = "^$regex$";
     2485                        if ( false === strpos($type, '/') ) {
     2486                                $patternses[][$type] = "^$regex/";
     2487                        }
    24862488                }
    24872489        }
    24882490        asort( $patternses );