wp/wp-includes/feed-atom-comments.php
author ymh <ymh.work@gmail.com>
Fri, 08 Nov 2013 12:04:48 +0000
changeset 2 a899d1822525
parent 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
add unfiltered-mu plugin to allow administrator to add scripts and iframes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * Atom Feed Template for displaying Atom Comments feed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * @package WordPress
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
header('Content-Type: ' . feed_content_type('atom') . '; charset=' . get_option('blog_charset'), true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '" ?' . '>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
<feed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
	xmlns="http://www.w3.org/2005/Atom"
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
	xml:lang="<?php bloginfo_rss( 'language' ); ?>"
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
	xmlns:thr="http://purl.org/syndication/thread/1.0"
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
	<?php do_action('atom_ns'); do_action('atom_comments_ns'); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
	<title type="text"><?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
		if ( is_singular() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
			printf( ent2ncr( __( 'Comments on %s' ) ), get_the_title_rss() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
		elseif ( is_search() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
			printf( ent2ncr( __( 'Comments for %1$s searching on %2$s' ) ), get_bloginfo_rss( 'name' ), get_search_query() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
			printf( ent2ncr( __( 'Comments for %s' ) ), get_bloginfo_rss( 'name' ) . get_wp_title_rss() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
	?></title>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
	<subtitle type="text"><?php bloginfo_rss('description'); ?></subtitle>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
	<updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastcommentmodified('GMT'), false); ?></updated>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
<?php if ( is_singular() ) { ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
	<link rel="alternate" type="<?php bloginfo_rss('html_type'); ?>" href="<?php comments_link_feed(); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
	<link rel="self" type="application/atom+xml" href="<?php echo esc_url( get_post_comments_feed_link('', 'atom') ); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
	<id><?php echo esc_url( get_post_comments_feed_link('', 'atom') ); ?></id>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
<?php } elseif(is_search()) { ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
	<link rel="alternate" type="<?php bloginfo_rss('html_type'); ?>" href="<?php echo home_url() . '?s=' . get_search_query(); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
	<link rel="self" type="application/atom+xml" href="<?php echo get_search_comments_feed_link('', 'atom'); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
	<id><?php echo get_search_comments_feed_link('', 'atom'); ?></id>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
<?php } else { ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
	<link rel="alternate" type="<?php bloginfo_rss('html_type'); ?>" href="<?php bloginfo_rss('url'); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
	<link rel="self" type="application/atom+xml" href="<?php bloginfo_rss('comments_atom_url'); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
	<id><?php bloginfo_rss('comments_atom_url'); ?></id>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
<?php } ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
<?php do_action('comments_atom_head'); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
if ( have_comments() ) : while ( have_comments() ) : the_comment();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
	$comment_post = $GLOBALS['post'] = get_post( $comment->comment_post_ID );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
	<entry>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
		<title><?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
			if ( !is_singular() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
				$title = get_the_title($comment_post->ID);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
				/** This filter is documented in wp-includes/feed.php */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
				$title = apply_filters( 'the_title_rss', $title );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
				printf(ent2ncr(__('Comment on %1$s by %2$s')), $title, get_comment_author_rss());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
				printf(ent2ncr(__('By: %s')), get_comment_author_rss());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
		?></title>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
		<link rel="alternate" href="<?php comment_link(); ?>" type="<?php bloginfo_rss('html_type'); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
		<author>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
			<name><?php comment_author_rss(); ?></name>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
			<?php if (get_comment_author_url()) echo '<uri>' . get_comment_author_url() . '</uri>'; ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
		</author>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
		<id><?php comment_guid(); ?></id>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
		<updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_comment_time('Y-m-d H:i:s', true, false), false); ?></updated>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
		<published><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_comment_time('Y-m-d H:i:s', true, false), false); ?></published>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
<?php if ( post_password_required($comment_post) ) : ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
		<content type="html" xml:base="<?php comment_link(); ?>"><![CDATA[<?php echo get_the_password_form(); ?>]]></content>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
<?php else : // post pass ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
		<content type="html" xml:base="<?php comment_link(); ?>"><![CDATA[<?php comment_text(); ?>]]></content>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
<?php endif; // post pass
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
	// Return comment threading information (http://www.ietf.org/rfc/rfc4685.txt)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
	if ( $comment->comment_parent == 0 ) : // This comment is top level ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
		<thr:in-reply-to ref="<?php the_guid(); ?>" href="<?php the_permalink_rss() ?>" type="<?php bloginfo_rss('html_type'); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
<?php else : // This comment is in reply to another comment
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
	$parent_comment = get_comment($comment->comment_parent);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
	// The rel attribute below and the id tag above should be GUIDs, but WP doesn't create them for comments (unlike posts). Either way, it's more important that they both use the same system
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
		<thr:in-reply-to ref="<?php comment_guid($parent_comment) ?>" href="<?php echo get_comment_link($parent_comment) ?>" type="<?php bloginfo_rss('html_type'); ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
<?php endif;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
	do_action('comment_atom_entry', $comment->comment_ID, $comment_post->ID);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
	</entry>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
<?php endwhile; endif; ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
</feed>