X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f..refs/tags/wordpress-4.2:/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 1252227e..e1a73061 100644 --- a/wp-admin/includes/class-wp-plugin-install-list-table.php +++ b/wp-admin/includes/class-wp-plugin-install-list-table.php @@ -9,9 +9,11 @@ */ class WP_Plugin_Install_List_Table extends WP_List_Table { - var $order = 'ASC'; - var $orderby = null; - var $groups = array(); + public $order = 'ASC'; + public $orderby = null; + public $groups = array(); + + private $error; public function ajax_user_can() { return current_user_can('install_plugins'); @@ -64,6 +66,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { $tabs['search'] = __( 'Search Results' ); $tabs['featured'] = _x( 'Featured', 'Plugin Installer' ); $tabs['popular'] = _x( 'Popular', 'Plugin Installer' ); + $tabs['recommended'] = _x( 'Recommended', 'Plugin Installer' ); $tabs['favorites'] = _x( 'Favorites', 'Plugin Installer' ); if ( $tab === 'beta' || false !== strpos( $GLOBALS['wp_version'], '-' ) ) { $tabs['beta'] = _x( 'Beta Testing', 'Plugin Installer' ); @@ -81,8 +84,8 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { * * @since 2.7.0 * - * @param array $tabs The tabs shown on the Plugin Install screen. Defaults are 'dashboard', 'search', - * 'upload', 'featured', 'popular', 'new', and 'favorites'. + * @param array $tabs The tabs shown on the Plugin Install screen. Defaults include 'featured', 'popular', + * 'recommended', 'favorites', and 'upload'. */ $tabs = apply_filters( 'install_plugins_tabs', $tabs ); @@ -102,7 +105,11 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { $args = array( 'page' => $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,6 +141,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { case 'popular': case 'new': case 'beta': + case 'recommended': $args['browse'] = $tab; break; @@ -156,9 +164,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 * @@ -268,12 +275,17 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { $this->display_tablenav( 'bottom' ); } + /** + * @param string $which + */ protected function display_tablenav( $which ) { if ( $GLOBALS['tab'] === 'featured' ) { return; } - if ( 'top' == $which ) { ?> + if ( 'top' == $which ) { + wp_referer_field(); + ?>
orderby; if ( ! isset( $plugin_a->$orderby, $plugin_b->$orderby ) ) { @@ -389,14 +406,14 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { case 'install': if ( $status['url'] ) { /* translators: 1: Plugin name and version. */ - $action_links[] = '' . __( 'Install Now' ) . ''; + $action_links[] = '' . __( 'Install Now' ) . ''; } break; case 'update_available': if ( $status['url'] ) { /* translators: 1: Plugin name and version */ - $action_links[] = '' . __( 'Update Now' ) . ''; + $action_links[] = '' . __( 'Update Now' ) . ''; } break; @@ -432,8 +449,11 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { * @param array $plugin The plugin currently being listed. */ $action_links = apply_filters( 'plugin_install_action_links', $action_links, $plugin ); + + $date_format = __( 'M j, Y @ H:i' ); + $last_updated_timestamp = strtotime( $plugin['last_updated'] ); ?> -
+
@@ -457,17 +477,24 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { ()
- - + +
- + = 1000000 ) { + $active_installs_text = _x( '1+ Million', 'Active plugin installs' ); + } else { + $active_installs_text = number_format_i18n( $plugin['active_installs'] ) . '+'; + } + printf( __( '%s Active Installs' ), $active_installs_text ); + ?>
' ) ) { - echo '' . __( 'Untested with your version of WordPress' ) . ''; + echo '' . __( 'Untested with your version of WordPress' ) . ''; } elseif ( ! empty( $plugin['requires'] ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $plugin['requires'] ) ), $plugin['requires'], '<' ) ) { echo '' . __( 'Incompatible with your version of WordPress' ) . ''; } else {