2007-08-17 12:33:52 +02:00
< ? php
2008-10-10 20:21:16 +02:00
/**
* WordPress Administration Update API
*
* @ package WordPress
2009-09-14 23:13:25 +02:00
* @ subpackage Administration
2008-10-10 20:21:16 +02:00
*/
2007-08-17 12:33:52 +02:00
2008-10-31 19:51:06 +01:00
/**
2014-02-25 18:20:13 +01:00
* Selects the first update version from the update_core option .
2008-10-31 19:51:06 +01:00
*
2015-05-29 22:17:26 +02:00
* @ return object | array | false The response from the API on success , false on failure .
2008-10-31 19:51:06 +01:00
*/
function get_preferred_from_update_core () {
$updates = get_core_updates ();
2013-09-05 19:05:15 +02:00
if ( ! is_array ( $updates ) )
2008-10-31 19:51:06 +01:00
return false ;
if ( empty ( $updates ) )
2013-09-05 19:05:15 +02:00
return ( object ) array ( 'response' => 'latest' );
2008-10-31 19:51:06 +01:00
return $updates [ 0 ];
}
/**
2014-02-25 18:20:13 +01:00
* Get available core updates .
2008-10-31 19:51:06 +01:00
*
* @ param array $options Set $options [ 'dismissed' ] to true to show dismissed upgrades too ,
2015-05-29 22:17:26 +02:00
* set $options [ 'available' ] to false to skip not - dismissed updates .
* @ return array | false Array of the update objects on success , false on failure .
2008-10-31 19:51:06 +01:00
*/
function get_core_updates ( $options = array () ) {
2013-09-05 19:05:15 +02:00
$options = array_merge ( array ( 'available' => true , 'dismissed' => false ), $options );
2015-10-07 19:11:25 +02:00
$dismissed = get_site_option ( 'dismissed_update_core' );
2013-09-05 19:05:15 +02:00
if ( ! is_array ( $dismissed ) )
$dismissed = array ();
2010-01-08 21:49:55 +01:00
$from_api = get_site_transient ( 'update_core' );
2013-09-05 19:05:15 +02:00
if ( ! isset ( $from_api -> updates ) || ! is_array ( $from_api -> updates ) )
2008-11-04 18:12:03 +01:00
return false ;
2013-09-05 19:05:15 +02:00
2008-11-04 18:12:03 +01:00
$updates = $from_api -> updates ;
2008-10-31 19:51:06 +01:00
$result = array ();
2013-09-05 19:05:15 +02:00
foreach ( $updates as $update ) {
2013-10-15 07:07:10 +02:00
if ( $update -> response == 'autoupdate' )
continue ;
2013-09-05 19:05:15 +02:00
if ( array_key_exists ( $update -> current . '|' . $update -> locale , $dismissed ) ) {
2008-10-31 19:51:06 +01:00
if ( $options [ 'dismissed' ] ) {
$update -> dismissed = true ;
2013-09-05 19:05:15 +02:00
$result [] = $update ;
2008-10-31 19:51:06 +01:00
}
} else {
if ( $options [ 'available' ] ) {
$update -> dismissed = false ;
2013-09-05 19:05:15 +02:00
$result [] = $update ;
2008-10-31 19:51:06 +01:00
}
}
}
return $result ;
}
2013-09-13 08:19:12 +02:00
/**
* Gets the best available ( and enabled ) Auto - Update for WordPress Core .
*
* If there 's 1.2.3 and 1.3 on offer, it' ll choose 1.3 if the install allows it , else , 1.2 . 3
*
* @ since 3.7 . 0
*
2015-05-29 22:17:26 +02:00
* @ return array | false False on failure , otherwise the core update offering .
2013-09-13 08:19:12 +02:00
*/
function find_core_auto_update () {
$updates = get_site_transient ( 'update_core' );
if ( ! $updates || empty ( $updates -> updates ) )
return false ;
2014-05-19 07:04:16 +02:00
include_once ( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
2013-09-13 08:19:12 +02:00
$auto_update = false ;
2013-10-25 00:54:38 +02:00
$upgrader = new WP_Automatic_Updater ;
2013-09-13 08:19:12 +02:00
foreach ( $updates -> updates as $update ) {
if ( 'autoupdate' != $update -> response )
continue ;
2013-10-25 00:54:38 +02:00
if ( ! $upgrader -> should_update ( 'core' , $update , ABSPATH ) )
2013-09-13 08:19:12 +02:00
continue ;
if ( ! $auto_update || version_compare ( $update -> current , $auto_update -> current , '>' ) )
$auto_update = $update ;
}
return $auto_update ;
}
2013-09-21 08:49:11 +02:00
/**
2013-10-16 01:03:10 +02:00
* Gets and caches the checksums for the given version of WordPress .
2013-09-21 08:49:11 +02:00
*
* @ since 3.7 . 0
*
2013-10-16 01:03:10 +02:00
* @ param string $version Version string to query .
* @ param string $locale Locale to query .
* @ return bool | array False on failure . An array of checksums on success .
2013-09-21 08:49:11 +02:00
*/
2013-10-16 01:03:10 +02:00
function get_core_checksums ( $version , $locale ) {
2013-10-27 22:09:10 +01:00
$url = $http_url = 'http://api.wordpress.org/core/checksums/1.0/?' . http_build_query ( compact ( 'version' , 'locale' ), null , '&' );
2013-09-21 08:49:11 +02:00
2013-10-27 22:09:10 +01:00
if ( $ssl = wp_http_supports ( array ( 'ssl' ) ) )
2013-09-21 08:49:11 +02:00
$url = set_url_scheme ( $url , 'https' );
$options = array (
'timeout' => ( ( defined ( 'DOING_CRON' ) && DOING_CRON ) ? 30 : 3 ),
);
$response = wp_remote_get ( $url , $options );
2013-10-27 22:09:10 +01:00
if ( $ssl && is_wp_error ( $response ) ) {
2014-04-16 02:38:14 +02:00
trigger_error ( __ ( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ) . ' ' . __ ( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent () || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
2013-10-27 22:09:10 +01:00
$response = wp_remote_get ( $http_url , $options );
}
2013-09-21 08:49:11 +02:00
if ( is_wp_error ( $response ) || 200 != wp_remote_retrieve_response_code ( $response ) )
return false ;
$body = trim ( wp_remote_retrieve_body ( $response ) );
$body = json_decode ( $body , true );
if ( ! is_array ( $body ) || ! isset ( $body [ 'checksums' ] ) || ! is_array ( $body [ 'checksums' ] ) )
return false ;
2013-10-16 01:03:10 +02:00
return $body [ 'checksums' ];
2013-09-21 08:49:11 +02:00
}
2015-05-29 22:17:26 +02:00
/**
*
* @ param object $update
* @ return bool
*/
2008-10-31 19:51:06 +01:00
function dismiss_core_update ( $update ) {
2015-10-07 19:11:25 +02:00
$dismissed = get_site_option ( 'dismissed_update_core' );
2013-09-05 19:05:15 +02:00
$dismissed [ $update -> current . '|' . $update -> locale ] = true ;
2015-10-07 19:11:25 +02:00
return update_site_option ( 'dismissed_update_core' , $dismissed );
2008-10-31 19:51:06 +01:00
}
2015-05-29 22:17:26 +02:00
/**
*
* @ param string $version
* @ param string $locale
* @ return bool
*/
2008-10-31 19:51:06 +01:00
function undismiss_core_update ( $version , $locale ) {
2015-10-07 19:11:25 +02:00
$dismissed = get_site_option ( 'dismissed_update_core' );
2013-09-05 19:05:15 +02:00
$key = $version . '|' . $locale ;
if ( ! isset ( $dismissed [ $key ] ) )
return false ;
2008-10-31 19:51:06 +01:00
unset ( $dismissed [ $key ] );
2015-10-07 19:11:25 +02:00
return update_site_option ( 'dismissed_update_core' , $dismissed );
2008-10-31 19:51:06 +01:00
}
2015-05-29 22:17:26 +02:00
/**
*
* @ param string $version
* @ param string $locale
* @ return object | false
*/
2008-10-31 19:51:06 +01:00
function find_core_update ( $version , $locale ) {
2010-01-08 21:49:55 +01:00
$from_api = get_site_transient ( 'update_core' );
2013-09-05 19:05:15 +02:00
if ( ! isset ( $from_api -> updates ) || ! is_array ( $from_api -> updates ) )
return false ;
2008-11-04 18:12:03 +01:00
$updates = $from_api -> updates ;
2013-09-05 19:05:15 +02:00
foreach ( $updates as $update ) {
2008-10-31 19:51:06 +01:00
if ( $update -> current == $version && $update -> locale == $locale )
return $update ;
}
return false ;
}
2015-05-29 22:17:26 +02:00
/**
*
* @ param string $msg
* @ return string
*/
2008-01-04 20:36:34 +01:00
function core_update_footer ( $msg = '' ) {
2010-01-18 23:21:36 +01:00
if ( ! current_user_can ( 'update_core' ) )
2012-09-24 23:27:28 +02:00
return sprintf ( __ ( 'Version %s' ), get_bloginfo ( 'version' , 'display' ) );
2007-08-30 20:21:03 +02:00
2008-10-31 19:51:06 +01:00
$cur = get_preferred_from_update_core ();
2012-09-11 20:54:56 +02:00
if ( ! is_object ( $cur ) )
$cur = new stdClass ;
2008-08-08 19:05:10 +02:00
if ( ! isset ( $cur -> current ) )
$cur -> current = '' ;
if ( ! isset ( $cur -> url ) )
$cur -> url = '' ;
2007-08-17 12:33:52 +02:00
2008-11-15 19:41:27 +01:00
if ( ! isset ( $cur -> response ) )
$cur -> response = '' ;
2007-08-17 12:33:52 +02:00
switch ( $cur -> response ) {
case 'development' :
2012-09-24 23:27:28 +02:00
return sprintf ( __ ( 'You are using a development version (%1$s). Cool! Please <a href="%2$s">stay updated</a>.' ), get_bloginfo ( 'version' , 'display' ), network_admin_url ( 'update-core.php' ) );
2007-08-17 12:33:52 +02:00
case 'upgrade' :
2015-09-18 20:31:25 +02:00
return '<strong><a href="' . network_admin_url ( 'update-core.php' ) . '">' . sprintf ( __ ( 'Get Version %s' ), $cur -> current ) . '</a></strong>' ;
2007-08-17 12:33:52 +02:00
case 'latest' :
2007-08-30 18:25:50 +02:00
default :
2012-09-24 23:27:28 +02:00
return sprintf ( __ ( 'Version %s' ), get_bloginfo ( 'version' , 'display' ) );
2007-08-17 12:33:52 +02:00
}
}
2015-05-29 04:06:31 +02:00
/**
*
* @ global string $pagenow
* @ return false | void
*/
2007-08-17 12:33:52 +02:00
function update_nag () {
2010-01-18 23:21:36 +01:00
if ( is_multisite () && ! current_user_can ( 'update_core' ) )
2010-01-15 01:21:13 +01:00
return false ;
2008-11-13 22:10:53 +01:00
global $pagenow ;
if ( 'update-core.php' == $pagenow )
return ;
2008-10-31 19:51:06 +01:00
$cur = get_preferred_from_update_core ();
2007-08-20 09:01:15 +02:00
2007-08-30 20:21:03 +02:00
if ( ! isset ( $cur -> response ) || $cur -> response != 'upgrade' )
return false ;
2007-08-20 09:01:15 +02:00
2016-06-10 17:54:30 +02:00
if ( current_user_can ( 'update_core' ) ) {
$msg = sprintf (
/* translators: 1: Codex URL to release notes, 2: new WordPress version, 3: URL to network admin, 4: accessibility text */
__ ( '<a href="%1$s">WordPress %2$s</a> is available! <a href="%3$s" aria-label="%4$s">Please update now</a>.' ),
sprintf (
/* translators: %s: WordPress version */
esc_url ( __ ( 'https://codex.wordpress.org/Version_%s' ) ),
$cur -> current
),
$cur -> current ,
network_admin_url ( 'update-core.php' ),
esc_attr__ ( 'Please update WordPress now' )
);
2010-12-06 16:41:19 +01:00
} else {
2016-06-10 17:54:30 +02:00
$msg = sprintf (
/* translators: 1: Codex URL to release notes, 2: new WordPress version */
__ ( '<a href="%1$s">WordPress %2$s</a> is available! Please notify the site administrator.' ),
sprintf (
/* translators: %s: WordPress version */
esc_url ( __ ( 'https://codex.wordpress.org/Version_%s' ) ),
$cur -> current
),
$cur -> current
);
2010-12-06 16:41:19 +01:00
}
2010-04-30 17:37:46 +02:00
echo " <div class='update-nag'> $msg </div> " ;
2007-08-17 12:33:52 +02:00
}
2008-03-11 17:13:07 +01:00
// Called directly from dashboard
function update_right_now_message () {
2014-03-25 15:36:15 +01:00
$theme_name = wp_get_theme ();
if ( current_user_can ( 'switch_themes' ) ) {
$theme_name = sprintf ( '<a href="themes.php">%1$s</a>' , $theme_name );
}
2015-03-30 14:50:29 +02:00
$msg = '' ;
2010-12-06 16:41:19 +01:00
2011-09-30 19:31:52 +02:00
if ( current_user_can ( 'update_core' ) ) {
$cur = get_preferred_from_update_core ();
2011-12-14 18:36:38 +01:00
if ( isset ( $cur -> response ) && $cur -> response == 'upgrade' )
2015-03-30 14:50:29 +02:00
$msg .= '<a href="' . network_admin_url ( 'update-core.php' ) . '" class="button" aria-describedby="wp-version">' . sprintf ( __ ( 'Update to %s' ), $cur -> current ? $cur -> current : __ ( 'Latest' ) ) . '</a> ' ;
2010-12-06 16:41:19 +01:00
}
2008-03-11 17:13:07 +01:00
2015-08-31 23:45:21 +02:00
/* translators: 1: version number, 2: theme name */
$content = __ ( 'WordPress %1$s running %2$s theme.' );
/**
2016-05-22 20:01:30 +02:00
* Filters the text displayed in the 'At a Glance' dashboard widget .
2015-08-31 23:45:21 +02:00
*
* Prior to 3.8 . 0 , the widget was named 'Right Now' .
*
* @ since 4.4 . 0
*
* @ param string $content Default text .
*/
$content = apply_filters ( 'update_right_now_text' , $content );
$msg .= sprintf ( '<span id="wp-version">' . $content . '</span>' , get_bloginfo ( 'version' , 'display' ), $theme_name );
2015-03-30 14:50:29 +02:00
2014-03-25 15:36:15 +01:00
echo " <p id='wp-version-message'> $msg </p> " ;
2008-03-11 17:13:07 +01:00
}
2015-05-31 05:18:25 +02:00
/**
* @ since 2.9 . 0
*
* @ return array
*/
2009-10-20 18:11:59 +02:00
function get_plugin_updates () {
$all_plugins = get_plugins ();
$upgrade_plugins = array ();
2010-01-08 21:49:55 +01:00
$current = get_site_transient ( 'update_plugins' );
2009-10-20 18:11:59 +02:00
foreach ( ( array ) $all_plugins as $plugin_file => $plugin_data ) {
if ( isset ( $current -> response [ $plugin_file ] ) ) {
$upgrade_plugins [ $plugin_file ] = ( object ) $plugin_data ;
$upgrade_plugins [ $plugin_file ] -> update = $current -> response [ $plugin_file ];
}
}
return $upgrade_plugins ;
}
2015-05-31 05:18:25 +02:00
/**
* @ since 2.9 . 0
*/
2009-08-04 23:52:31 +02:00
function wp_plugin_update_rows () {
2010-01-18 23:21:36 +01:00
if ( ! current_user_can ( 'update_plugins' ) )
return ;
2010-01-08 21:49:55 +01:00
$plugins = get_site_transient ( 'update_plugins' );
2009-08-07 11:33:40 +02:00
if ( isset ( $plugins -> response ) && is_array ( $plugins -> response ) ) {
$plugins = array_keys ( $plugins -> response );
2015-08-25 22:28:22 +02:00
foreach ( $plugins as $plugin_file ) {
2009-08-07 11:33:40 +02:00
add_action ( " after_plugin_row_ $plugin_file " , 'wp_plugin_update_row' , 10 , 2 );
}
2009-08-04 23:52:31 +02:00
}
}
2015-05-29 22:17:26 +02:00
/**
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
* Displays update information for a plugin .
2015-05-29 22:17:26 +02:00
*
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
* @ param string $file Plugin basename .
* @ param array $plugin_data Plugin information .
2015-05-29 22:17:26 +02:00
* @ return false | void
*/
2008-06-04 20:09:31 +02:00
function wp_plugin_update_row ( $file , $plugin_data ) {
2010-01-08 21:49:55 +01:00
$current = get_site_transient ( 'update_plugins' );
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
if ( ! isset ( $current -> response [ $file ] ) ) {
2007-08-22 12:48:48 +02:00
return false ;
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
}
2007-08-22 12:48:48 +02:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
$response = $current -> response [ $file ];
2007-08-22 12:48:48 +02:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
$plugins_allowedtags = array (
'a' => array ( 'href' => array (), 'title' => array () ),
'abbr' => array ( 'title' => array () ),
'acronym' => array ( 'title' => array () ),
'code' => array (),
'em' => array (),
'strong' => array (),
);
2009-05-25 01:47:49 +02:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
$plugin_name = wp_kses ( $plugin_data [ 'Name' ], $plugins_allowedtags );
$details_url = self_admin_url ( 'plugin-install.php?tab=plugin-information&plugin=' . $response -> slug . '§ion=changelog&TB_iframe=true&width=600&height=800' );
2008-08-04 23:01:09 +02:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
/** @var WP_Plugins_List_Table $wp_list_table */
$wp_list_table = _get_list_table ( 'WP_Plugins_List_Table' );
2010-11-14 19:00:09 +01:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
if ( is_network_admin () || ! is_multisite () ) {
2015-07-07 02:02:24 +02:00
if ( is_network_admin () ) {
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
$active_class = is_plugin_active_for_network ( $file ) ? ' active' : '' ;
2015-07-07 02:02:24 +02:00
} else {
$active_class = is_plugin_active ( $file ) ? ' active' : '' ;
}
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
echo '<tr class="plugin-update-tr' . $active_class . '" id="' . esc_attr ( $response -> slug . '-update' ) . '" data-slug="' . esc_attr ( $response -> slug ) . '" data-plugin="' . esc_attr ( $file ) . '"><td colspan="' . esc_attr ( $wp_list_table -> get_column_count () ) . '" class="plugin-update colspanchange"><div class="update-message notice inline notice-warning notice-alt"><p>' ;
2011-05-22 23:24:32 +02:00
2015-01-08 08:05:25 +01:00
if ( ! current_user_can ( 'update_plugins' ) ) {
2016-03-04 12:08:27 +01:00
/* translators: 1: plugin name, 2: details URL, 3: accessibility text, 4: version number */
2016-03-10 23:37:26 +01:00
printf ( __ ( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox open-plugin-details-modal" aria-label="%3$s">View version %4$s details</a>.' ),
2015-12-20 17:09:28 +01:00
$plugin_name ,
esc_url ( $details_url ),
2016-03-04 12:08:27 +01:00
/* translators: 1: plugin name, 2: version number */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $plugin_name , $response -> new_version ) ),
$response -> new_version
2015-12-20 17:09:28 +01:00
);
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
} elseif ( empty ( $response -> package ) ) {
2016-03-04 12:08:27 +01:00
/* translators: 1: plugin name, 2: details URL, 3: accessibility text, 4: version number */
2016-03-10 23:37:26 +01:00
printf ( __ ( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox open-plugin-details-modal" aria-label="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this plugin.</em>' ),
2015-12-20 17:09:28 +01:00
$plugin_name ,
esc_url ( $details_url ),
2016-03-04 12:08:27 +01:00
/* translators: 1: plugin name, 2: version number */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $plugin_name , $response -> new_version ) ),
$response -> new_version
2015-12-20 17:09:28 +01:00
);
2015-01-08 08:05:25 +01:00
} else {
2016-03-04 12:08:27 +01:00
/* translators: 1: plugin name, 2: details URL, 3: accessibility text, 4: version number, 5: update URL, 6: accessibility text */
2016-03-10 23:37:26 +01:00
printf ( __ ( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox open-plugin-details-modal" aria-label="%3$s">View version %4$s details</a> or <a href="%5$s" class="update-link" aria-label="%6$s">update now</a>.' ),
2015-12-20 17:09:28 +01:00
$plugin_name ,
esc_url ( $details_url ),
2016-03-04 12:08:27 +01:00
/* translators: 1: plugin name, 2: version number */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $plugin_name , $response -> new_version ) ),
$response -> new_version ,
2016-03-04 12:08:27 +01:00
wp_nonce_url ( self_admin_url ( 'update.php?action=upgrade-plugin&plugin=' ) . $file , 'upgrade-plugin_' . $file ),
2016-03-04 22:10:26 +01:00
/* translators: %s: plugin name */
2016-03-04 12:08:27 +01:00
esc_attr ( sprintf ( __ ( 'Update %s now' ), $plugin_name ) )
2015-12-20 17:09:28 +01:00
);
2015-01-08 08:05:25 +01:00
}
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
2013-12-02 22:55:10 +01:00
/**
* Fires at the end of the update message container in each
* row of the plugins list table .
*
2014-11-30 12:28:24 +01:00
* The dynamic portion of the hook name , `$file` , refers to the path
2013-12-02 22:55:10 +01:00
* of the plugin ' s primary file relative to the plugins directory .
*
* @ since 2.8 . 0
*
* @ param array $plugin_data {
* An array of plugin metadata .
*
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
* @ type string $name The human - readable name of the plugin .
* @ type string $plugin_uri Plugin URI .
* @ type string $version Plugin version .
* @ type string $description Plugin description .
* @ type string $author Plugin author .
* @ type string $author_uri Plugin author URI .
* @ type string $text_domain Plugin text domain .
* @ type string $domain_path Relative path to the plugin ' s . mo file ( s ) .
* @ type bool $network Whether the plugin can only be activated network wide .
* @ type string $title The human - readable title of the plugin .
* @ type string $author_name Plugin author ' s name .
* @ type bool $update Whether there ' s an available update . Default null .
* }
* @ param array $response {
* An array of metadata about the available plugin update .
*
* @ type int $id Plugin ID .
* @ type string $slug Plugin slug .
* @ type string $new_version New plugin version .
* @ type string $url Plugin URL .
* @ type string $package Plugin update package URL .
* }
2013-12-02 22:55:10 +01:00
*/
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
do_action ( " in_plugin_update_message- { $file } " , $plugin_data , $response );
2009-05-25 01:47:49 +02:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
echo '</p></div></td></tr>' ;
2011-05-22 23:24:32 +02:00
}
2007-08-22 12:48:48 +02:00
}
2015-05-29 22:17:26 +02:00
/**
*
* @ return array
*/
2009-10-20 18:11:59 +02:00
function get_theme_updates () {
2010-01-08 21:49:55 +01:00
$current = get_site_transient ( 'update_themes' );
2009-10-20 18:11:59 +02:00
2012-04-11 22:15:31 +02:00
if ( ! isset ( $current -> response ) )
return array ();
2012-05-03 18:41:59 +02:00
$update_themes = array ();
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 22:24:44 +01:00
foreach ( $current -> response as $stylesheet => $data ) {
$update_themes [ $stylesheet ] = wp_get_theme ( $stylesheet );
$update_themes [ $stylesheet ] -> update = $data ;
2009-10-20 18:11:59 +02:00
}
return $update_themes ;
}
2015-05-31 05:18:25 +02:00
/**
* @ since 3.1 . 0
*/
2010-11-01 21:08:25 +01:00
function wp_theme_update_rows () {
if ( ! current_user_can ( 'update_themes' ) )
return ;
$themes = get_site_transient ( 'update_themes' );
if ( isset ( $themes -> response ) && is_array ( $themes -> response ) ) {
$themes = array_keys ( $themes -> response );
2015-08-25 22:28:22 +02:00
foreach ( $themes as $theme ) {
2010-11-01 21:08:25 +01:00
add_action ( " after_theme_row_ $theme " , 'wp_theme_update_row' , 10 , 2 );
}
}
}
2015-05-29 22:17:26 +02:00
/**
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
* Displays update information for a theme .
2015-05-29 22:17:26 +02:00
*
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
* @ param string $theme_key Theme stylesheet .
* @ param WP_Theme $theme Theme object .
2015-05-29 22:17:26 +02:00
* @ return false | void
*/
2010-11-01 21:08:25 +01:00
function wp_theme_update_row ( $theme_key , $theme ) {
$current = get_site_transient ( 'update_themes' );
2016-03-04 12:08:27 +01:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
if ( ! isset ( $current -> response [ $theme_key ] ) ) {
return false ;
}
2010-11-01 21:08:25 +01:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
$response = $current -> response [ $theme_key ];
2016-03-04 12:08:27 +01:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
$details_url = add_query_arg ( array (
'TB_iframe' => 'true' ,
'width' => 1024 ,
'height' => 800 ,
), $current -> response [ $theme_key ][ 'url' ] );
2010-11-01 21:08:25 +01:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
/** @var WP_MS_Themes_List_Table $wp_list_table */
$wp_list_table = _get_list_table ( 'WP_MS_Themes_List_Table' );
2010-11-14 19:00:09 +01:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
$active = $theme -> is_allowed ( 'network' ) ? ' active' : '' ;
2016-01-25 23:55:25 +01:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
echo '<tr class="plugin-update-tr' . $active . '" id="' . esc_attr ( $theme -> get_stylesheet () . '-update' ) . '" data-slug="' . esc_attr ( $theme -> get_stylesheet () ) . '"><td colspan="' . $wp_list_table -> get_column_count () . '" class="plugin-update colspanchange"><div class="update-message notice inline notice-warning notice-alt"><p>' ;
if ( ! current_user_can ( 'update_themes' ) ) {
2016-03-04 12:08:27 +01:00
/* translators: 1: theme name, 2: details URL, 3: accessibility text, 4: version number */
2016-03-10 23:37:26 +01:00
printf ( __ ( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox open-plugin-details-modal" aria-label="%3$s">View version %4$s details</a>.' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
$theme [ 'Name' ],
2015-12-20 17:09:28 +01:00
esc_url ( $details_url ),
2016-03-04 12:08:27 +01:00
/* translators: 1: theme name, 2: version number */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $theme [ 'Name' ], $response [ 'new_version' ] ) ),
$response [ 'new_version' ]
2015-12-20 17:09:28 +01:00
);
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
} elseif ( empty ( $response [ 'package' ] ) ) {
2016-03-04 12:08:27 +01:00
/* translators: 1: theme name, 2: details URL, 3: accessibility text, 4: version number */
2016-03-10 23:37:26 +01:00
printf ( __ ( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox open-plugin-details-modal" aria-label="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this theme.</em>' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
$theme [ 'Name' ],
2015-12-20 17:09:28 +01:00
esc_url ( $details_url ),
2016-03-04 12:08:27 +01:00
/* translators: 1: theme name, 2: version number */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $theme [ 'Name' ], $response [ 'new_version' ] ) ),
$response [ 'new_version' ]
2015-12-20 17:09:28 +01:00
);
2015-01-08 08:05:25 +01:00
} else {
2016-03-04 12:08:27 +01:00
/* translators: 1: theme name, 2: details URL, 3: accessibility text, 4: version number, 5: update URL, 6: accessibility text */
2016-03-10 23:37:26 +01:00
printf ( __ ( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox open-plugin-details-modal" aria-label="%3$s">View version %4$s details</a> or <a href="%5$s" class="update-link" aria-label="%6$s">update now</a>.' ),
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
$theme [ 'Name' ],
2015-12-20 17:09:28 +01:00
esc_url ( $details_url ),
2016-03-04 12:08:27 +01:00
/* translators: 1: theme name, 2: version number */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $theme [ 'Name' ], $response [ 'new_version' ] ) ),
$response [ 'new_version' ],
2016-03-04 12:08:27 +01:00
wp_nonce_url ( self_admin_url ( 'update.php?action=upgrade-theme&theme=' ) . $theme_key , 'upgrade-theme_' . $theme_key ),
/* translators: %s: theme name */
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
esc_attr ( sprintf ( __ ( 'Update %s now' ), $theme [ 'Name' ] ) )
2015-12-20 17:09:28 +01:00
);
2015-01-08 08:05:25 +01:00
}
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
2013-12-02 22:55:10 +01:00
/**
* Fires at the end of the update message container in each
* row of the themes list table .
*
2014-11-30 12:28:24 +01:00
* The dynamic portion of the hook name , `$theme_key` , refers to
2013-12-02 22:55:10 +01:00
* the theme slug as found in the WordPress . org themes repository .
*
* @ since 3.1 . 0
*
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
* @ param WP_Theme $theme The WP_Theme object .
* @ param array $response {
2013-12-02 22:55:10 +01:00
* An array of metadata about the available theme update .
*
* @ type string $new_version New theme version .
* @ type string $url Theme URL .
* @ type string $package Theme update package URL .
* }
*/
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
do_action ( " in_theme_update_message- { $theme_key } " , $theme , $response );
2010-11-01 21:08:25 +01:00
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
echo '</p></div></td></tr>' ;
2010-11-01 21:08:25 +01:00
}
2008-09-26 08:43:53 +02:00
2015-05-29 04:06:31 +02:00
/**
*
* @ global int $upgrading
* @ return false | void
*/
2008-10-26 00:22:29 +02:00
function maintenance_nag () {
2014-05-18 22:52:15 +02:00
include ( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
2008-10-26 00:22:29 +02:00
global $upgrading ;
2013-10-25 00:59:53 +02:00
$nag = isset ( $upgrading );
if ( ! $nag ) {
2015-10-07 19:11:25 +02:00
$failed = get_site_option ( 'auto_core_update_failed' );
2013-10-25 00:59:53 +02:00
/*
* If an update failed critically , we may have copied over version . php but not other files .
* In that case , if the install claims we ' re running the version we attempted , nag .
* This is serious enough to err on the side of nagging .
*
* If we simply failed to update before we tried to copy any files , then assume things are
* OK if they are now running the latest .
*
* This flag is cleared whenever a successful update occurs using Core_Upgrader .
*/
$comparison = ! empty ( $failed [ 'critical' ] ) ? '>=' : '>' ;
2013-11-15 03:31:11 +01:00
if ( version_compare ( $failed [ 'attempted' ], $wp_version , $comparison ) )
2013-10-25 00:59:53 +02:00
$nag = true ;
}
if ( ! $nag )
2008-10-26 00:22:29 +02:00
return false ;
2010-01-18 23:21:36 +01:00
if ( current_user_can ( 'update_core' ) )
2008-11-06 04:31:41 +01:00
$msg = sprintf ( __ ( 'An automated WordPress update has failed to complete - <a href="%s">please attempt the update again now</a>.' ), 'update-core.php' );
2008-10-26 00:22:29 +02:00
else
$msg = __ ( 'An automated WordPress update has failed to complete! Please notify the site administrator.' );
2010-04-30 17:37:46 +02:00
echo " <div class='update-nag'> $msg </div> " ;
2008-10-26 00:22:29 +02:00
}
Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.
Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.
Built from https://develop.svn.wordpress.org/trunk@37714
git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 18:37:29 +02:00
/**
* Prints the JavaScript templates for update admin notices .
*
* Template takes one argument with four values :
*
* param { object } data {
* Arguments for admin notice .
*
* @ type string id ID of the notice .
* @ type string className Class names for the notice .
* @ type string message The notice ' s message .
* @ type string type The type of update the notice is for . Either 'plugin' or 'theme' .
* }
*
* @ since 4.6 . 0
*/
function wp_print_admin_notice_templates () {
?>
< script id = " tmpl-wp-updates-admin-notice " type = " text/html " >
< div < # if ( data.id ) { #>id="{{ data.id }}"<# } #> class="notice {{ data.className }}"><p>{{{ data.message }}}</p></div>
</ script >
< script id = " tmpl-wp-bulk-updates-admin-notice " type = " text/html " >
< div id = " { { data.id }} " class = " notice <# if ( data.errors ) { #>notice-error<# } else { #>notice-success<# } #> " >
< p >
< # if ( data.successes ) { #>
< # if ( 1 === data.successes ) { #>
< # if ( 'plugin' === data.type ) { #>
< ? php
/* translators: %s: Number of plugins */
printf ( __ ( '%s plugin successfully updated.' ), '{{ data.successes }}' );
?>
< # } else { #>
< ? php
/* translators: %s: Number of themes */
printf ( __ ( '%s theme successfully updated.' ), '{{ data.successes }}' );
?>
< # } #>
< # } else { #>
< # if ( 'plugin' === data.type ) { #>
< ? php
/* translators: %s: Number of plugins */
printf ( __ ( '%s plugins successfully updated.' ), '{{ data.successes }}' );
?>
< # } else { #>
< ? php
/* translators: %s: Number of themes */
printf ( __ ( '%s themes successfully updated.' ), '{{ data.successes }}' );
?>
< # } #>
< # } #>
< # } #>
< # if ( data.errors ) { #>
< # if ( 1 === data.errors ) { #>
< button class = " button-link " >
< ? php
/* translators: %s: Number of failures */
printf ( __ ( '%s failure.' ), '{{ data.errors }}' );
?>
</ button >
< # } else { #>
< button class = " button-link " >
< ? php
/* translators: %s: Number of failures */
printf ( __ ( '%s failures.' ), '{{ data.errors }}' );
?>
</ button >
< # } #>
< # } #>
</ p >
< # if ( data.errors ) { #>
< ul class = " hidden " >
< # _.each( data.errorMessages, function( errorMessage ) { #>
< li > {{ errorMessage }} </ li >
< # } ); #>
</ ul >
< # } #>
</ div >
</ script >
< ? php
}
/**
* Prints the JavaScript templates for update and deletion rows in list tables .
*
* The update template takes one argument with four values :
*
* param { object } data {
* Arguments for the update row
*
* @ type string slug Plugin slug .
* @ type string plugin Plugin base name .
* @ type string colspan The number of table columns this row spans .
* @ type string content The row content .
* }
*
* The delete template takes one argument with four values :
*
* param { object } data {
* Arguments for the update row
*
* @ type string slug Plugin slug .
* @ type string plugin Plugin base name .
* @ type string name Plugin name .
* @ type string colspan The number of table columns this row spans .
* }
*
* @ since 4.6 . 0
*/
function wp_print_update_row_templates () {
?>
< script id = " tmpl-item-update-row " type = " text/template " >
< tr class = " plugin-update-tr update " id = " { { data.slug }}-update " data - slug = " { { data.slug }} " < # if ( data.plugin ) { #>data-plugin="{{ data.plugin }}"<# } #>>
< td colspan = " { { data.colspan }} " class = " plugin-update colspanchange " >
{{{ data . content }}}
</ td >
</ tr >
</ script >
< script id = " tmpl-item-deleted-row " type = " text/template " >
< tr class = " plugin-deleted-tr inactive deleted " id = " { { data.slug }}-deleted " data - slug = " { { data.slug }} " < # if ( data.plugin ) { #>data-plugin="{{ data.plugin }}"<# } #>>
< td colspan = " { { data.colspan }} " class = " plugin-update colspanchange " >
< ? php
printf (
/* translators: %s: Plugin or Theme name */
__ ( '%s was successfully deleted.' ),
'<strong>{{{ data.name }}}</strong>'
);
?>
</ td >
</ tr >
</ script >
< ? php
}