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
*
2019-11-23 19:51:01 +01:00
* @ since 2.7 . 0
*
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 ();
2023-06-01 17:14:27 +02:00
2017-12-01 00:11:00 +01:00
if ( ! is_array ( $updates ) ) {
2008-10-31 19:51:06 +01:00
return false ;
2017-12-01 00:11:00 +01:00
}
2023-06-01 17:14:27 +02:00
2017-12-01 00:11:00 +01:00
if ( empty ( $updates ) ) {
2013-09-05 19:05:15 +02:00
return ( object ) array ( 'response' => 'latest' );
2017-12-01 00:11:00 +01:00
}
2023-06-01 17:14:27 +02:00
2008-10-31 19:51:06 +01:00
return $updates [ 0 ];
}
/**
2019-11-23 19:51:01 +01:00
* Gets available core updates .
*
* @ since 2.7 . 0
2008-10-31 19:51:06 +01:00
*
* @ param array $options Set $options [ 'dismissed' ] to true to show dismissed upgrades too ,
2017-12-01 00:11:00 +01:00
* set $options [ 'available' ] to false to skip not - dismissed updates .
2015-05-29 22:17:26 +02:00
* @ 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 () ) {
2023-06-01 17:14:27 +02:00
$options = array_merge (
2017-12-01 00:11:00 +01:00
array (
'available' => true ,
'dismissed' => false ,
2018-08-17 03:51:36 +02:00
),
$options
2017-12-01 00:11:00 +01:00
);
2023-06-01 17:14:27 +02:00
2015-10-07 19:11:25 +02:00
$dismissed = get_site_option ( 'dismissed_update_core' );
2013-09-05 19:05:15 +02:00
2017-12-01 00:11:00 +01:00
if ( ! is_array ( $dismissed ) ) {
2013-09-05 19:05:15 +02:00
$dismissed = array ();
2017-12-01 00:11:00 +01:00
}
2013-09-05 19:05:15 +02:00
2010-01-08 21:49:55 +01:00
$from_api = get_site_transient ( 'update_core' );
2013-09-05 19:05:15 +02:00
2017-12-01 00:11:00 +01:00
if ( ! isset ( $from_api -> updates ) || ! is_array ( $from_api -> updates ) ) {
2008-11-04 18:12:03 +01:00
return false ;
2017-12-01 00:11:00 +01:00
}
2013-09-05 19:05:15 +02:00
2008-11-04 18:12:03 +01:00
$updates = $from_api -> updates ;
2017-12-01 00:11:00 +01:00
$result = array ();
2023-06-01 17:14:27 +02:00
2013-09-05 19:05:15 +02:00
foreach ( $updates as $update ) {
2020-02-09 17:55:09 +01:00
if ( 'autoupdate' === $update -> response ) {
2013-10-15 07:07:10 +02:00
continue ;
2017-12-01 00:11:00 +01:00
}
2013-10-15 07:07:10 +02:00
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 ;
2017-12-01 00:11:00 +01:00
$result [] = $update ;
2008-10-31 19:51:06 +01:00
}
} else {
if ( $options [ 'available' ] ) {
$update -> dismissed = false ;
2017-12-01 00:11:00 +01:00
$result [] = $update ;
2008-10-31 19:51:06 +01:00
}
}
}
2023-06-01 17:14:27 +02:00
2008-10-31 19:51:06 +01:00
return $result ;
}
2013-09-13 08:19:12 +02:00
/**
2019-11-23 19:51:01 +01:00
* Gets the best available ( and enabled ) Auto - Update for WordPress core .
2013-09-13 08:19:12 +02:00
*
2019-11-23 19:51:01 +01:00
* If there 's 1.2.3 and 1.3 on offer, it' ll choose 1.3 if the installation allows it , else , 1.2 . 3.
2013-09-13 08:19:12 +02:00
*
* @ since 3.7 . 0
*
2019-11-23 19:51:01 +01:00
* @ return object | false The core update offering on success , false on failure .
2013-09-13 08:19:12 +02:00
*/
function find_core_auto_update () {
$updates = get_site_transient ( 'update_core' );
2023-06-01 17:14:27 +02:00
2017-12-01 00:11:00 +01:00
if ( ! $updates || empty ( $updates -> updates ) ) {
2013-09-13 08:19:12 +02:00
return false ;
2017-12-01 00:11:00 +01:00
}
2013-09-13 08:19:12 +02:00
2020-02-06 07:33:11 +01:00
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ;
2016-08-31 18:31:29 +02:00
2013-09-13 08:19:12 +02:00
$auto_update = false ;
2022-11-29 16:51:14 +01:00
$upgrader = new WP_Automatic_Updater ();
2023-06-01 17:14:27 +02:00
2013-09-13 08:19:12 +02:00
foreach ( $updates -> updates as $update ) {
2020-05-16 20:42:12 +02:00
if ( 'autoupdate' !== $update -> response ) {
2013-09-13 08:19:12 +02:00
continue ;
2017-12-01 00:11:00 +01:00
}
2013-09-13 08:19:12 +02:00
2017-12-01 00:11:00 +01:00
if ( ! $upgrader -> should_update ( 'core' , $update , ABSPATH ) ) {
2013-09-13 08:19:12 +02:00
continue ;
2017-12-01 00:11:00 +01:00
}
2013-09-13 08:19:12 +02:00
2017-12-01 00:11:00 +01:00
if ( ! $auto_update || version_compare ( $update -> current , $auto_update -> current , '>' ) ) {
2013-09-13 08:19:12 +02:00
$auto_update = $update ;
2017-12-01 00:11:00 +01:00
}
2013-09-13 08:19:12 +02:00
}
2023-06-01 17:14:27 +02:00
2013-09-13 08:19:12 +02:00
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 .
2019-11-23 19:51:01 +01:00
* @ return array | false An array of checksums on success , false on failure .
2013-09-21 08:49:11 +02:00
*/
2013-10-16 01:03:10 +02:00
function get_core_checksums ( $version , $locale ) {
2021-11-05 13:18:58 +01:00
$http_url = 'http://api.wordpress.org/core/checksums/1.0/?' . http_build_query ( compact ( 'version' , 'locale' ), '' , '&' );
2019-07-01 14:52:01 +02:00
$url = $http_url ;
2013-09-21 08:49:11 +02:00
2019-07-01 14:52:01 +02:00
$ssl = wp_http_supports ( array ( 'ssl' ) );
2023-06-01 17:14:27 +02:00
2019-07-01 14:52:01 +02:00
if ( $ssl ) {
2013-09-21 08:49:11 +02:00
$url = set_url_scheme ( $url , 'https' );
2017-12-01 00:11:00 +01:00
}
2013-09-21 08:49:11 +02:00
$options = array (
2017-05-06 16:30:40 +02:00
'timeout' => wp_doing_cron () ? 30 : 3 ,
2013-09-21 08:49:11 +02:00
);
$response = wp_remote_get ( $url , $options );
2023-06-01 17:14:27 +02:00
2013-10-27 22:09:10 +01:00
if ( $ssl && is_wp_error ( $response ) ) {
2016-11-21 02:52:32 +01:00
trigger_error (
sprintf (
2019-09-03 02:41:05 +02:00
/* translators: %s: Support forums URL. */
2016-11-21 02:52:32 +01:00
__ ( '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="%s">support forums</a>.' ),
2019-05-25 16:24:50 +02:00
__ ( 'https://wordpress.org/support/forums/' )
2016-11-21 02:52:32 +01:00
) . ' ' . __ ( '(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
);
2023-06-01 17:14:27 +02:00
2013-10-27 22:09:10 +01:00
$response = wp_remote_get ( $http_url , $options );
}
2013-09-21 08:49:11 +02:00
2023-06-01 17:14:27 +02:00
if ( is_wp_error ( $response ) || 200 !== wp_remote_retrieve_response_code ( $response ) ) {
2013-09-21 08:49:11 +02:00
return false ;
2017-12-01 00:11:00 +01:00
}
2013-09-21 08:49:11 +02:00
$body = trim ( wp_remote_retrieve_body ( $response ) );
$body = json_decode ( $body , true );
2017-12-01 00:11:00 +01:00
if ( ! is_array ( $body ) || ! isset ( $body [ 'checksums' ] ) || ! is_array ( $body [ 'checksums' ] ) ) {
2013-09-21 08:49:11 +02:00
return false ;
2017-12-01 00:11:00 +01:00
}
2013-09-21 08:49:11 +02:00
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
/**
2019-11-23 19:51:01 +01:00
* Dismisses core update .
*
* @ since 2.7 . 0
*
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 ;
2023-06-01 17:14:27 +02:00
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
/**
2019-11-23 19:51:01 +01:00
* Undismisses core update .
*
* @ since 2.7 . 0
*
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' );
2017-12-01 00:11:00 +01:00
$key = $version . '|' . $locale ;
2013-09-05 19:05:15 +02:00
2017-12-01 00:11:00 +01:00
if ( ! isset ( $dismissed [ $key ] ) ) {
2013-09-05 19:05:15 +02:00
return false ;
2017-12-01 00:11:00 +01:00
}
2013-09-05 19:05:15 +02:00
2017-12-01 00:11:00 +01:00
unset ( $dismissed [ $key ] );
2023-06-01 17:14:27 +02:00
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
/**
2019-11-23 19:51:01 +01:00
* Finds the available update for WordPress core .
*
* @ since 2.7 . 0
*
* @ param string $version Version string to find the update for .
* @ param string $locale Locale to find the update for .
* @ return object | false The core update offering on success , false on failure .
2015-05-29 22:17:26 +02:00
*/
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
2017-12-01 00:11:00 +01:00
if ( ! isset ( $from_api -> updates ) || ! is_array ( $from_api -> updates ) ) {
2013-09-05 19:05:15 +02:00
return false ;
2017-12-01 00:11:00 +01:00
}
2013-09-05 19:05:15 +02:00
2008-11-04 18:12:03 +01:00
$updates = $from_api -> updates ;
2023-06-01 17:14:27 +02:00
2013-09-05 19:05:15 +02:00
foreach ( $updates as $update ) {
2023-06-01 17:14:27 +02:00
if ( $update -> current === $version && $update -> locale === $locale ) {
2008-10-31 19:51:06 +01:00
return $update ;
2017-12-01 00:11:00 +01:00
}
2008-10-31 19:51:06 +01:00
}
2023-06-01 17:14:27 +02:00
2008-10-31 19:51:06 +01:00
return false ;
}
2015-05-29 22:17:26 +02:00
/**
2022-07-09 14:59:11 +02:00
* Returns core update footer message .
2022-07-08 22:13:12 +02:00
*
2019-11-23 19:51:01 +01:00
* @ since 2.3 . 0
*
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 = '' ) {
2017-12-01 00:11:00 +01:00
if ( ! current_user_can ( 'update_core' ) ) {
2019-09-03 02:41:05 +02:00
/* translators: %s: WordPress version. */
2012-09-24 23:27:28 +02:00
return sprintf ( __ ( 'Version %s' ), get_bloginfo ( 'version' , 'display' ) );
2017-12-01 00:11:00 +01:00
}
2007-08-30 20:21:03 +02:00
2008-10-31 19:51:06 +01:00
$cur = get_preferred_from_update_core ();
2023-06-01 17:14:27 +02:00
2017-12-01 00:11:00 +01:00
if ( ! is_object ( $cur ) ) {
2022-11-29 16:51:14 +01:00
$cur = new stdClass ();
2017-12-01 00:11:00 +01:00
}
2012-09-11 20:54:56 +02:00
2017-12-01 00:11:00 +01:00
if ( ! isset ( $cur -> current ) ) {
2008-08-08 19:05:10 +02:00
$cur -> current = '' ;
2017-12-01 00:11:00 +01:00
}
2008-08-08 19:05:10 +02:00
2017-12-01 00:11:00 +01:00
if ( ! isset ( $cur -> response ) ) {
2008-11-15 19:41:27 +01:00
$cur -> response = '' ;
2017-12-01 00:11:00 +01:00
}
2008-11-15 19:41:27 +01:00
2020-12-03 15:06:04 +01:00
// Include an unmodified $wp_version.
require ABSPATH . WPINC . '/version.php' ;
$is_development_version = preg_match ( '/alpha|beta|RC/' , $wp_version );
2020-11-29 17:13:06 +01:00
2021-02-01 15:29:01 +01:00
if ( $is_development_version ) {
return sprintf (
/* translators: 1: WordPress version number, 2: URL to WordPress Updates screen. */
__ ( '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' )
);
2020-11-29 17:13:06 +01:00
}
2007-08-17 12:33:52 +02:00
switch ( $cur -> response ) {
2017-12-01 00:11:00 +01:00
case 'upgrade' :
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
return sprintf (
'<strong><a href="%s">%s</a></strong>' ,
network_admin_url ( 'update-core.php' ),
2019-09-03 02:41:05 +02:00
/* translators: %s: WordPress version. */
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
sprintf ( __ ( 'Get Version %s' ), $cur -> current )
);
2007-08-17 12:33:52 +02:00
2017-12-01 00:11:00 +01:00
case 'latest' :
default :
2019-09-03 02:41:05 +02:00
/* translators: %s: WordPress version. */
2017-12-01 00:11:00 +01: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
/**
2022-07-09 14:59:11 +02:00
* Returns core update notification message .
2022-07-08 22:13:12 +02:00
*
2019-11-23 19:51:01 +01:00
* @ since 2.3 . 0
*
2022-04-04 20:26:06 +02:00
* @ global string $pagenow The filename of the current screen .
2020-01-11 19:32:05 +01:00
* @ return void | false
2015-05-29 04:06:31 +02:00
*/
2007-08-17 12:33:52 +02:00
function update_nag () {
2022-04-04 20:26:06 +02:00
global $pagenow ;
2017-12-01 00:11:00 +01:00
if ( is_multisite () && ! current_user_can ( 'update_core' ) ) {
2010-01-15 01:21:13 +01:00
return false ;
2017-12-01 00:11:00 +01:00
}
2010-01-15 01:21:13 +01:00
2020-05-16 20:42:12 +02:00
if ( 'update-core.php' === $pagenow ) {
2008-11-13 22:10:53 +01:00
return ;
2017-12-01 00:11:00 +01:00
}
2008-11-13 22:10:53 +01:00
2008-10-31 19:51:06 +01:00
$cur = get_preferred_from_update_core ();
2007-08-20 09:01:15 +02:00
2020-02-09 17:55:09 +01:00
if ( ! isset ( $cur -> response ) || 'upgrade' !== $cur -> response ) {
2007-08-30 20:21:03 +02:00
return false ;
2017-12-01 00:11:00 +01:00
}
2007-08-20 09:01:15 +02:00
2019-01-08 04:29:48 +01:00
$version_url = sprintf (
2019-09-03 02:41:05 +02:00
/* translators: %s: WordPress version. */
2023-04-05 00:38:22 +02:00
esc_url ( __ ( 'https://wordpress.org/documentation/wordpress-version/version-%s/' ) ),
2019-01-08 04:29:48 +01:00
sanitize_title ( $cur -> current )
);
2016-06-10 17:54:30 +02:00
if ( current_user_can ( 'update_core' ) ) {
$msg = sprintf (
2019-09-03 02:41:05 +02:00
/* translators: 1: URL to WordPress release notes, 2: New WordPress version, 3: URL to network admin, 4: Accessibility text. */
2016-06-10 17:54:30 +02:00
__ ( '<a href="%1$s">WordPress %2$s</a> is available! <a href="%3$s" aria-label="%4$s">Please update now</a>.' ),
2019-01-08 04:29:48 +01:00
$version_url ,
2016-06-10 17:54:30 +02:00
$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 (
2019-09-03 02:41:05 +02:00
/* translators: 1: URL to WordPress release notes, 2: New WordPress version. */
2016-06-10 17:54:30 +02:00
__ ( '<a href="%1$s">WordPress %2$s</a> is available! Please notify the site administrator.' ),
2019-01-08 04:29:48 +01:00
$version_url ,
2016-06-10 17:54:30 +02:00
$cur -> current
);
2010-12-06 16:41:19 +01:00
}
2020-07-05 13:57:04 +02:00
Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`.
Adds further usages of `wp_admin_notice()` in `/wp-admin/includes/` on `.notice-error`, `.notice-warning`, `.error`, and `.updated`.
Ongoing task to implement new function across core.
Follow-up to [56408], [56409], [56410], [56518], [56570], [56571], [56572], [56573], [56576], [56589], [56590], [56597].
Props joedolson, mukesh27, costdev.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56599
git-svn-id: http://core.svn.wordpress.org/trunk@56111 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-17 17:23:22 +02:00
wp_admin_notice (
$msg ,
array (
'type' => 'warning' ,
'additonal_classes' => array ( 'update-nag' , 'inline' ),
'paragraph_wrap' => false ,
)
);
2007-08-17 12:33:52 +02:00
}
2019-11-23 19:51:01 +01:00
/**
* Displays WordPress version and active theme in the 'At a Glance' dashboard widget .
*
* @ since 2.5 . 0
*/
2008-03-11 17:13:07 +01:00
function update_right_now_message () {
2014-03-25 15:36:15 +01:00
$theme_name = wp_get_theme ();
2023-06-01 17:14:27 +02:00
2014-03-25 15:36:15 +01:00
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
2017-12-01 00:11:00 +01:00
if ( current_user_can ( 'update_core' ) ) {
2011-09-30 19:31:52 +02:00
$cur = get_preferred_from_update_core ();
2020-02-09 17:55:09 +01:00
if ( isset ( $cur -> response ) && 'upgrade' === $cur -> response ) {
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
$msg .= sprintf (
'<a href="%s" class="button" aria-describedby="wp-version">%s</a> ' ,
network_admin_url ( 'update-core.php' ),
2019-09-03 02:41:05 +02:00
/* translators: %s: WordPress version number, or 'Latest' string. */
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
sprintf ( __ ( 'Update to %s' ), $cur -> current ? $cur -> current : __ ( 'Latest' ) )
);
2017-12-01 00:11:00 +01:00
}
2010-12-06 16:41:19 +01:00
}
2008-03-11 17:13:07 +01:00
2019-09-03 02:41:05 +02:00
/* translators: 1: Version number, 2: Theme name. */
2015-08-31 23:45:21 +02:00
$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
/**
2022-07-09 14:59:11 +02:00
* Retrieves plugins with updates available .
2022-07-08 22:13:12 +02: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 () {
2017-12-01 00:11:00 +01:00
$all_plugins = get_plugins ();
2009-10-20 18:11:59 +02:00
$upgrade_plugins = array ();
2017-12-01 00:11:00 +01:00
$current = get_site_transient ( 'update_plugins' );
2023-06-01 17:14:27 +02:00
2017-12-01 00:11:00 +01:00
foreach ( ( array ) $all_plugins as $plugin_file => $plugin_data ) {
2009-10-20 18:11:59 +02:00
if ( isset ( $current -> response [ $plugin_file ] ) ) {
2017-12-01 00:11:00 +01:00
$upgrade_plugins [ $plugin_file ] = ( object ) $plugin_data ;
2009-10-20 18:11:59 +02:00
$upgrade_plugins [ $plugin_file ] -> update = $current -> response [ $plugin_file ];
}
}
return $upgrade_plugins ;
}
2015-05-31 05:18:25 +02:00
/**
2022-07-09 14:59:11 +02:00
* Adds a callback to display update information for plugins with updates available .
2022-07-08 22:13:12 +02:00
*
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 () {
2017-12-01 00:11:00 +01:00
if ( ! current_user_can ( 'update_plugins' ) ) {
2010-01-18 23:21:36 +01:00
return ;
2017-12-01 00:11:00 +01:00
}
2010-01-18 23:21:36 +01:00
2010-01-08 21:49:55 +01:00
$plugins = get_site_transient ( 'update_plugins' );
2023-06-01 17:14:27 +02:00
2017-12-01 00:11:00 +01:00
if ( isset ( $plugins -> response ) && is_array ( $plugins -> response ) ) {
2009-08-07 11:33:40 +02:00
$plugins = array_keys ( $plugins -> response );
2023-06-01 17:14:27 +02:00
2015-08-25 22:28:22 +02:00
foreach ( $plugins as $plugin_file ) {
2019-08-22 21:08:55 +02:00
add_action ( " after_plugin_row_ { $plugin_file } " , 'wp_plugin_update_row' , 10 , 2 );
2009-08-07 11:33:40 +02:00
}
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
*
2019-11-23 19:51:01 +01:00
* @ since 2.3 . 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 string $file Plugin basename .
* @ param array $plugin_data Plugin information .
2020-01-11 19:32:05 +01:00
* @ return void | false
2015-05-29 22:17:26 +02:00
*/
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' );
2023-06-01 17:14:27 +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
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 (
2017-12-01 00:11:00 +01:00
'a' => array (
'href' => array (),
'title' => array (),
),
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
'abbr' => array ( 'title' => array () ),
'acronym' => array ( 'title' => array () ),
'code' => array (),
'em' => array (),
'strong' => array (),
);
2009-05-25 01:47:49 +02:00
2017-12-01 00:11:00 +01:00
$plugin_name = wp_kses ( $plugin_data [ 'Name' ], $plugins_allowedtags );
Plugins: Add support for `Update URI` header.
This allows third-party plugins to avoid accidentally being overwritten with an update of a plugin of a similar name from the WordPress.org Plugin Directory.
Additionally, introduce the `update_plugins_{$hostname}` filter, which third-party plugins can use to offer updates for a given hostname.
If set, the `Update URI` header field should be a URI and have a unique hostname.
Some examples include:
* `https://wordpress.org/plugins/example-plugin/`
* `https://example.com/my-plugin/`
* `my-custom-plugin-name`
`Update URI: false` also works, and unless there is code handling the `false` hostname, the plugin will never get an update notification.
If the header is present, the WordPress.org API will currently only return updates for the plugin if it matches the following format:
* `https://wordpress.org/plugins/{$slug}/`
* `w.org/plugin/{$slug}`
If the header has any other value, the API will not return a result and will ignore the plugin for update purposes.
Props dd32, DavidAnderson, meloniq, markjaquith, DrewAPicture, mweichert, design_dolphin, filosofo, sean212, nhuja, JeroenReumkens, infolu, dingdang, joyously, earnjam, williampatton, grapplerulrich, markparnell, apedog, afragen, miqrogroove, rmccue, crazycoders, jdgrimes, damonganto, joostdevalk, jorbin, georgestephanis, khromov, GeekStreetWP, jb510, Rarst, juliobox, Ipstenu, mikejolley, Otto42, gMagicScott, TJNowell, GaryJ, knutsp, mordauk, nvartolomei, aspexi, chriscct7, benoitchantre, ryno267, lev0, gregorlove, dougwollison, SergeyBiryukov.
See #14179, #23318, #32101.
Built from https://develop.svn.wordpress.org/trunk@50921
git-svn-id: http://core.svn.wordpress.org/trunk@50530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-05-17 19:04:01 +02:00
$plugin_slug = isset ( $response -> slug ) ? $response -> slug : $response -> id ;
if ( isset ( $response -> slug ) ) {
$details_url = self_admin_url ( 'plugin-install.php?tab=plugin-information&plugin=' . $plugin_slug . '§ion=changelog' );
} elseif ( isset ( $response -> url ) ) {
$details_url = $response -> url ;
} else {
$details_url = $plugin_data [ 'PluginURI' ];
}
$details_url = add_query_arg (
array (
'TB_iframe' => 'true' ,
'width' => 600 ,
'height' => 800 ,
),
$details_url
);
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 */
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
$wp_list_table = _get_list_table (
'WP_Plugins_List_Table' ,
array (
'screen' => get_current_screen (),
)
);
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' : '' ;
}
2019-04-13 01:56:52 +02:00
$requires_php = isset ( $response -> requires_php ) ? $response -> requires_php : null ;
$compatible_php = is_php_version_compatible ( $requires_php );
2019-03-20 02:44:51 +01:00
$notice_type = $compatible_php ? 'notice-warning' : 'notice-error' ;
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
printf (
'<tr class="plugin-update-tr%s" id="%s" data-slug="%s" data-plugin="%s">' .
'<td colspan="%s" class="plugin-update colspanchange">' .
'<div class="update-message notice inline %s notice-alt"><p>' ,
$active_class ,
Plugins: Add support for `Update URI` header.
This allows third-party plugins to avoid accidentally being overwritten with an update of a plugin of a similar name from the WordPress.org Plugin Directory.
Additionally, introduce the `update_plugins_{$hostname}` filter, which third-party plugins can use to offer updates for a given hostname.
If set, the `Update URI` header field should be a URI and have a unique hostname.
Some examples include:
* `https://wordpress.org/plugins/example-plugin/`
* `https://example.com/my-plugin/`
* `my-custom-plugin-name`
`Update URI: false` also works, and unless there is code handling the `false` hostname, the plugin will never get an update notification.
If the header is present, the WordPress.org API will currently only return updates for the plugin if it matches the following format:
* `https://wordpress.org/plugins/{$slug}/`
* `w.org/plugin/{$slug}`
If the header has any other value, the API will not return a result and will ignore the plugin for update purposes.
Props dd32, DavidAnderson, meloniq, markjaquith, DrewAPicture, mweichert, design_dolphin, filosofo, sean212, nhuja, JeroenReumkens, infolu, dingdang, joyously, earnjam, williampatton, grapplerulrich, markparnell, apedog, afragen, miqrogroove, rmccue, crazycoders, jdgrimes, damonganto, joostdevalk, jorbin, georgestephanis, khromov, GeekStreetWP, jb510, Rarst, juliobox, Ipstenu, mikejolley, Otto42, gMagicScott, TJNowell, GaryJ, knutsp, mordauk, nvartolomei, aspexi, chriscct7, benoitchantre, ryno267, lev0, gregorlove, dougwollison, SergeyBiryukov.
See #14179, #23318, #32101.
Built from https://develop.svn.wordpress.org/trunk@50921
git-svn-id: http://core.svn.wordpress.org/trunk@50530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-05-17 19:04:01 +02:00
esc_attr ( $plugin_slug . '-update' ),
esc_attr ( $plugin_slug ),
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
esc_attr ( $file ),
esc_attr ( $wp_list_table -> get_column_count () ),
$notice_type
);
2011-05-22 23:24:32 +02:00
2015-01-08 08:05:25 +01:00
if ( ! current_user_can ( 'update_plugins' ) ) {
2017-12-01 00:11:00 +01:00
printf (
2019-09-03 02:41:05 +02:00
/* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number. */
2017-12-01 00:11:00 +01:00
__ ( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>.' ),
2015-12-20 17:09:28 +01:00
$plugin_name ,
esc_url ( $details_url ),
2017-12-01 00:11:00 +01:00
sprintf (
'class="thickbox open-plugin-details-modal" aria-label="%s"' ,
2019-09-03 02:41:05 +02:00
/* translators: 1: Plugin name, 2: Version number. */
2016-07-17 23:03:31 +02:00
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $plugin_name , $response -> new_version ) )
),
2019-03-20 02:44:51 +01:00
esc_attr ( $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 ) ) {
2017-12-01 00:11:00 +01:00
printf (
2019-09-03 02:41:05 +02:00
/* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number. */
2017-12-01 00:11:00 +01:00
__ ( 'There is a new version of %1$s available. <a href="%2$s" %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 ),
2017-12-01 00:11:00 +01:00
sprintf (
'class="thickbox open-plugin-details-modal" aria-label="%s"' ,
2019-09-03 02:41:05 +02:00
/* translators: 1: Plugin name, 2: Version number. */
2016-07-17 23:03:31 +02:00
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $plugin_name , $response -> new_version ) )
),
2019-03-20 02:44:51 +01:00
esc_attr ( $response -> new_version )
2015-12-20 17:09:28 +01:00
);
2015-01-08 08:05:25 +01:00
} else {
2019-03-20 02:44:51 +01:00
if ( $compatible_php ) {
printf (
2019-09-03 02:41:05 +02:00
/* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number, 5: Update URL, 6: Additional link attributes. */
2019-03-20 02:44:51 +01:00
__ ( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a> or <a href="%5$s" %6$s>update now</a>.' ),
$plugin_name ,
esc_url ( $details_url ),
sprintf (
'class="thickbox open-plugin-details-modal" aria-label="%s"' ,
2019-09-03 02:41:05 +02:00
/* translators: 1: Plugin name, 2: Version number. */
2019-03-20 02:44:51 +01:00
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $plugin_name , $response -> new_version ) )
),
esc_attr ( $response -> new_version ),
wp_nonce_url ( self_admin_url ( 'update.php?action=upgrade-plugin&plugin=' ) . $file , 'upgrade-plugin_' . $file ),
sprintf (
'class="update-link" aria-label="%s"' ,
2019-09-03 02:41:05 +02:00
/* translators: %s: Plugin name. */
2020-07-21 01:14:05 +02:00
esc_attr ( sprintf ( _x ( 'Update %s now' , 'plugin' ), $plugin_name ) )
2019-03-20 02:44:51 +01:00
)
);
} else {
printf (
2019-09-03 02:41:05 +02:00
/* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number 5: URL to Update PHP page. */
Administration: Replace contracted verb forms for better consistency.
This changeset replaces contracted verb forms like `doesn't`, `can't`, or `isn't` with non-contracted forms like `does not`, `cannot`, or `is not`, for better consistency across the WordPress administration. It also updates some corresponding unit tests strings.
Props Presskopp, socalchristina, aandrewdixon, francina, SergeyBiryukov, JeffPaul, audrasjb, hellofromTonya.
Fixes #38913.
See #39176.
Built from https://develop.svn.wordpress.org/trunk@52978
git-svn-id: http://core.svn.wordpress.org/trunk@52567 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-03-22 17:25:03 +01:00
__ ( 'There is a new version of %1$s available, but it does not work with your version of PHP. <a href="%2$s" %3$s>View version %4$s details</a> or <a href="%5$s">learn more about updating PHP</a>.' ),
2019-03-20 02:44:51 +01:00
$plugin_name ,
esc_url ( $details_url ),
sprintf (
'class="thickbox open-plugin-details-modal" aria-label="%s"' ,
2019-09-03 02:41:05 +02:00
/* translators: 1: Plugin name, 2: Version number. */
2019-03-20 02:44:51 +01:00
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $plugin_name , $response -> new_version ) )
),
esc_attr ( $response -> new_version ),
esc_url ( wp_get_update_php_url () )
);
2019-03-22 02:08:51 +01:00
wp_update_php_annotation ( '<br><em>' , '</em>' );
2019-03-20 02:44:51 +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
*
Docs: Update documentation for the `$plugin_data` parameter of various hooks:
* Document the structure of the `$plugin_data` array passed to the `plugin_row_meta` filter.
* Document some missing values returned by `get_plugin_data()`:
* `PluginURI`
* `AuthorName`
* Link to `get_plugin_data()` and the `plugin_row_meta` filter as the canonical sources in other various filters and actions which receive the `$plugin_data` parameter:
* `network_admin_plugin_action_links`
* `network_admin_plugin_action_links_{$plugin_file}`
* `plugin_action_links`
* `plugin_action_links_{$plugin_file}`
* `plugin_auto_update_setting_html`
* `manage_plugins_custom_column`
* `after_plugin_row`
* `after_plugin_row_{$plugin_file}`
* `in_plugin_update_message-{$file}`
* Update documentation for the `$response` parameter of the `in_plugin_update_message-{$file}` filter:
* Correct type for the `id` value. It contains a string like `w.org/plugins/[plugin-name]`, not a numeric ID.
* Update `$icons`, `$banners`, and `$banners_rtl` values to use typed array notation.
Follow-up to [8367], [8402], [12976], [16758], [26540], [30544], [34818], [51733], [52212], [52224].
See #53399.
Built from https://develop.svn.wordpress.org/trunk@52227
git-svn-id: http://core.svn.wordpress.org/trunk@51819 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-11-20 03:23:02 +01:00
* @ param array $plugin_data An array of plugin metadata . See get_plugin_data ()
* and the { @ see 'plugin_row_meta' } filter for the list
* of possible values .
2021-11-19 23:16:58 +01:00
* @ param object $response {
* An object of metadata about the available plugin update .
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
*
Docs: Update documentation for the `$plugin_data` parameter of various hooks:
* Document the structure of the `$plugin_data` array passed to the `plugin_row_meta` filter.
* Document some missing values returned by `get_plugin_data()`:
* `PluginURI`
* `AuthorName`
* Link to `get_plugin_data()` and the `plugin_row_meta` filter as the canonical sources in other various filters and actions which receive the `$plugin_data` parameter:
* `network_admin_plugin_action_links`
* `network_admin_plugin_action_links_{$plugin_file}`
* `plugin_action_links`
* `plugin_action_links_{$plugin_file}`
* `plugin_auto_update_setting_html`
* `manage_plugins_custom_column`
* `after_plugin_row`
* `after_plugin_row_{$plugin_file}`
* `in_plugin_update_message-{$file}`
* Update documentation for the `$response` parameter of the `in_plugin_update_message-{$file}` filter:
* Correct type for the `id` value. It contains a string like `w.org/plugins/[plugin-name]`, not a numeric ID.
* Update `$icons`, `$banners`, and `$banners_rtl` values to use typed array notation.
Follow-up to [8367], [8402], [12976], [16758], [26540], [30544], [34818], [51733], [52212], [52224].
See #53399.
Built from https://develop.svn.wordpress.org/trunk@52227
git-svn-id: http://core.svn.wordpress.org/trunk@51819 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-11-20 03:23:02 +01:00
* @ type string $id Plugin ID , e . g . `w.org/plugins/[plugin-name]` .
* @ type string $slug Plugin slug .
* @ type string $plugin Plugin basename .
* @ type string $new_version New plugin version .
* @ type string $url Plugin URL .
* @ type string $package Plugin update package URL .
* @ type string [] $icons An array of plugin icon URLs .
* @ type string [] $banners An array of plugin banner URLs .
* @ type string [] $banners_rtl An array of plugin RTL banner URLs .
* @ type string $requires The version of WordPress which the plugin requires .
* @ type string $tested The version of WordPress the plugin is tested against .
* @ type string $requires_php The version of PHP which the plugin requires .
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
*/
2019-07-05 03:45:56 +02:00
do_action ( " in_plugin_update_message- { $file } " , $plugin_data , $response ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
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
/**
2022-07-09 14:59:11 +02:00
* Retrieves themes with updates available .
2022-07-08 22:13:12 +02:00
*
2019-11-23 19:51:01 +01:00
* @ since 2.9 . 0
*
2015-05-29 22:17:26 +02:00
* @ return array
*/
2009-10-20 18:11:59 +02:00
function get_theme_updates () {
2017-12-01 00:11:00 +01:00
$current = get_site_transient ( 'update_themes' );
2009-10-20 18:11:59 +02:00
2017-12-01 00:11:00 +01:00
if ( ! isset ( $current -> response ) ) {
2012-04-11 22:15:31 +02:00
return array ();
2017-12-01 00:11:00 +01:00
}
2012-04-11 22:15:31 +02:00
2012-05-03 18:41:59 +02:00
$update_themes = array ();
2023-06-01 17:14:27 +02:00
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 ) {
2017-12-01 00:11:00 +01:00
$update_themes [ $stylesheet ] = wp_get_theme ( $stylesheet );
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
$update_themes [ $stylesheet ] -> update = $data ;
2009-10-20 18:11:59 +02:00
}
return $update_themes ;
}
2015-05-31 05:18:25 +02:00
/**
2022-07-09 14:59:11 +02:00
* Adds a callback to display update information for themes with updates available .
2022-07-08 22:13:12 +02:00
*
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 () {
2017-12-01 00:11:00 +01:00
if ( ! current_user_can ( 'update_themes' ) ) {
2010-11-01 21:08:25 +01:00
return ;
2017-12-01 00:11:00 +01:00
}
2010-11-01 21:08:25 +01:00
$themes = get_site_transient ( 'update_themes' );
2023-06-01 17:14:27 +02:00
2017-12-01 00:11:00 +01:00
if ( isset ( $themes -> response ) && is_array ( $themes -> response ) ) {
2010-11-01 21:08:25 +01:00
$themes = array_keys ( $themes -> response );
2015-08-25 22:28:22 +02:00
foreach ( $themes as $theme ) {
2019-08-22 21:08:55 +02:00
add_action ( " after_theme_row_ { $theme } " , 'wp_theme_update_row' , 10 , 2 );
2010-11-01 21:08:25 +01: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 theme .
2015-05-29 22:17:26 +02:00
*
2019-11-23 19:51:01 +01:00
* @ 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 string $theme_key Theme stylesheet .
* @ param WP_Theme $theme Theme object .
2020-01-11 19:32:05 +01:00
* @ return void | false
2015-05-29 22:17:26 +02:00
*/
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
2017-12-01 00:11:00 +01:00
$details_url = add_query_arg (
array (
'TB_iframe' => 'true' ,
'width' => 1024 ,
'height' => 800 ,
2018-08-17 03:51:36 +02:00
),
$current -> response [ $theme_key ][ 'url' ]
2017-12-01 00:11:00 +01:00
);
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
2020-07-28 13:34:04 +02:00
$requires_wp = isset ( $response [ 'requires' ] ) ? $response [ 'requires' ] : null ;
$requires_php = isset ( $response [ 'requires_php' ] ) ? $response [ 'requires_php' ] : null ;
$compatible_wp = is_wp_version_compatible ( $requires_wp );
2020-07-29 23:08:02 +02:00
$compatible_php = is_php_version_compatible ( $requires_php );
2020-07-28 13:34:04 +02:00
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
printf (
'<tr class="plugin-update-tr%s" id="%s" data-slug="%s">' .
'<td colspan="%s" class="plugin-update colspanchange">' .
'<div class="update-message notice inline notice-warning notice-alt"><p>' ,
$active ,
esc_attr ( $theme -> get_stylesheet () . '-update' ),
esc_attr ( $theme -> get_stylesheet () ),
$wp_list_table -> get_column_count ()
);
2020-07-28 13:34:04 +02:00
if ( $compatible_wp && $compatible_php ) {
if ( ! current_user_can ( 'update_themes' ) ) {
printf (
/* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number. */
__ ( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>.' ),
$theme [ 'Name' ],
esc_url ( $details_url ),
sprintf (
'class="thickbox open-plugin-details-modal" aria-label="%s"' ,
/* translators: 1: Theme name, 2: Version number. */
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $theme [ 'Name' ], $response [ 'new_version' ] ) )
),
$response [ 'new_version' ]
);
} elseif ( empty ( $response [ 'package' ] ) ) {
printf (
/* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number. */
__ ( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>. <em>Automatic update is unavailable for this theme.</em>' ),
$theme [ 'Name' ],
esc_url ( $details_url ),
sprintf (
'class="thickbox open-plugin-details-modal" aria-label="%s"' ,
/* translators: 1: Theme name, 2: Version number. */
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $theme [ 'Name' ], $response [ 'new_version' ] ) )
),
$response [ 'new_version' ]
);
} else {
printf (
/* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number, 5: Update URL, 6: Additional link attributes. */
__ ( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a> or <a href="%5$s" %6$s>update now</a>.' ),
$theme [ 'Name' ],
esc_url ( $details_url ),
sprintf (
'class="thickbox open-plugin-details-modal" aria-label="%s"' ,
/* translators: 1: Theme name, 2: Version number. */
esc_attr ( sprintf ( __ ( 'View %1$s version %2$s details' ), $theme [ 'Name' ], $response [ 'new_version' ] ) )
),
$response [ 'new_version' ],
wp_nonce_url ( self_admin_url ( 'update.php?action=upgrade-theme&theme=' ) . $theme_key , 'upgrade-theme_' . $theme_key ),
sprintf (
'class="update-link" aria-label="%s"' ,
/* translators: %s: Theme name. */
esc_attr ( sprintf ( _x ( 'Update %s now' , 'theme' ), $theme [ 'Name' ] ) )
)
);
}
2015-01-08 08:05:25 +01:00
} else {
2020-07-28 13:34:04 +02:00
if ( ! $compatible_wp && ! $compatible_php ) {
printf (
2019-09-03 02:41:05 +02:00
/* translators: %s: Theme name. */
Administration: Replace contracted verb forms for better consistency.
This changeset replaces contracted verb forms like `doesn't`, `can't`, or `isn't` with non-contracted forms like `does not`, `cannot`, or `is not`, for better consistency across the WordPress administration. It also updates some corresponding unit tests strings.
Props Presskopp, socalchristina, aandrewdixon, francina, SergeyBiryukov, JeffPaul, audrasjb, hellofromTonya.
Fixes #38913.
See #39176.
Built from https://develop.svn.wordpress.org/trunk@52978
git-svn-id: http://core.svn.wordpress.org/trunk@52567 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-03-22 17:25:03 +01:00
__ ( 'There is a new version of %s available, but it does not work with your versions of WordPress and PHP.' ),
2020-07-28 13:34:04 +02:00
$theme [ 'Name' ]
);
if ( current_user_can ( 'update_core' ) && current_user_can ( 'update_php' ) ) {
printf (
/* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */
' ' . __ ( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.' ),
self_admin_url ( 'update-core.php' ),
esc_url ( wp_get_update_php_url () )
);
wp_update_php_annotation ( '</p><p><em>' , '</em>' );
} elseif ( current_user_can ( 'update_core' ) ) {
printf (
/* translators: %s: URL to WordPress Updates screen. */
' ' . __ ( '<a href="%s">Please update WordPress</a>.' ),
self_admin_url ( 'update-core.php' )
);
} elseif ( current_user_can ( 'update_php' ) ) {
printf (
/* translators: %s: URL to Update PHP page. */
' ' . __ ( '<a href="%s">Learn more about updating PHP</a>.' ),
esc_url ( wp_get_update_php_url () )
);
wp_update_php_annotation ( '</p><p><em>' , '</em>' );
}
} elseif ( ! $compatible_wp ) {
printf (
/* translators: %s: Theme name. */
Administration: Replace contracted verb forms for better consistency.
This changeset replaces contracted verb forms like `doesn't`, `can't`, or `isn't` with non-contracted forms like `does not`, `cannot`, or `is not`, for better consistency across the WordPress administration. It also updates some corresponding unit tests strings.
Props Presskopp, socalchristina, aandrewdixon, francina, SergeyBiryukov, JeffPaul, audrasjb, hellofromTonya.
Fixes #38913.
See #39176.
Built from https://develop.svn.wordpress.org/trunk@52978
git-svn-id: http://core.svn.wordpress.org/trunk@52567 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-03-22 17:25:03 +01:00
__ ( 'There is a new version of %s available, but it does not work with your version of WordPress.' ),
2020-07-28 13:34:04 +02:00
$theme [ 'Name' ]
);
if ( current_user_can ( 'update_core' ) ) {
printf (
/* translators: %s: URL to WordPress Updates screen. */
' ' . __ ( '<a href="%s">Please update WordPress</a>.' ),
self_admin_url ( 'update-core.php' )
);
}
} elseif ( ! $compatible_php ) {
printf (
/* translators: %s: Theme name. */
Administration: Replace contracted verb forms for better consistency.
This changeset replaces contracted verb forms like `doesn't`, `can't`, or `isn't` with non-contracted forms like `does not`, `cannot`, or `is not`, for better consistency across the WordPress administration. It also updates some corresponding unit tests strings.
Props Presskopp, socalchristina, aandrewdixon, francina, SergeyBiryukov, JeffPaul, audrasjb, hellofromTonya.
Fixes #38913.
See #39176.
Built from https://develop.svn.wordpress.org/trunk@52978
git-svn-id: http://core.svn.wordpress.org/trunk@52567 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-03-22 17:25:03 +01:00
__ ( 'There is a new version of %s available, but it does not work with your version of PHP.' ),
2020-07-28 13:34:04 +02:00
$theme [ 'Name' ]
);
if ( current_user_can ( 'update_php' ) ) {
printf (
/* translators: %s: URL to Update PHP page. */
' ' . __ ( '<a href="%s">Learn more about updating PHP</a>.' ),
esc_url ( wp_get_update_php_url () )
);
wp_update_php_annotation ( '</p><p><em>' , '</em>' );
}
}
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 .
* }
*/
2019-07-05 03:45:56 +02:00
do_action ( " in_theme_update_message- { $theme_key } " , $theme , $response ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
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
/**
2022-07-08 22:13:12 +02:00
* Displays maintenance nag HTML message .
*
2019-11-23 19:51:01 +01:00
* @ since 2.7 . 0
*
2015-05-29 04:06:31 +02:00
* @ global int $upgrading
2023-06-01 17:14:27 +02:00
*
2020-01-11 19:32:05 +01:00
* @ return void | false
2015-05-29 04:06:31 +02:00
*/
2008-10-26 00:22:29 +02:00
function maintenance_nag () {
2020-01-29 01:45:18 +01:00
// Include an unmodified $wp_version.
2020-02-06 07:33:11 +01:00
require ABSPATH . WPINC . '/version.php' ;
2008-10-26 00:22:29 +02:00
global $upgrading ;
2023-06-01 17:14:27 +02:00
2013-10-25 00:59:53 +02:00
$nag = isset ( $upgrading );
2023-06-01 17:14:27 +02:00
2013-10-25 00:59:53 +02:00
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 .
2017-08-22 13:52:48 +02:00
* In that case , if the installation claims we ' re running the version we attempted , nag .
2013-10-25 00:59:53 +02:00
* 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' ] ) ? '>=' : '>' ;
2019-09-19 16:30:56 +02:00
if ( isset ( $failed [ 'attempted' ] ) && version_compare ( $failed [ 'attempted' ], $wp_version , $comparison ) ) {
2013-10-25 00:59:53 +02:00
$nag = true ;
2017-12-01 00:11:00 +01:00
}
2013-10-25 00:59:53 +02:00
}
2017-12-01 00:11:00 +01:00
if ( ! $nag ) {
2008-10-26 00:22:29 +02:00
return false ;
2017-12-01 00:11:00 +01:00
}
2008-10-26 00:22:29 +02:00
2017-12-01 00:11:00 +01:00
if ( current_user_can ( 'update_core' ) ) {
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
$msg = sprintf (
2019-09-03 02:41:05 +02:00
/* translators: %s: URL to WordPress Updates screen. */
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 19:13:59 +02:00
__ ( 'An automated WordPress update has failed to complete - <a href="%s">please attempt the update again now</a>.' ),
'update-core.php'
);
2017-12-01 00:11:00 +01:00
} else {
$msg = __ ( 'An automated WordPress update has failed to complete! Please notify the site administrator.' );
}
2008-10-26 00:22:29 +02:00
Administration: Use `wp_admin_notice()` more in `/wp-admin/includes/`.
Adds further usages of `wp_admin_notice()` in `/wp-admin/includes/` on `.notice-error`, `.notice-warning`, `.error`, and `.updated`.
Ongoing task to implement new function across core.
Follow-up to [56408], [56409], [56410], [56518], [56570], [56571], [56572], [56573], [56576], [56589], [56590], [56597].
Props joedolson, mukesh27, costdev.
See #57791.
Built from https://develop.svn.wordpress.org/trunk@56599
git-svn-id: http://core.svn.wordpress.org/trunk@56111 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-17 17:23:22 +02:00
wp_admin_notice (
$msg ,
array (
'type' => 'warning' ,
'additional_classes' => array ( 'update-nag' , 'inline' ),
'paragraph_wrap' => false ,
)
);
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 .
*
2022-07-08 22:13:12 +02:00
* @ since 4.6 . 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
* 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' .
* }
*/
function wp_print_admin_notice_templates () {
?>
< script id = " tmpl-wp-updates-admin-notice " type = " text/html " >
2016-08-10 21:03:31 +02:00
< div < # if ( data.id ) { #>id="{{ data.id }}"<# } #> class="notice {{ data.className }}"><p>{{{ data.message }}}</p></div>
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
</ script >
< script id = " tmpl-wp-bulk-updates-admin-notice " type = " text/html " >
2016-08-04 00:24:35 +02:00
< div id = " { { data.id }} " class = " { { data.className }} notice <# if ( data.errors ) { #>notice-error<# } else { #>notice-success<# } #> " >
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
< p >
< # if ( data.successes ) { #>
2022-10-11 12:05:16 +02:00
< # 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 }}' );
?>
< # } #>
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
< # } else { #>
2022-10-11 12:05:16 +02:00
< # 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 }}' );
?>
< # } #>
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 ( data.errors ) { #>
2016-08-04 00:24:35 +02:00
< button class = " button-link bulk-action-errors-collapsed " aria - expanded = " false " >
2022-10-11 12:05:16 +02:00
< # if ( 1 === data.errors ) { #>
< ? php
/* translators: %s: Number of failed updates. */
printf ( __ ( '%s update failed.' ), '{{ data.errors }}' );
?>
< # } else { #>
< ? php
/* translators: %s: Number of failed updates. */
printf ( __ ( '%s updates failed.' ), '{{ data.errors }}' );
?>
< # } #>
I18N: Mark screen reader strings as such with translator comments.
This aims to provide better context for translators and make it easier to determine that some strings contain hidden accessibility text and are not displayed in the UI.
Props kebbet, mercime, pavelevap, ocean90, swissspidy, Chouby, jipmoors, afercia, desrosj, costdev, audrasjb, SergeyBiryukov.
Fixes #29748.
Built from https://develop.svn.wordpress.org/trunk@55276
git-svn-id: http://core.svn.wordpress.org/trunk@54809 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-02-07 18:10:21 +01:00
< span class = " screen-reader-text " >
< ? php
/* translators: Hidden accessibility text. */
_e ( 'Show more details' );
?>
</ span >
2016-08-04 00:24:35 +02:00
< span class = " toggle-indicator " aria - hidden = " true " ></ span >
</ button >
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
< # } #>
</ p >
< # if ( data.errors ) { #>
2016-08-04 00:24:35 +02:00
< ul class = " bulk-action-errors hidden " >
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
< # _.each( data.errorMessages, function( errorMessage ) { #>
< li > {{ errorMessage }} </ li >
< # } ); #>
</ ul >
< # } #>
</ div >
</ script >
< ? php
}
/**
* Prints the JavaScript templates for update and deletion rows in list tables .
*
2022-07-08 22:13:12 +02:00
* @ since 4.6 . 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
* 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 .
* }
2016-07-13 19:32: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
* 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 .
* }
*/
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 " >
2016-07-13 19:32:29 +02:00
< # if ( data.plugin ) { #>
< ? php
printf (
2019-09-03 02:41:05 +02:00
/* translators: %s: Plugin name. */
2016-07-13 19:32:29 +02:00
_x ( '%s was successfully deleted.' , 'plugin' ),
'<strong>{{{ data.name }}}</strong>'
);
?>
< # } else { #>
< ? php
printf (
2019-09-03 02:41:05 +02:00
/* translators: %s: Theme name. */
2016-07-13 19:32:29 +02:00
_x ( '%s was successfully deleted.' , 'theme' ),
'<strong>{{{ data.name }}}</strong>'
);
?>
< # } #>
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
</ td >
</ tr >
</ script >
< ? php
}
Administration: Improve user experience and clarify when in recovery mode.
This changeset introduces several changes around usability when recovery mode is active:
* Display a notice in the admin clarifying that the user is in recovery mode.
* Use a highlight color for the admin bar link to exit recovery mode.
* Exit recovery mode automatically when logging out.
* Include a recovery mode indicator in the title tag.
Props aandrewdixon, azaozz, dhanukanuwan, flixos90, henrywright, karmatosed, mapk, melchoyce, spacedmonkey, TimothyBlynJacobs, tinkerbelly.
See #46608.
Built from https://develop.svn.wordpress.org/trunk@45117
git-svn-id: http://core.svn.wordpress.org/trunk@44926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-05 19:00:52 +02:00
/**
* Displays a notice when the user is in recovery mode .
*
* @ since 5.2 . 0
*/
function wp_recovery_mode_nag () {
if ( ! wp_is_recovery_mode () ) {
return ;
}
2019-06-13 18:00:52 +02:00
$url = wp_login_url ();
$url = add_query_arg ( 'action' , WP_Recovery_Mode :: EXIT_ACTION , $url );
$url = wp_nonce_url ( $url , WP_Recovery_Mode :: EXIT_ACTION );
2023-09-14 03:13:20 +02:00
$message = sprintf (
/* translators: %s: Recovery Mode exit link. */
__ ( 'You are in recovery mode. This means there may be an error with a theme or plugin. To exit recovery mode, log out or use the Exit button. <a href="%s">Exit Recovery Mode</a>' ),
esc_url ( $url )
);
wp_admin_notice ( $message , array ( 'type' => 'info' ) );
Administration: Improve user experience and clarify when in recovery mode.
This changeset introduces several changes around usability when recovery mode is active:
* Display a notice in the admin clarifying that the user is in recovery mode.
* Use a highlight color for the admin bar link to exit recovery mode.
* Exit recovery mode automatically when logging out.
* Include a recovery mode indicator in the title tag.
Props aandrewdixon, azaozz, dhanukanuwan, flixos90, henrywright, karmatosed, mapk, melchoyce, spacedmonkey, TimothyBlynJacobs, tinkerbelly.
See #46608.
Built from https://develop.svn.wordpress.org/trunk@45117
git-svn-id: http://core.svn.wordpress.org/trunk@44926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-05 19:00:52 +02:00
}
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
/**
* Checks whether auto - updates are enabled .
*
* @ since 5.5 . 0
*
2020-06-20 00:17:07 +02:00
* @ param string $type The type of update being checked : 'theme' or 'plugin' .
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
* @ return bool True if auto - updates are enabled for `$type` , false otherwise .
*/
function wp_is_auto_update_enabled_for_type ( $type ) {
2020-07-28 18:15:03 +02:00
if ( ! class_exists ( 'WP_Automatic_Updater' ) ) {
require_once ABSPATH . 'wp-admin/includes/class-wp-automatic-updater.php' ;
}
$updater = new WP_Automatic_Updater ();
$enabled = ! $updater -> is_disabled ();
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
switch ( $type ) {
case 'plugin' :
/**
2020-06-20 00:17:07 +02:00
* Filters whether plugins auto - update is enabled .
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
*
* @ since 5.5 . 0
*
* @ param bool $enabled True if plugins auto - update is enabled , false otherwise .
*/
2020-07-28 18:15:03 +02:00
return apply_filters ( 'plugins_auto_update_enabled' , $enabled );
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
case 'theme' :
/**
2020-06-20 00:17:07 +02:00
* Filters whether themes auto - update is enabled .
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
*
* @ since 5.5 . 0
*
2020-06-20 00:17:07 +02:00
* @ param bool $enabled True if themes auto - update is enabled , false otherwise .
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
*/
2020-07-28 18:15:03 +02:00
return apply_filters ( 'themes_auto_update_enabled' , $enabled );
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
}
return false ;
}
2020-10-20 19:39:07 +02:00
/**
* Checks whether auto - updates are forced for an item .
*
* @ since 5.6 . 0
*
* @ param string $type The type of update being checked : 'theme' or 'plugin' .
* @ param bool | null $update Whether to update . The value of null is internally used
* to detect whether nothing has hooked into this filter .
* @ param object $item The update offer .
* @ return bool True if auto - updates are forced for `$item` , false otherwise .
*/
function wp_is_auto_update_forced_for_item ( $type , $update , $item ) {
/** This filter is documented in wp-admin/includes/class-wp-automatic-updater.php */
return apply_filters ( " auto_update_ { $type } " , $update , $item );
}
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
/**
2020-06-20 00:17:07 +02:00
* Determines the appropriate auto - update message to be displayed .
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
*
* @ since 5.5 . 0
*
* @ return string The update message to be shown .
*/
function wp_get_auto_update_message () {
$next_update_time = wp_next_scheduled ( 'wp_version_check' );
2020-06-24 00:30:09 +02:00
// Check if the event exists.
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
if ( false === $next_update_time ) {
2020-06-28 16:18:03 +02:00
$message = __ ( 'Automatic update not scheduled. There may be a problem with WP-Cron.' );
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
} else {
2020-10-08 23:15:13 +02:00
$time_to_next_update = human_time_diff ( ( int ) $next_update_time );
2020-06-24 00:24:09 +02:00
// See if cron is overdue.
$overdue = ( time () - $next_update_time ) > 0 ;
2020-06-24 00:30:09 +02:00
2020-06-24 00:24:09 +02:00
if ( $overdue ) {
$message = sprintf (
2020-06-24 00:30:09 +02:00
/* translators: %s: Duration that WP-Cron has been overdue. */
2020-06-28 16:18:03 +02:00
__ ( 'Automatic update overdue by %s. There may be a problem with WP-Cron.' ),
2020-06-24 00:24:09 +02:00
$time_to_next_update
);
} else {
$message = sprintf (
2020-06-24 00:30:09 +02:00
/* translators: %s: Time until the next update. */
2020-06-28 16:18:03 +02:00
__ ( 'Automatic update scheduled in %s.' ),
2020-06-24 00:24:09 +02:00
$time_to_next_update
);
}
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
}
2020-06-24 00:24:09 +02:00
return $message ;
Security: Add user interface to auto-update themes and plugins.
Building on core update mechanisms, this adds the ability to enable automatic updates for themes and plugins to the WordPress admin.
Fixes: #50052.
Props: afercia, afragen, audrasjb, azaozz, bookdude13, davidperonne, desrosj, gmays, gmays, javiercasares, karmatosed, knutsp, mapk, mukesh27, netweb, nicolaskulka, nielsdeblaauw, paaljoachim, passoniate, pbiron, pedromendonca, whodunitagency, whyisjake, wpamitkumar, and xkon.
Built from https://develop.svn.wordpress.org/trunk@47835
git-svn-id: http://core.svn.wordpress.org/trunk@47611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-20 20:49:09 +02:00
}