WordPress.org

Make WordPress Core

Ticket #18503: 18503.patch

File 18503.patch, 2.8 KB (added by SergeyBiryukov, 4 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