WordPress.org

Make WordPress Core

Ticket #18503: 18503.patch

File 18503.patch, 2.8 KB (added by SergeyBiryukov, 7 years ago)
  • wp-admin/includes/class-wp-plugins-list-table.php

     
    1010class WP_Plugins_List_Table extends WP_List_Table {
    1111
    1212        function __construct() {
    13                 global $status, $page;
     13                global $status, $page, $checked_plugins;
    1414
    1515                $default_status = get_user_option( 'plugins_last_view' );
    1616                if ( empty( $default_status ) )
     
    2121                if ( $status != $default_status && 'search' != $status )
    2222                        update_user_meta( get_current_user_id(), 'plugins_last_view', $status );
    2323
     24                $checked_plugins = isset( $_REQUEST['plugins'] ) ? $_REQUEST['plugins'] : array();
     25                if ( !empty( $checked_plugins ) )
     26                        $checked_plugins = explode( ',', $checked_plugins );
    2427
    2528                if ( isset($_REQUEST['s']) )
    2629                        $_SERVER['REQUEST_URI'] = add_query_arg('s', stripslashes($_REQUEST['s']) );
     
    318321        }
    319322
    320323        function single_row( $plugin_file, $plugin_data ) {
    321                 global $status, $page, $s;
     324                global $status, $page, $s, $checked_plugins;
    322325
    323326                $context = $status;
    324327
     
    393396
    394397                $class = $is_active ? 'active' : 'inactive';
    395398                $checkbox_id =  "checkbox_" . md5($plugin_data['Name']);
    396                 $checkbox = in_array( $status, array( 'mustuse', 'dropins' ) ) ? '' : "<input type='checkbox' name='checked[]' value='" . esc_attr( $plugin_file ) . "' id='" . $checkbox_id . "' /><label class='screen-reader-text' for='" . $checkbox_id . "' >" . __('Select') . " " . $plugin_data['Name'] . "</label>";
     399                $checkbox = in_array( $status, array( 'mustuse', 'dropins' ) ) ? '' : "<input type='checkbox' name='checked[]'" . checked( in_array( $plugin_file, $checked_plugins ), true, false ) . " value='" . esc_attr( $plugin_file ) . "' id='" . $checkbox_id . "' /><label class='screen-reader-text' for='" . $checkbox_id . "' >" . __('Select') . " " . $plugin_data['Name'] . "</label>";
    397400                if ( 'dropins' != $context ) {
    398401                        $description = '<p>' . ( $plugin_data['Description'] ? $plugin_data['Description'] : '&nbsp;' ) . '</p>';
    399402                        $plugin_name = $plugin_data['Name'];
  • wp-admin/plugins.php

     
    200200
    201201                        $plugins = array_filter($plugins, 'is_plugin_inactive'); // Do not allow to delete Activated plugins.
    202202                        if ( empty( $plugins ) ) {
    203                                 wp_redirect( self_admin_url( "plugins.php?error=true&main=true&plugin_status=$status&paged=$page&s=$s" ) );
     203                                $checked_plugins = implode( ',', $_REQUEST['checked'] );
     204                                wp_redirect( self_admin_url( "plugins.php?error=true&main=true&plugin_status=$status&paged=$page&s=$s&plugins=$checked_plugins" ) );
    204205                                exit;
    205206                        }
    206207