A WordPress-centric search engine for devs and theme authors



list_plugin_updates ›

Sincen/a
Deprecatedn/a
list_plugin_updates ( No parameters )
Defined at:
Codex:

No description yet.



Source

function list_plugin_updates() {
	$wp_version     = get_bloginfo( '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 '<h2>' . __( 'Plugins' ) . '</h2>';
		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;
	}
	?>
<h2><?php _e( 'Plugins' ); ?></h2>
<p><?php _e( 'The following plugins have new versions available. Check the ones you want to update and then click &#8220;Update Plugins&#8221;.' ); ?></p>
<form method="post" action="<?php echo esc_url( $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 updates-table" id="update-plugins-table">
	<thead>
	<tr>
		<td class="manage-column check-column"><input type="checkbox" id="plugins-select-all" /></td>
		<td class="manage-column"><label for="plugins-select-all"><?php _e( 'Select All' ); ?></label></td>
	</tr>
	</thead>

	<tbody class="plugins">
<?php
foreach ( (array) $plugins as $plugin_file => $plugin_data ) {
	$plugin_data = (object) _get_plugin_data_markup_translate( $plugin_file, (array) $plugin_data, false, true );

	$icon            = '<span class="dashicons dashicons-admin-plugins"></span>';
	$preferred_icons = array( 'svg', '2x', '1x', 'default' );
	foreach ( $preferred_icons as $preferred_icon ) {
		if ( ! empty( $plugin_data->update->icons[ $preferred_icon ] ) ) {
			$icon = '<img src="' . esc_url( $plugin_data->update->icons[ $preferred_icon ] ) . '" alt="" />';
			break;
		}
	}

	// Get plugin compat for running version of WordPress.
	if ( isset( $plugin_data->update->tested ) && version_compare( $plugin_data->update->tested, $cur_wp_version, '>=' ) ) {
		$compat = '<br />' . sprintf( __( 'Compatibility with WordPress %1$s: 100%% (according to its author)' ), $cur_wp_version );
	} 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( $plugin_data->update->tested ) && version_compare( $plugin_data->update->tested, $core_update_version, '>=' ) ) {
			$compat .= '<br />' . sprintf( __( 'Compatibility with WordPress %1$s: 100%% (according to its author)' ), $core_update_version );
		} 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 = '';
	}

	$details_url = self_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $plugin_data->update->slug . '&section=changelog&TB_iframe=true&width=640&height=662' );
	$details     = sprintf(
		'<a href="%1$s" class="thickbox open-plugin-details-modal" aria-label="%2$s">%3$s</a>',
		esc_url( $details_url ),
		/* translators: 1: plugin name, 2: version number */
		esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $plugin_data->Name, $plugin_data->update->new_version ) ),
		/* translators: %s: plugin version */
		sprintf( __( 'View version %s details.' ), $plugin_data->update->new_version )
	);

	$checkbox_id = 'checkbox_' . md5( $plugin_data->Name );
	?>
	<tr>
		<td class="check-column">
			<input type="checkbox" name="checked[]" id="<?php echo $checkbox_id; ?>" value="<?php echo esc_attr( $plugin_file ); ?>" />
			<label for="<?php echo $checkbox_id; ?>" class="screen-reader-text">
										<?php
										/* translators: %s: plugin name */
										printf(
											__( 'Select %s' ),
											$plugin_data->Name
										);
				?>
				</label>
			</td>
			<td class="plugin-title"><p>
				<?php echo $icon; ?>
				<strong><?php echo $plugin_data->Name; ?></strong>
				<?php
				/* translators: 1: plugin version, 2: new version */
				printf(
					__( 'You have version %1$s installed. Update to %2$s.' ),
					$plugin_data->Version,
					$plugin_data->update->new_version
				);
				echo ' ' . $details . $compat . $upgrade_notice;
			?>
			</p></td>
		</tr>
		<?php
}