WordPress 4.1.1-scripts
[autoinstalls/wordpress.git] / wp-includes / feed-rss2-comments.php
index 7bd5ae2954b98639ae953a7495b77750d5b1d093..703fa87cfa3d6490e97b1310779148323c19de84 100644 (file)
@@ -1,54 +1,99 @@
 <?php
-header('Content-Type: text/xml;charset=' . get_option('blog_charset'), true);
+/**
+ * RSS2 Feed Template for displaying RSS2 Comments feed.
+ *
+ * @package WordPress
+ */
+
+header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
 
 echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
+
+/** This action is documented in wp-includes/feed-rss2.php */
+do_action( 'rss_tag_pre', 'rss2-comments' );
 ?>
-<!-- generator="wordpress/<?php echo $wp_version ?>" -->
 <rss version="2.0"
        xmlns:content="http://purl.org/rss/1.0/modules/content/"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
-       >
+       xmlns:atom="http://www.w3.org/2005/Atom"
+       xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
+       <?php
+       /** This action is documented in wp-includes/feed-rss2.php */
+       do_action( 'rss2_ns' );
+       ?>
+
+       <?php
+       /**
+        * Fires at the end of the RSS root to add namespaces.
+        *
+        * @since 2.8.0
+        */
+       do_action( 'rss2_comments_ns' );
+       ?>
+>
 <channel>
        <title><?php
                if ( is_singular() )
-                       printf(__('Comments on: %s'), get_the_title_rss());
+                       printf( ent2ncr( __( 'Comments on: %s' ) ), get_the_title_rss() );
                elseif ( is_search() )
-                       printf(__('Comments for %s searching on %s'), get_bloginfo_rss( 'name' ), attribute_escape($wp_query->query_vars['s']));
+                       printf( ent2ncr( __( 'Comments for %1$s searching on %2$s' ) ), get_bloginfo_rss( 'name' ), get_search_query() );
                else
-                       printf(__('Comments for %s'), get_bloginfo_rss( 'name' ) . get_wp_title_rss());
+                       printf( ent2ncr( __( 'Comments for %s' ) ), get_bloginfo_rss( 'name' ) . get_wp_title_rss() );
        ?></title>
+       <atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
        <link><?php (is_single()) ? the_permalink_rss() : bloginfo_rss("url") ?></link>
        <description><?php bloginfo_rss("description") ?></description>
-       <pubDate><?php echo gmdate('r'); ?></pubDate>
-       <generator>http://wordpress.org/?v=<?php echo $wp_version ?></generator>
-       <?php do_action('commentsrss2_head'); ?>
-<?php
-if ( have_comments() ) : while ( have_comments() ) : the_comment();
-       $comment_post = get_post($comment->comment_post_ID);
-       get_post_custom($comment_post->ID);
-?>
+       <lastBuildDate><?php echo mysql2date('r', get_lastcommentmodified('GMT')); ?></lastBuildDate>
+       <sy:updatePeriod><?php
+               /** This filter is documented in wp-includes/feed-rss2.php */
+               echo apply_filters( 'rss_update_period', 'hourly' );
+       ?></sy:updatePeriod>
+       <sy:updateFrequency><?php
+               /** This filter is documented in wp-includes/feed-rss2.php */
+               echo apply_filters( 'rss_update_frequency', '1' );
+       ?></sy:updateFrequency>
+       <?php
+       /**
+        * Fires at the end of the RSS2 comment feed header.
+        *
+        * @since 2.3.0
+        */
+       do_action( 'commentsrss2_head' );
+
+       if ( have_comments() ) : while ( have_comments() ) : the_comment();
+               $comment_post = $GLOBALS['post'] = get_post( $comment->comment_post_ID );
+       ?>
        <item>
                <title><?php
                        if ( !is_singular() ) {
                                $title = get_the_title($comment_post->ID);
-                               $title = apply_filters('the_title_rss', $title);
-                               printf(__('Comment on %1$s by %2$s'), $title, get_comment_author_rss());
+                               /** This filter is documented in wp-includes/feed.php */
+                               $title = apply_filters( 'the_title_rss', $title );
+                               printf(ent2ncr(__('Comment on %1$s by %2$s')), $title, get_comment_author_rss());
                        } else {
-                               printf(__('By: %s'), get_comment_author_rss());
+                               printf(ent2ncr(__('By: %s')), get_comment_author_rss());
                        }
                ?></title>
                <link><?php comment_link() ?></link>
-               <dc:creator><?php echo get_comment_author_rss() ?></dc:creator>
-               <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_comment_time('Y-m-d H:i:s', true), false); ?></pubDate>
-               <guid><?php comment_link() ?></guid>
-<?php if (!empty($comment_post->post_password) && $_COOKIE['wp-postpass'] != $comment_post->post_password) : ?>
-               <description><?php _e('Protected Comments: Please enter your password to view comments.'); ?></description>
+               <dc:creator><![CDATA[<?php echo get_comment_author_rss() ?>]]></dc:creator>
+               <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_comment_time('Y-m-d H:i:s', true, false), false); ?></pubDate>
+               <guid isPermaLink="false"><?php comment_guid() ?></guid>
+<?php if ( post_password_required($comment_post) ) : ?>
+               <description><?php echo ent2ncr(__('Protected Comments: Please enter your password to view comments.')); ?></description>
                <content:encoded><![CDATA[<?php echo get_the_password_form() ?>]]></content:encoded>
 <?php else : // post pass ?>
-               <description><?php comment_text_rss() ?></description>
+               <description><![CDATA[<?php comment_text_rss() ?>]]></description>
                <content:encoded><![CDATA[<?php comment_text() ?>]]></content:encoded>
 <?php endif; // post pass
-       do_action('commentrss2_item', $comment->comment_ID, $comment_post->ID);
+       /**
+        * Fires at the end of each RSS2 comment feed item.
+        *
+        * @since 2.1.0
+        *
+        * @param int $comment->comment_ID The ID of the comment being displayed.
+        * @param int $comment_post->ID    The ID of the post the comment is connected to.
+        */
+       do_action( 'commentrss2_item', $comment->comment_ID, $comment_post->ID );
 ?>
        </item>
 <?php endwhile; endif; ?>