]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/feed-atom-comments.php
Wordpress 2.7.1
[autoinstalls/wordpress.git] / wp-includes / feed-atom-comments.php
index e7c3c7cba6abb47242be0ee6cdbaea4be3c6230e..e51b8da1b05e89f379e4443f0f9b3f6657b16f3f 100644 (file)
@@ -11,15 +11,16 @@ echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '" ?' . '>'
 <feed
        xmlns="http://www.w3.org/2005/Atom"
        xml:lang="<?php echo get_option('rss_language'); ?>"
+       xmlns:thr="http://purl.org/syndication/thread/1.0"
        <?php do_action('atom_ns'); ?>
 >
        <title type="text"><?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 %1$s searching on %2$s'), get_bloginfo_rss( 'name' ), attribute_escape(get_search_query()));
+                       printf(ent2ncr(__('Comments for %1$s searching on %2$s')), get_bloginfo_rss( 'name' ), attribute_escape(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>
        <subtitle type="text"><?php bloginfo_rss('description'); ?></subtitle>
 
@@ -50,9 +51,9 @@ if ( have_comments() ) : while ( have_comments() ) : the_comment();
                        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());
+                               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 rel="alternate" href="<?php comment_link(); ?>" type="<?php bloginfo_rss('html_type'); ?>" />
@@ -63,14 +64,23 @@ if ( have_comments() ) : while ( have_comments() ) : the_comment();
 
                </author>
 
-               <id><?php comment_link(); ?></id>
+               <id><?php comment_guid(); ?></id>
                <updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_comment_time('Y-m-d H:i:s', true), false); ?></updated>
                <published><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_comment_time('Y-m-d H:i:s', true), false); ?></published>
-<?php if (!empty($comment_post->post_password) && $_COOKIE['wp-postpass'] != $comment_post->post_password) : ?>
+<?php if ( post_password_required($comment_post) ) : ?>
                <content type="html" xml:base="<?php comment_link(); ?>"><![CDATA[<?php echo get_the_password_form(); ?>]]></content>
 <?php else : // post pass ?>
                <content type="html" xml:base="<?php comment_link(); ?>"><![CDATA[<?php comment_text(); ?>]]></content>
 <?php endif; // post pass
+       // Return comment threading information (http://www.ietf.org/rfc/rfc4685.txt)
+       if ( $comment->comment_parent == 0 ) : // This comment is top level ?>
+               <thr:in-reply-to ref="<?php the_guid() ?>" href="<?php the_permalink_rss() ?>" type="<?php bloginfo_rss('html_type'); ?>" />
+<?php else : // This comment is in reply to another comment
+       $parent_comment = get_comment($comment->comment_parent);
+       // The rel attribute below and the id tag above should be GUIDs, but WP doesn't create them for comments (unlike posts). Either way, its more important that they both use the same system
+?>
+               <thr:in-reply-to ref="<?php comment_guid($parent_comment) ?>" href="<?php echo get_comment_link($parent_comment) ?>" type="<?php bloginfo_rss('html_type'); ?>" />
+<?php endif;
        do_action('comment_atom_entry', $comment->comment_ID, $comment_post->ID);
 ?>
        </entry>