X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/874d2a2f468a0d1e69aab49b1fe2d9d79d3e1142..d3947bc013df7edd54b46deed8230d2eeafc5ecb:/wp-admin/includes/class-wp-plugin-install-list-table.php?ds=sidebyside diff --git a/wp-admin/includes/class-wp-plugin-install-list-table.php b/wp-admin/includes/class-wp-plugin-install-list-table.php index 50a4a97a..26c8a0a2 100644 --- a/wp-admin/includes/class-wp-plugin-install-list-table.php +++ b/wp-admin/includes/class-wp-plugin-install-list-table.php @@ -1,18 +1,32 @@ $paged, 'per_page' => $per_page, - 'fields' => array( 'last_updated' => true, 'downloaded' => true, 'icons' => true ), + 'fields' => array( + 'last_updated' => true, + 'icons' => true, + 'active_installs' => true + ), // Send the locale and installed plugin slugs to the API so it can provide context-sensitive results. 'locale' => get_locale(), 'installed_plugins' => $this->get_installed_plugin_slugs(), @@ -134,12 +165,18 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { case 'popular': case 'new': case 'beta': + case 'recommended': $args['browse'] = $tab; break; case 'favorites': - $user = isset( $_GET['user'] ) ? wp_unslash( $_GET['user'] ) : get_user_option( 'wporg_favorites' ); - update_user_meta( get_current_user_id(), 'wporg_favorites', $user ); + $action = 'save_wporg_username_' . get_current_user_id(); + if ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( wp_unslash( $_GET['_wpnonce'] ), $action ) ) { + $user = isset( $_GET['user'] ) ? wp_unslash( $_GET['user'] ) : get_user_option( 'wporg_favorites' ); + update_user_meta( get_current_user_id(), 'wporg_favorites', $user ); + } else { + $user = get_user_option( 'wporg_favorites' ); + } if ( $user ) $args['user'] = $user; else @@ -156,9 +193,8 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { /** * Filter API request arguments for each Plugin Install screen tab. * - * The dynamic portion of the hook name, $tab, refers to the plugin install tabs. - * Default tabs are 'dashboard', 'search', 'upload', 'featured', 'popular', 'new', - * and 'favorites'. + * The dynamic portion of the hook name, `$tab`, refers to the plugin install tabs. + * Default tabs include 'featured', 'popular', 'recommended', 'favorites', and 'upload'. * * @since 3.7.0 * @@ -192,6 +228,9 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { } } + /** + * @access public + */ public function no_items() { if ( isset( $this->error ) ) { $message = $this->error->get_error_message() . '

' . __( 'Try again' ) . '

'; @@ -201,12 +240,19 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { echo '
' . $message . '
'; } + /** + * + * @global array $tabs + * @global string $tab + * + * @return array + */ protected function get_views() { global $tabs, $tab; $display_tabs = array(); foreach ( (array) $tabs as $action => $text ) { - $class = ( $action == $tab ) ? ' current' : ''; + $class = ( $action === $tab ) ? ' current' : ''; $href = self_admin_url('plugin-install.php?tab=' . $action); $display_tabs['plugin-install-'.$action] = "$text"; } @@ -225,6 +271,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { /** This filter is documented in wp-admin/inclues/class-wp-list-table.php */ $views = apply_filters( "views_{$this->screen->id}", $views ); + $this->screen->render_screen_reader_content( 'heading_views' ); ?>