Archived
Updates
This commit is contained in:
1 parent
70d2335bba
commit
7428b67da5
1086 files changed
+94145
-59082
No files matched your search
@@ -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,6 +275,9 @@ 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;
|
||||
@@ -306,6 +316,11 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param object $plugin_a
|
||||
* @param object $plugin_b
|
||||
* @return int
|
||||
*/
|
||||
private function order_callback( $plugin_a, $plugin_b ) {
|
||||
$orderby = $this->orderby;
|
||||
if ( ! isset( $plugin_a->$orderby, $plugin_b->$orderby ) ) {
|
||||
@@ -391,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[] = '<a class="install-now button" href="' . $status['url'] . '" aria-label="' . esc_attr( sprintf( __( 'Install %s now' ), $name ) ) . '">' . __( 'Install Now' ) . '</a>';
|
||||
$action_links[] = '<a class="install-now button" data-slug="' . esc_attr( $plugin['slug'] ) . '" href="' . esc_url( $status['url'] ) . '" aria-label="' . esc_attr( sprintf( __( 'Install %s now' ), $name ) ) . '" data-name="' . esc_attr( $name ) . '">' . __( 'Install Now' ) . '</a>';
|
||||
}
|
||||
|
||||
break;
|
||||
case 'update_available':
|
||||
if ( $status['url'] ) {
|
||||
/* translators: 1: Plugin name and version */
|
||||
$action_links[] = '<a class="button" href="' . $status['url'] . '" aria-label="' . esc_attr( sprintf( __( 'Update %s now' ), $name ) ) . '">' . __( 'Update Now' ) . '</a>';
|
||||
$action_links[] = '<a class="update-now button" data-plugin="' . esc_attr( $status['file'] ) . '" data-slug="' . esc_attr( $plugin['slug'] ) . '" href="' . esc_url( $status['url'] ) . '" aria-label="' . esc_attr( sprintf( __( 'Update %s now' ), $name ) ) . '" data-name="' . esc_attr( $name ) . '">' . __( 'Update Now' ) . '</a>';
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -434,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'] );
|
||||
?>
|
||||
<div class="plugin-card">
|
||||
<div class="plugin-card plugin-card-<?php echo sanitize_html_class( $plugin['slug'] ); ?>">
|
||||
<div class="plugin-card-top">
|
||||
<a href="<?php echo esc_url( $details_link ); ?>" class="thickbox plugin-icon"><img src="<?php echo esc_attr( $plugin_icon_url ) ?>" /></a>
|
||||
<div class="name column-name">
|
||||
@@ -459,17 +477,24 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
|
||||
<span class="num-ratings">(<?php echo number_format_i18n( $plugin['num_ratings'] ); ?>)</span>
|
||||
</div>
|
||||
<div class="column-updated">
|
||||
<strong><?php _e( 'Last Updated:' ); ?></strong> <span title="<?php echo esc_attr( $plugin['last_updated'] ); ?>">
|
||||
<?php printf( __( '%s ago' ), human_time_diff( strtotime( $plugin['last_updated'] ) ) ); ?>
|
||||
<strong><?php _e( 'Last Updated:' ); ?></strong> <span title="<?php echo esc_attr( date_i18n( $date_format, $last_updated_timestamp ) ); ?>">
|
||||
<?php printf( __( '%s ago' ), human_time_diff( $last_updated_timestamp ) ); ?>
|
||||
</span>
|
||||
</div>
|
||||
<div class="column-downloaded">
|
||||
<?php echo sprintf( _n( '%s download', '%s downloads', $plugin['downloaded'] ), number_format_i18n( $plugin['downloaded'] ) ); ?>
|
||||
<?php
|
||||
if ( $plugin['active_installs'] >= 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 );
|
||||
?>
|
||||
</div>
|
||||
<div class="column-compatibility">
|
||||
<?php
|
||||
if ( ! empty( $plugin['tested'] ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $plugin['tested'] ) ), $plugin['tested'], '>' ) ) {
|
||||
echo '<span class="compatibility-untested">' . __( '<strong>Untested</strong> with your version of WordPress' ) . '</span>';
|
||||
echo '<span class="compatibility-untested">' . __( 'Untested with your version of WordPress' ) . '</span>';
|
||||
} elseif ( ! empty( $plugin['requires'] ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $plugin['requires'] ) ), $plugin['requires'], '<' ) ) {
|
||||
echo '<span class="compatibility-incompatible">' . __( '<strong>Incompatible</strong> with your version of WordPress' ) . '</span>';
|
||||
} else {
|
||||
|
||||
Reference in new issue
Block a user