Make WordPress Core

Ticket #26957: 26957.3.diff

File 26957.3.diff, 7.4 KB (added by kpdesign, 11 years ago)

Third pass

  • src/wp-admin/includes/class-wp-plugins-list-table.php

     
    3939                global $status, $plugins, $totals, $page, $orderby, $order, $s;
    4040
    4141                wp_reset_vars( array( 'orderby', 'order', 's' ) );
    42 
    4342                $plugins = array(
     43                        /**
     44                         * Filter the full array of WP_Plugin objects to list in the plugins list table.
     45                         *
     46                         * @since 3.0.0
     47                         *
     48                         * @param array $plugins An array of WP_Plugin objects to display in the list table.
     49                         */
    4450                        'all' => apply_filters( 'all_plugins', get_plugins() ),
    4551                        'search' => array(),
    4652                        'active' => array(),
     
    5460                $screen = $this->screen;
    5561
    5662                if ( ! is_multisite() || ( $screen->in_admin( 'network' ) && current_user_can( 'manage_network_plugins' ) ) ) {
     63                        /**
     64                         * Filter whether to display the advanced plugins list table.
     65                         *
     66                         * There are two types of advanced plugins - must-use and drop-ins -
     67                         * which can be used in a single site, or in a Multisite network.
     68                         *
     69                         * The first time the filter is evaluated determines whether to show the
     70                         * list of must-use plugins.
     71                         *
     72                         * The second time the filter is evaluated determines whether to show the
     73                         * list of drop-in plugins.
     74                         *
     75                         * @since 3.0.0
     76                         *
     77                         * @param bool   $show Whether to show the advanced plugins for the specified
     78                         *                     plugin type. Default true.
     79                         * @param string $type The plugin type. Accepts 'mustuse', 'dropins'.
     80                         */
    5781                        if ( apply_filters( 'show_advanced_plugins', true, 'mustuse' ) )
    5882                                $plugins['mustuse'] = get_mu_plugins();
     83
     84                        /** This action is documented in wp-admin/includes/class-wp-plugins-list-table.php */
    5985                        if ( apply_filters( 'show_advanced_plugins', true, 'dropins' ) )
    6086                                $plugins['dropins'] = get_dropins();
    6187
     
    362388                } // end if $context
    363389
    364390                $prefix = $screen->in_admin( 'network' ) ? 'network_admin_' : '';
     391
     392                /**
     393                 * Filter the action links displayed for each plugin in the plugins list table.
     394                 *
     395                 * The dynamic portion of the hook name, $prefix, refers to the context the
     396                 * action links are displayed in. The 'network_admin_' prefix is used if the
     397                 * current screen is the Network plugins list table (wp-admin/network/plugins.php).
     398                 * The prefix is empty ('') if the current screen is the site plugins list
     399                 * table (wp-admin/plugins.php).
     400                 *
     401                 * The default action links for the Network plugins list table include
     402                 * 'Network Activate', 'Network Deactivate', 'Edit', and 'Delete'.
     403                 *
     404                 * The default action links for the site plugins list table include
     405                 * 'Activate', 'Deactivate', and 'Edit', for a network site, and
     406                 * 'Activate', 'Deactivate', 'Edit', and 'Delete' for a single site.
     407                 *
     408                 * @since 3.1.0
     409                 *
     410                 * @param array  $actions     An array of action links.
     411                 * @param string $plugin_file Path to the plugin file.
     412                 * @param array  $plugin_data An array of plugin data.
     413                 * @param string $context     The plugin context. Defaults are 'All', 'Active',
     414                 *                            'Inactive', 'Recently Activated', 'Upgrade',
     415                 *                            'Must-Use', 'Drop-ins', 'Search'.
     416                 */
    365417                $actions = apply_filters( $prefix . 'plugin_action_links', array_filter( $actions ), $plugin_file, $plugin_data, $context );
     418
     419                /**
     420                 * Filter the list of action links displayed for the specified plugin.
     421                 *
     422                 * The first dynamic portion of the hook name, $prefix, refers to the context
     423                 * the action links are displayed in. The 'network_admin_' prefix is used if the
     424                 * current screen is the Network plugins list table (wp-admin/network/plugins.php).
     425                 * The prefix is empty ('') if the current screen is the site plugins list
     426                 * table (wp-admin/plugins.php).
     427                 *
     428                 * The second dynamic portion of the hook name, $plugin_file, refers to the path
     429                 * to the plugin file, relative to the plugins directory.
     430                 *
     431                 * @since 3.1.0
     432                 *
     433                 * @param array  $actions     An array of action links.
     434                 * @param string $plugin_file Path to the plugin file.
     435                 * @param array  $plugin_data An array of plugin data.
     436                 * @param string $context     The plugin context. Defaults are 'All', 'Active',
     437                 *                            'Inactive', 'Recently Activated', 'Upgrade',
     438                 *                            'Must-Use', 'Drop-ins', 'Search'.
     439                 */
    366440                $actions = apply_filters( $prefix . "plugin_action_links_$plugin_file", $actions, $plugin_file, $plugin_data, $context );
    367441
    368442                $class = $is_active ? 'active' : 'inactive';
     
    417491                                        if ( ! empty( $plugin_data['PluginURI'] ) )
    418492                                                $plugin_meta[] = '<a href="' . $plugin_data['PluginURI'] . '" title="' . esc_attr__( 'Visit plugin site' ) . '">' . __( 'Visit plugin site' ) . '</a>';
    419493
     494                                        /**
     495                                         * Filter the array of row meta for each plugin in the plugins
     496                                         * list table.
     497                                         *
     498                                         * @since 2.8.0
     499                                         *
     500                                         * @param array  $plugin_meta An array of the plugin's metadata,
     501                                         *                            including the version, author,
     502                                         *                            author URI, and plugin URI.
     503                                         * @param string $plugin_file Path to the plugin file.
     504                                         * @param array  $plugin_data An array of plugin data.
     505                                         * @param string $status      Status of the plugin. Defaults are 'All',
     506                                         *                            'Active', 'Inactive', 'Recently Activated',
     507                                         *                            'Upgrade', 'Must-Use', 'Drop-ins', 'Search'.
     508                                         */
    420509                                        $plugin_meta = apply_filters( 'plugin_row_meta', $plugin_meta, $plugin_file, $plugin_data, $status );
    421510                                        echo implode( ' | ', $plugin_meta );
    422511
     
    424513                                        break;
    425514                                default:
    426515                                        echo "<td class='$column_name column-$column_name'$style>";
     516
     517                                        /**
     518                                         * Fires inside each custom column of the plugins list table.
     519                                         *
     520                                         * @since 3.1.0
     521                                         *
     522                                         * @param string $column_name Name of the column.
     523                                         * @param string $plugin_file Path to the plugin file.
     524                                         * @param array  $plugin_data An array of plugin data.
     525                                         */
    427526                                        do_action( 'manage_plugins_custom_column', $column_name, $plugin_file, $plugin_data );
    428527                                        echo "</td>";
    429528                        }
     
    431530
    432531                echo "</tr>";
    433532
     533                /**
     534                 * Fires after each row in the plugins list table.
     535                 *
     536                 * @since 2.3.0
     537                 *
     538                 * @param string $plugin_file Path to the plugin file.
     539                 * @param array  $plugin_data An array of plugin data.
     540                 * @param string $status      Status of the plugin. Defaults are 'All',
     541                 *                            'Active', 'Inactive', 'Recently Activated',
     542                 *                            'Upgrade', 'Must-Use', 'Drop-ins', 'Search'.
     543                 */
    434544                do_action( 'after_plugin_row', $plugin_file, $plugin_data, $status );
     545
     546                /**
     547                 * Fires after each specific row in the plugins list table.
     548                 *
     549                 * The dynamic portion of the hook name, $plugin_file, refers to the path
     550                 * to the plugin file, relative to the plugins directory.
     551                 *
     552                 * @since 2.7.0
     553                 *
     554                 * @param string $plugin_file Path to the plugin file.
     555                 * @param array  $plugin_data An array of plugin data.
     556                 * @param string $status      Status of the plugin. Defaults are 'All',
     557                 *                            'Active', 'Inactive', 'Recently Activated',
     558                 *                            'Upgrade', 'Must-Use', 'Drop-ins', 'Search'.
     559                 */
    435560                do_action( "after_plugin_row_$plugin_file", $plugin_file, $plugin_data, $status );
    436561        }
    437562}