WordPress.org

Make WordPress Core

Ticket #24049: 24049v2.diff

File 24049v2.diff, 1.2 KB (added by MattyRob, 4 years ago)
  • wp-admin/includes/plugin.php

     
    185185function get_plugin_files($plugin) {
    186186        $plugin_file = WP_PLUGIN_DIR . '/' . $plugin;
    187187        $dir = dirname($plugin_file);
    188         $plugin_files = array($plugin);
     188        $plugin_files = array();
     189        $plugin_basedir = plugin_basename( $dir );
    189190        if ( is_dir($dir) && $dir != WP_PLUGIN_DIR ) {
    190191                $plugins_dir = @ opendir( $dir );
    191192                if ( $plugins_dir ) {
     
    198199                                                while (($subfile = readdir( $plugins_subdir ) ) !== false ) {
    199200                                                        if ( substr($subfile, 0, 1) == '.' )
    200201                                                                continue;
    201                                                         $plugin_files[] = plugin_basename("$dir/$file/$subfile");
     202                                                        $plugin_files[] = "$plugin_basedir/$file/$subfile";
    202203                                                }
    203204                                                @closedir( $plugins_subdir );
    204205                                        }
    205206                                } else {
    206                                         if ( plugin_basename("$dir/$file") != $plugin )
    207                                                 $plugin_files[] = plugin_basename("$dir/$file");
     207                                        if ( "$plugin_basedir/$file" != $plugin )
     208                                                $plugin_files[] = "$plugin_basedir/$file";
    208209                                }
    209210                        }
    210211                        @closedir( $plugins_dir );
    211212                }
    212213        }
    213 
     214        sort( $plugin_files );
     215        array_unshift( $plugin_files, $plugin );
    214216        return $plugin_files;
    215217}
    216218