This commit is contained in:
root@pico committed 2015-05-01 21:20:47 +02:00
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 {