diff -r 490d5cc509ed -r cf61fcea0001 wp/wp-admin/includes/revision.php --- a/wp/wp-admin/includes/revision.php Tue Jun 09 11:14:17 2015 +0000 +++ b/wp/wp-admin/includes/revision.php Mon Oct 14 17:39:30 2019 +0200 @@ -4,6 +4,7 @@ * * @package WordPress * @subpackage Administration + * @since 3.6.0 */ /** @@ -54,7 +55,7 @@ $return = array(); - foreach ( _wp_post_revision_fields() as $field => $name ) { + foreach ( _wp_post_revision_fields( $post ) as $field => $name ) { /** * Contextually filter a post revision field. * @@ -69,24 +70,24 @@ * @param string null The context of whether the current revision is the old * or the new one. Values are 'to' or 'from'. */ - $content_from = $compare_from ? apply_filters( "_wp_post_revision_field_$field", $compare_from->$field, $field, $compare_from, 'from' ) : ''; + $content_from = $compare_from ? apply_filters( "_wp_post_revision_field_{$field}", $compare_from->$field, $field, $compare_from, 'from' ) : ''; /** This filter is documented in wp-admin/includes/revision.php */ - $content_to = apply_filters( "_wp_post_revision_field_$field", $compare_to->$field, $field, $compare_to, 'to' ); + $content_to = apply_filters( "_wp_post_revision_field_{$field}", $compare_to->$field, $field, $compare_to, 'to' ); $args = array( 'show_split_view' => true ); /** - * Filter revisions text diff options. + * Filters revisions text diff options. * - * Filter the options passed to {@see wp_text_diff()} when viewing a post revision. + * Filters the options passed to wp_text_diff() when viewing a post revision. * * @since 4.1.0 * * @param array $args { - * Associative array of options to pass to {@see wp_text_diff()}. + * Associative array of options to pass to wp_text_diff(). * * @type bool $show_split_view True for split view (two columns), false for * un-split view (single column). Default true. @@ -118,7 +119,7 @@ } /** - * Filter the fields displayed in the post revision diff UI. + * Filters the fields displayed in the post revision diff UI. * * @since 4.1.0 * @@ -165,7 +166,7 @@ foreach ( $revisions as $revision ) { $modified = strtotime( $revision->post_modified ); - $modified_gmt = strtotime( $revision->post_modified_gmt ); + $modified_gmt = strtotime( $revision->post_modified_gmt . ' +0000' ); if ( $can_restore ) { $restore_link = str_replace( '&', '&', wp_nonce_url( add_query_arg( @@ -199,7 +200,7 @@ $current_id = $revision->ID; } - $revisions[ $revision->ID ] = array( + $revisions_data = array( 'id' => $revision->ID, 'title' => get_the_title( $post->ID ), 'author' => $authors[ $revision->post_author ], @@ -210,6 +211,30 @@ 'current' => $current, 'restoreUrl' => $can_restore ? $restore_link : false, ); + + /** + * Filters the array of revisions used on the revisions screen. + * + * @since 4.4.0 + * + * @param array $revisions_data { + * The bootstrapped data for the revisions screen. + * + * @type int $id Revision ID. + * @type string $title Title for the revision's parent WP_Post object. + * @type int $author Revision post author ID. + * @type string $date Date the revision was modified. + * @type string $dateShort Short-form version of the date the revision was modified. + * @type string $timeAgo GMT-aware amount of time ago the revision was modified. + * @type bool $autosave Whether the revision is an autosave. + * @type bool $current Whether the revision is both not an autosave and the post + * modified date matches the revision modified date (GMT-aware). + * @type bool|false $restoreUrl URL if the revision can be restored, false otherwise. + * } + * @param WP_Post $revision The revision's WP_Post object. + * @param WP_Post $post The revision's parent WP_Post object. + */ + $revisions[ $revision->ID ] = apply_filters( 'wp_prepare_revision_for_js', $revisions_data, $revision, $post ); } /** @@ -315,7 +340,7 @@ } #> /> - + @@ -375,4 +400,4 @@ <# }); #>