WordPress 4.2.1
[autoinstalls/wordpress.git] / wp-admin / plugin-install.php
index 6ec2b9d148475a0f26205dba164a3753d2113376..be8e80f6582ebb3b50541427b073887a310d0e6d 100644 (file)
@@ -24,8 +24,27 @@ if ( is_multisite() && ! is_network_admin() ) {
 
 $wp_list_table = _get_list_table('WP_Plugin_Install_List_Table');
 $pagenum = $wp_list_table->get_pagenum();
+
+if ( ! empty( $_REQUEST['_wp_http_referer'] ) ) {
+       $location = remove_query_arg( '_wp_http_referer', wp_unslash( $_SERVER['REQUEST_URI'] ) );
+
+       if ( ! empty( $_REQUEST['paged'] ) ) {
+               $location = add_query_arg( 'paged', (int) $_REQUEST['paged'], $location );
+       }
+
+       wp_redirect( $location );
+       exit;
+}
+
 $wp_list_table->prepare_items();
 
+$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
+
+if ( $pagenum > $total_pages && $total_pages > 0 ) {
+       wp_redirect( add_query_arg( 'paged', $total_pages ) );
+       exit;
+}
+
 $title = __( 'Add Plugins' );
 $parent_file = 'plugins.php';
 
@@ -35,10 +54,12 @@ if ( 'plugin-information' != $tab )
 
 $body_id = $tab;
 
+wp_enqueue_script( 'updates' );
+
 /**
  * Fires before each tab on the Install Plugins screen is loaded.
  *
- * The dynamic portion of the action hook, $tab, allows for targeting
+ * The dynamic portion of the action hook, `$tab`, allows for targeting
  * individual tabs, for instance 'install_plugins_pre_plugin-information'.
  *
  * @since 2.7.0
@@ -63,7 +84,7 @@ get_current_screen()->add_help_tab( array(
 
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
-       '<p>' . __('<a href="http://codex.wordpress.org/Plugins_Add_New_Screen" target="_blank">Documentation on Installing Plugins</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Plugins_Add_New_Screen" target="_blank">Documentation on Installing Plugins</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -98,17 +119,19 @@ if ( $tab !== 'upload' ) {
 /**
  * Fires after the plugins list table in each tab of the Install Plugins screen.
  *
- * The dynamic portion of the action hook, $tab, allows for targeting
+ * The dynamic portion of the action hook, `$tab`, allows for targeting
  * individual tabs, for instance 'install_plugins_plugin-information'.
  *
  * @since 2.7.0
  *
  * @param int $paged The current page number of the plugins list table.
  */
-?>
-<?php do_action( "install_plugins_$tab", $paged ); ?>
+do_action( "install_plugins_$tab", $paged ); ?>
 </div>
+
 <?php
+wp_print_request_filesystem_credentials_modal();
+
 /**
  * WordPress Administration Template Footer.
  */