Make WordPress Core


Ignore:
Timestamp:
02/22/2009 08:05:11 PM (17 years ago)
Author:
ryan
Message:

Allow editing all of a plugin's files. see #6732

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/plugin.php

    r10594 r10627  
    9999        if ( $markup || $translate )
    100100                $plugin_data = _get_plugin_data_markup_translate($plugin_data, $markup, $translate);
     101
    101102        return $plugin_data;
    102103}
     
    139140
    140141        return $plugin_data;
     142}
     143
     144/**
     145 * Get a list of a plugin's files.
     146 *
     147 * @since 2.8.0
     148 *
     149 * @param string $plugin Plugin ID
     150 * @return array List of files relative to the plugin root.
     151 */
     152function get_plugin_files($plugin) {
     153        $plugin_file = WP_PLUGIN_DIR . '/' . $plugin;
     154        $dir = dirname($plugin_file);
     155        $plugin_files = array($plugin);
     156        if ( is_dir($dir) && $dir != WP_PLUGIN_DIR ) {
     157                $plugins_dir = @ opendir( $dir );
     158                if ( $plugins_dir ) {
     159                        while (($file = readdir( $plugins_dir ) ) !== false ) {
     160                                if ( substr($file, 0, 1) == '.' )
     161                                        continue;
     162                                if ( is_dir( $dir . '/' . $file ) ) {
     163                                        $plugins_subdir = @ opendir( $dir . '/' . $file );
     164                                        if ( $plugins_subdir ) {
     165                                                while (($subfile = readdir( $plugins_subdir ) ) !== false ) {
     166                                                        if ( substr($subfile, 0, 1) == '.' )
     167                                                                continue;
     168                                                        $plugin_files[] = plugin_basename("$dir/$file/$subfile");
     169                                                }
     170                                                @closedir( $plugins_subdir );
     171                                        }
     172                                } else {
     173                                        if ( plugin_basename("$dir/$file") != $plugin )
     174                                                $plugin_files[] = plugin_basename("$dir/$file");
     175                                }
     176                        }
     177                        @closedir( $plugins_dir );
     178                }
     179        }
     180
     181        return $plugin_files;
    141182}
    142183
Note: See TracChangeset for help on using the changeset viewer.