Make WordPress Core

Ticket #4575: 4575.13.diff

File 4575.13.diff, 7.5 KB (added by adamsilverstein, 5 years ago)
  • src/wp-includes/feed-atom-comments.php

    diff --git src/wp-includes/feed-atom-comments.php src/wp-includes/feed-atom-comments.php
    index 3bf0521574..49e5ca0764 100644
    do_action( 'rss_tag_pre', 'atom-comments' ); 
    4343        </title>
    4444        <subtitle type="text"><?php bloginfo_rss( 'description' ); ?></subtitle>
    4545
    46         <?php $date = get_last_build_date(); ?>
    47         <updated><?php echo $date ? mysql2date( 'Y-m-d\TH:i:s\Z', $date, false ) : date( 'Y-m-d\TH:i:s\Z' ); ?></updated>
     46        <updated><?php echo get_feed_build_date( 'Y-m-d\TH:i:s\Z' ); ?></updated>
    4847
    4948<?php if ( is_singular() ) { ?>
    5049        <link rel="alternate" type="<?php bloginfo_rss( 'html_type' ); ?>" href="<?php comments_link_feed(); ?>" />
  • src/wp-includes/feed-atom.php

    diff --git src/wp-includes/feed-atom.php src/wp-includes/feed-atom.php
    index 16e9157b7f..bce41086be 100644
    do_action( 'rss_tag_pre', 'atom' ); 
    3030        <title type="text"><?php wp_title_rss(); ?></title>
    3131        <subtitle type="text"><?php bloginfo_rss( 'description' ); ?></subtitle>
    3232
    33         <?php $date = get_last_build_date(); ?>
    34         <updated><?php echo $date ? mysql2date( 'Y-m-d\TH:i:s\Z', $date, false ) : date( 'Y-m-d\TH:i:s\Z' ); ?></updated>
     33        <updated><?php echo get_feed_build_date( 'Y-m-d\TH:i:s\Z' ); ?></updated>
    3534
    3635        <link rel="alternate" type="<?php bloginfo_rss( 'html_type' ); ?>" href="<?php bloginfo_rss( 'url' ); ?>" />
    3736        <id><?php bloginfo( 'atom_url' ); ?></id>
  • src/wp-includes/feed-rdf.php

    diff --git src/wp-includes/feed-rdf.php src/wp-includes/feed-rdf.php
    index 708893245f..861425ae30 100644
    do_action( 'rss_tag_pre', 'rdf' ); 
    3333        <title><?php wp_title_rss(); ?></title>
    3434        <link><?php bloginfo_rss( 'url' ); ?></link>
    3535        <description><?php bloginfo_rss( 'description' ); ?></description>
    36         <dc:date>
    37         <?php
    38                 $date = get_last_build_date();
    39                 echo $date ? mysql2date( 'Y-m-d\TH:i:s\Z', $date ) : date( 'Y-m-d\TH:i:s\Z' );
    40         ?>
    41         </dc:date>
     36        <dc:date><?php echo get_feed_build_date( 'Y-m-d\TH:i:s\Z' ); ?> </dc:date>
    4237        <sy:updatePeriod>
    4338        <?php
    4439                /** This filter is documented in wp-includes/feed-rss2.php */
  • src/wp-includes/feed-rss.php

    diff --git src/wp-includes/feed-rss.php src/wp-includes/feed-rss.php
    index 06d5f66a60..0b58d5f0ee 100644
    echo '<?xml version="1.0" encoding="' . get_option( 'blog_charset' ) . '"?' . '> 
    1414        <title><?php wp_title_rss(); ?></title>
    1515        <link><?php bloginfo_rss( 'url' ); ?></link>
    1616        <description><?php bloginfo_rss( 'description' ); ?></description>
    17         <lastBuildDate>
    18         <?php
    19                 $date = get_last_build_date();
    20                 echo $date ? mysql2date( 'D, d M Y H:i:s +0000', $date ) : date( 'D, d M Y H:i:s +0000' );
    21         ?>
    22         </lastBuildDate>
     17        <lastBuildDate><?php echo get_feed_build_date( 'D, d M Y H:i:s +0000' ); ?></lastBuildDate>
    2318        <docs>http://backend.userland.com/rss092</docs>
    2419        <language><?php bloginfo_rss( 'language' ); ?></language>
    2520
  • src/wp-includes/feed-rss2-comments.php

    diff --git src/wp-includes/feed-rss2-comments.php src/wp-includes/feed-rss2-comments.php
    index c736bebccd..f8ba016b23 100644
    do_action( 'rss_tag_pre', 'rss2-comments' ); 
    4949        <atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
    5050        <link><?php ( is_single() ) ? the_permalink_rss() : bloginfo_rss( 'url' ); ?></link>
    5151        <description><?php bloginfo_rss( 'description' ); ?></description>
    52         <lastBuildDate>
    53         <?php
    54                 $date = get_last_build_date();
    55                 echo $date ? mysql2date( 'r', $date, false ) : date( 'r' );
    56         ?>
    57         </lastBuildDate>
     52        <lastBuildDate><?php echo get_feed_build_date( 'r' ); ?></lastBuildDate>
    5853        <sy:updatePeriod>
    5954        <?php
    6055                /** This filter is documented in wp-includes/feed-rss2.php */
  • src/wp-includes/feed-rss2.php

    diff --git src/wp-includes/feed-rss2.php src/wp-includes/feed-rss2.php
    index d7ddccabe0..1ba7707561 100644
    do_action( 'rss_tag_pre', 'rss2' ); 
    4242        <atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
    4343        <link><?php bloginfo_rss( 'url' ); ?></link>
    4444        <description><?php bloginfo_rss( 'description' ); ?></description>
    45         <lastBuildDate>
    46         <?php
    47                 $date = get_last_build_date();
    48                 echo $date ? mysql2date( 'r', $date, false ) : date( 'r' );
    49         ?>
    50         </lastBuildDate>
     45        <lastBuildDate><?php echo get_feed_build_date( 'r' ); ?></lastBuildDate>
    5146        <language><?php bloginfo_rss( 'language' ); ?></language>
    5247        <sy:updatePeriod>
    5348        <?php
  • src/wp-includes/feed.php

    diff --git src/wp-includes/feed.php src/wp-includes/feed.php
    index f8662b3055..662e62c225 100644
    function self_link() { 
    638638}
    639639
    640640/*
    641 * Get the timestamp of the most recently modified post from WP_Query.
    642 *
    643 * If viewing a comment feed, the date of the most recently modified
    644 * comment will be returned.
    645 *
    646 * @global WP_Query  $wp_query The global WP_Query object.
    647 *
    648 * @since 5.2.0
    649 *
    650 * @return string The timestamp.
    651 */
    652 function get_last_build_date() {
     641 * Get the timestamp of the most recently modified post from WP_Query.
     642 *
     643 * If viewing a comment feed, the date of the most recently modified
     644 * comment will be returned.
     645 *
     646 * @global WP_Query  $wp_query The global WP_Query object.
     647 *
     648 * @since 5.2.0
     649 *
     650 * @param string $format Format of the date to return, passed to mysql2date.
     651 *
     652 * @return string The timestamp.
     653 */
     654function get_feed_build_date( $format ) {
    653655        global $wp_query;
    654656
    655657        if ( empty( $wp_query ) || ! $wp_query->have_posts() ) {
    function get_last_build_date() { 
    670672        }
    671673
    672674        // Determine the maximum modified time.
    673         $max_modified_time = max( $modified_times );
     675        $max_modified_time = max(
     676                array_map(
     677                        function ( $time ) use ( $format ) {
     678                                                return mysql2date( $format, $time, false );
     679                        },
     680                        $modified_times
     681                )
     682        );
    674683
    675684        /**
    676685         * Filters the date the last post or comment in the query was modified.
    677686         *
    678687         * @since 5.2.0
    679688         *
    680          * @param string $max_modified_times Date the last post or comment was modified in the query.
     689         * @param string $max_modified_time Date the last post or comment was modified in the query.
     690         * @param string $format            The date format requested in get_feed_build_date.
    681691         */
    682         return apply_filters( 'get_last_build_date', $max_modified_time );
     692        return apply_filters( 'get_feed_build_date', $max_modified_time, $format );
    683693}
    684694
    685695/**
  • tests/phpunit/tests/feed/rss2.php

    diff --git tests/phpunit/tests/feed/rss2.php tests/phpunit/tests/feed/rss2.php
    index 4b17ac747a..58fbba3894 100644
    class Tests_Feeds_RSS2 extends WP_UnitTestCase { 
    472472         *
    473473         * @ticket 4575
    474474         *
    475          * @dataProvider data_test_get_last_build_date
     475         * @dataProvider data_test_get_feed_build_date
    476476         */
    477         public function test_get_last_build_date( $url, $element ) {
     477        public function test_get_feed_build_date( $url, $element ) {
    478478                $this->go_to( $url );
    479479                $feed = $this->do_rss2();
    480480                $xml  = xml_to_array( $feed );
    class Tests_Feeds_RSS2 extends WP_UnitTestCase { 
    482482                // Get the <rss> child element of <xml>.
    483483                $rss             = xml_find( $xml, $element );
    484484                $last_build_date = $rss[0]['child'][0]['child'][4]['content'];
    485                 $this->assertEquals( strtotime( get_last_build_date() ), strtotime( $last_build_date ) );
     485                $this->assertEquals( strtotime( get_feed_build_date() ), strtotime( $last_build_date ) );
    486486        }
    487487
    488488
    489         public function data_test_get_last_build_date() {
     489        public function data_test_get_feed_build_date() {
    490490                return array(
    491491                        array( '/?feed=rss2', 'rss' ),
    492492                        array( '/?feed=commentsrss2', 'rss' ),