Date/Time: XML-RPC: Сalculate the proper offset for GMT in `wp.newPost`, `wp.editComment`, `mw.newPost`, `mw.editPost` when `post_date` or `comment_date` is set.
Previously, `post_date` or `comment_date` was assumed to be GMT, which is only true if the timezone string for the site matches GMT. Add unit tests. Props Rarst, smerriman, justdaiv, wonderboymusic, noyle. Merges [46864] to the 5.3 branch. Fixes #30429. Built from https://develop.svn.wordpress.org/branches/5.3@46865 git-svn-id: http://core.svn.wordpress.org/branches/5.3@46665 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
e5f1a70a87
commit
1cdaf142f2
|
@ -1469,8 +1469,8 @@ class wp_xmlrpc_server extends IXR_Server {
|
||||||
$post_data['edit_date'] = false;
|
$post_data['edit_date'] = false;
|
||||||
|
|
||||||
if ( ! empty( $dateCreated ) ) {
|
if ( ! empty( $dateCreated ) ) {
|
||||||
$post_data['post_date'] = get_date_from_gmt( iso8601_to_datetime( $dateCreated ) );
|
$post_data['post_date'] = iso8601_to_datetime( $dateCreated );
|
||||||
$post_data['post_date_gmt'] = iso8601_to_datetime( $dateCreated, 'GMT' );
|
$post_data['post_date_gmt'] = iso8601_to_datetime( $dateCreated, 'gmt' );
|
||||||
|
|
||||||
// Flag the post date to be edited.
|
// Flag the post date to be edited.
|
||||||
$post_data['edit_date'] = true;
|
$post_data['edit_date'] = true;
|
||||||
|
@ -3762,8 +3762,8 @@ class wp_xmlrpc_server extends IXR_Server {
|
||||||
if ( ! empty( $content_struct['date_created_gmt'] ) ) {
|
if ( ! empty( $content_struct['date_created_gmt'] ) ) {
|
||||||
// We know this is supposed to be GMT, so we're going to slap that Z on there by force
|
// We know this is supposed to be GMT, so we're going to slap that Z on there by force
|
||||||
$dateCreated = rtrim( $content_struct['date_created_gmt']->getIso(), 'Z' ) . 'Z';
|
$dateCreated = rtrim( $content_struct['date_created_gmt']->getIso(), 'Z' ) . 'Z';
|
||||||
$comment['comment_date'] = get_date_from_gmt( iso8601_to_datetime( $dateCreated ) );
|
$comment['comment_date'] = get_date_from_gmt( $dateCreated );
|
||||||
$comment['comment_date_gmt'] = iso8601_to_datetime( $dateCreated, 'GMT' );
|
$comment['comment_date_gmt'] = iso8601_to_datetime( $dateCreated, 'gmt' );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( isset( $content_struct['content'] ) ) {
|
if ( isset( $content_struct['content'] ) ) {
|
||||||
|
@ -5481,8 +5481,8 @@ class wp_xmlrpc_server extends IXR_Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! empty( $dateCreated ) ) {
|
if ( ! empty( $dateCreated ) ) {
|
||||||
$post_date = get_date_from_gmt( iso8601_to_datetime( $dateCreated ) );
|
$post_date = iso8601_to_datetime( $dateCreated );
|
||||||
$post_date_gmt = iso8601_to_datetime( $dateCreated, 'GMT' );
|
$post_date_gmt = iso8601_to_datetime( $dateCreated, 'gmt' );
|
||||||
} else {
|
} else {
|
||||||
$post_date = '';
|
$post_date = '';
|
||||||
$post_date_gmt = '';
|
$post_date_gmt = '';
|
||||||
|
@ -5870,8 +5870,8 @@ class wp_xmlrpc_server extends IXR_Server {
|
||||||
$edit_date = false;
|
$edit_date = false;
|
||||||
|
|
||||||
if ( ! empty( $dateCreated ) ) {
|
if ( ! empty( $dateCreated ) ) {
|
||||||
$post_date = get_date_from_gmt( iso8601_to_datetime( $dateCreated ) );
|
$post_date = iso8601_to_datetime( $dateCreated );
|
||||||
$post_date_gmt = iso8601_to_datetime( $dateCreated, 'GMT' );
|
$post_date_gmt = iso8601_to_datetime( $dateCreated, 'gmt' );
|
||||||
|
|
||||||
// Flag the post date to be edited.
|
// Flag the post date to be edited.
|
||||||
$edit_date = true;
|
$edit_date = true;
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '5.3.1-alpha-46863';
|
$wp_version = '5.3.1-alpha-46865';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue