X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/af50974463450c98503e763a7836a50e260461a9..784f914b1e4b1c62d6657e86397c2e83bcee4295:/wp-admin/includes/class-wp-plugin-install-list-table.php 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 07bfa0c7..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(), @@ -140,8 +170,13 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { 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 @@ -159,8 +194,7 @@ 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'. + * Default tabs include 'featured', 'popular', 'recommended', 'favorites', and 'upload'. * * @since 3.7.0 * @@ -194,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' ) . '

'; @@ -203,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"; } @@ -227,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' ); ?>