From 75c82cab7570420174c98d0ab7b8e335b2d67813 Mon Sep 17 00:00:00 2001 From: ryan Date: Sun, 19 Apr 2009 01:22:02 +0000 Subject: [PATCH] Add filter showing all plugins that have an upgrade available. see #9527 git-svn-id: http://svn.automattic.com/wordpress/trunk@11000 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/plugins.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/wp-admin/plugins.php b/wp-admin/plugins.php index 7fccf37c94..70dd206f83 100644 --- a/wp-admin/plugins.php +++ b/wp-admin/plugins.php @@ -215,6 +215,8 @@ $active_plugins = array(); $inactive_plugins = array(); $recent_plugins = array(); $recently_activated = (array) get_option('recently_activated'); +$upgrade_plugins = array(); + set_transient( 'plugin_slugs', array_keys($all_plugins), 86400 ); // Clean out any plugins which were deactivated over a week ago. @@ -223,6 +225,7 @@ foreach ( $recently_activated as $key => $time ) unset($recently_activated[ $key ]); if ( $recently_activated != get_option('recently_activated') ) //If array changed, update it. update_option('recently_activated', $recently_activated); +$current = get_transient( 'update_plugins' ); foreach ( (array)$all_plugins as $plugin_file => $plugin_data) { @@ -237,15 +240,19 @@ foreach ( (array)$all_plugins as $plugin_file => $plugin_data) { $recent_plugins[ $plugin_file ] = $plugin_data; $inactive_plugins[ $plugin_file ] = $plugin_data; } + + if ( isset( $current->response[ $plugin_file ] ) ) + $upgrade_plugins[ $plugin_file ] = $plugin_data; } $total_plugins = count($all_plugins); $total_inactive_plugins = count($inactive_plugins); $total_active_plugins = count($active_plugins); $total_recent_plugins = count($recent_plugins); +$total_upgrade_plugins = count($upgrade_plugins); $status = ( isset($_GET['plugin_status']) ) ? $_GET['plugin_status'] : 'all'; -if ( !in_array($status, array('all', 'active', 'inactive', 'recent')) ) +if ( !in_array($status, array('all', 'active', 'inactive', 'recent', 'upgrade')) ) $status = 'all'; $plugin_array_name = "${status}_plugins"; $plugins = &$$plugin_array_name; @@ -375,6 +382,10 @@ if ( ! empty($inactive_plugins) ) { $class = ( 'inactive' == $status ) ? ' class="current"' : ''; $status_links[] = "
  • " . sprintf( _n( 'Inactive (%s)', 'Inactive (%s)', $total_inactive_plugins ), number_format_i18n( $total_inactive_plugins ) ) . ''; } +if ( ! empty($upgrade_plugins) ) { + $class = ( 'upgrade' == $status ) ? ' class="current"' : ''; + $status_links[] = "
  • " . sprintf( _n( 'Upgrade Available (%s)', 'Upgrade Available (%s)', $total_upgrade_plugins ), number_format_i18n( $total_upgrade_plugins ) ) . ''; +} echo implode( " |
  • \n", $status_links ) . ''; unset( $status_links ); ?>