WordPress.org

Make WordPress Core

Ticket #18724: 29829.diff

File 29829.diff, 2.3 KB (added by jorbin, 6 years ago)
  • src/wp-admin/includes/class-wp-plugin-install-list-table.php

     
    273273                        return;
    274274                }
    275275
    276                 if ( 'top' ==  $which ) { ?>
     276                if ( 'top' ==  $which ) {
     277                        wp_referer_field();
     278                ?>
    277279                        <div class="tablenav top">
    278280                                <div class="alignleft actions">
    279281                                        <?php
  • src/wp-admin/includes/plugin-install.php

     
    235235function display_plugins_table() {
    236236        global $wp_list_table;
    237237
    238         if ( current_filter() == 'install_plugins_favorites' && empty( $_GET['user'] ) && ! get_user_option( 'wporg_favorites' ) )
    239                         return;
     238        if ( current_filter() == 'install_plugins_favorites' && empty( $_GET['user'] ) && ! get_user_option( 'wporg_favorites' ) ) {
     239                return;
     240        }
    240241
    241         $wp_list_table->display();
     242        ?>
     243        <form id="plugin-filter" action="" method="post">
     244                <?php
     245                $wp_list_table->display();
     246                ?>
     247        </form>
     248        <?php
    242249}
    243250add_action( 'install_plugins_search',    'display_plugins_table' );
    244251add_action( 'install_plugins_popular',   'display_plugins_table' );
  • src/wp-admin/plugin-install.php

     
    2424
    2525$wp_list_table = _get_list_table('WP_Plugin_Install_List_Table');
    2626$pagenum = $wp_list_table->get_pagenum();
     27
     28if ( ! empty( $_REQUEST['_wp_http_referer'] ) ) {
     29        $location = remove_query_arg( '_wp_http_referer', wp_unslash( $_SERVER['REQUEST_URI'] ) );
     30
     31        if ( ! empty( $_REQUEST['paged'] ) ) {
     32                $location = add_query_arg( 'paged', (int) $_REQUEST['paged'], $location );
     33        }
     34
     35        wp_redirect( $location );
     36        exit;
     37}
     38
    2739$wp_list_table->prepare_items();
    2840
     41$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
     42
     43if ( $pagenum > $total_pages && $total_pages > 0 ) {
     44        wp_redirect( add_query_arg( 'paged', $total_pages ) );
     45        exit;
     46}
     47
    2948$title = __( 'Add Plugins' );
    3049$parent_file = 'plugins.php';
    3150