Advertisements

list_plugin_updates

Definition:
function list_plugin_updates() {}

Source code

function list_plugin_updates() {

	global $wp_version;



	$cur_wp_version = preg_replace('/-.*$/', '', $wp_version);



	require_once(ABSPATH . 'wp-admin/includes/plugin-install.php');

	$plugins = get_plugin_updates();

	if ( empty( $plugins ) ) {

		echo '<h3>' . __( 'Plugins' ) . '</h3>';

		echo '<p>' . __( 'Your plugins are all up to date.' ) . '</p>';

		return;

	}

	$form_action = 'update-core.php?action=do-plugin-upgrade';



	$core_updates = get_core_updates();

	if ( !isset($core_updates[0]->response) || 'latest' == $core_updates[0]->response || 'development' == $core_updates[0]->response || version_compare( $core_updates[0]->current, $cur_wp_version, '=') )

		$core_update_version = false;

	else

		$core_update_version = $core_updates[0]->current;

	?>

<h3><?php _e( 'Plugins' ); ?></h3>

<p><?php _e( 'The following plugins have new versions available. Check the ones you want to update and then click “Update Plugins”.' ); ?></p>

<form method="post" action="<?php echo $form_action; ?>" name="upgrade-plugins" class="upgrade">

<?php wp_nonce_field('upgrade-core'); ?>

<p><input id="upgrade-plugins" class="button" type="submit" value="<?php esc_attr_e('Update Plugins'); ?>" name="upgrade" /></p>

<table class="widefat" cellspacing="0" id="update-plugins-table">

	<thead>

	<tr>

		<th scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all" /></th>

		<th scope="col" class="manage-column"><label for="plugins-select-all"><?php _e('Select All'); ?></label></th>

	</tr>

	</thead>



	<tfoot>

	<tr>

		<th scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all-2" /></th>

		<th scope="col" class="manage-column"><label for="plugins-select-all-2"><?php _e('Select All'); ?></label></th>

	</tr>

	</tfoot>

	<tbody class="plugins">

<?php

	foreach ( (array) $plugins as $plugin_file => $plugin_data) {

		$info = plugins_api('plugin_information', array('slug' => $plugin_data->update->slug ));

		// Get plugin compat for running version of WordPress.

		if ( isset($info->tested) && version_compare($info->tested, $cur_wp_version, '>=') ) {

			$compat = '<br />' . sprintf(__('Compatibility with WordPress %1$s: 100%% (according to its author)'), $cur_wp_version);

		} elseif ( isset($info->compatibility[$cur_wp_version][$plugin_data->update->new_version]) ) {

			$compat = $info->compatibility[$cur_wp_version][$plugin_data->update->new_version];

			$compat = '<br />' . sprintf(__('Compatibility with WordPress %1$s: %2$d%% (%3$d "works" votes out of %4$d total)'), $cur_wp_version, $compat[0], $compat[2], $compat[1]);

		} else {

			$compat = '<br />' . sprintf(__('Compatibility with WordPress %1$s: Unknown'), $cur_wp_version);

		}

		// Get plugin compat for updated version of WordPress.

		if ( $core_update_version ) {

			if ( isset($info->compatibility[$core_update_version][$plugin_data->update->new_version]) ) {

				$update_compat = $info->compatibility[$core_update_version][$plugin_data->update->new_version];

				$compat .= '<br />' . sprintf(__('Compatibility with WordPress %1$s: %2$d%% (%3$d "works" votes out of %4$d total)'), $core_update_version, $update_compat[0], $update_compat[2], $update_compat[1]);

			} else {

				$compat .= '<br />' . sprintf(__('Compatibility with WordPress %1$s: Unknown'), $core_update_version);

			}

		}

		// Get the upgrade notice for the new plugin version.

		if ( isset($plugin_data->update->upgrade_notice) ) {

			$upgrade_notice = '<br />' . strip_tags($plugin_data->update->upgrade_notice);

		} else {

			$upgrade_notice = '';

		}

		echo "

	<tr class='active'>

		<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr($plugin_file) . "' /></th>

		<td><strong>{$plugin_data->Name}</strong><br />" . sprintf(__('You have version %1$s installed. Update to %2$s.'), $plugin_data->Version, $plugin_data->update->new_version) . $compat . $upgrade_notice . "</td>

	</tr>";

	}

2275

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: