function dsq_export_wp() { global $wpdb, $posts, $post, $wp_version; global $dsq_api; $filename = dsq_get_temp_dir() . 'disqus-wordpress.' . date('Y-m-d') . '.xml'; $fp = fopen($filename, 'w'); ob_start(); $where = ''; if (isset($_GET['author']) && $_GET['author'] != 'all') { $author_id = (int) $_GET['author']; $where = " WHERE post_author = '{$author_id}' "; } $posts = $wpdb->get_results("SELECT * FROM {$wpdb->posts} {$where} ORDER BY post_date_gmt ASC"); function wxr_site_url() { global $current_site; // mu: the base url if (isset($current_site->domain)) { return 'http://' . $current_site->domain . $current_site->path; } else { return get_bloginfo_rss('url'); } } function wxr_cdata($str) { if (seems_utf8($str) == false) { $str = utf8_encode($str); } // $str = ent2ncr(wp_specialchars($str)); $str = "<![CDATA[{$str}" . (substr($str, -1) == ']' ? ' ' : '') . "]]>"; return $str; } function wxr_cat_name($c) { if (empty($c->cat_name)) { return; } echo '<wp:cat_name>' . wxr_cdata($c->cat_name) . '</wp:cat_name>'; } function wxr_category_description($c) { if (empty($c->category_description)) { return; } echo '<wp:category_description>' . wxr_cdata($c->category_description) . '</wp:category_description>'; } print '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?' . ">\n"; ?> <!-- This is a WordPress eXtended RSS file generated by WordPress as an export of your blog. It contains information about your blog's posts, comments, and categories. You may use this file to transfer that content from one site to another. This file is not intended to serve as a complete backup of your blog. To import this information into a WordPress blog follow these steps: 1. Log into that blog as an administrator. 2. Go to Manage > Import in the blog's admin. 3. Choose "WordPress" from the list of importers. 4. Upload this file using the form provided on that page. 5. You will first be asked to map the authors in this export file to users on the blog. For each author, you may choose to map an existing user on the blog or to create a new user. 6. WordPress will then import each of the posts, comments, and categories contained in this file onto your blog. --> <!-- generator="wordpress/<?php bloginfo_rss('version'); ?> " created="<?php echo date('Y-m-d H:i'); ?> "--> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wp="http://wordpress.org/export/<?php echo WXR_VERSION; ?> /" > <channel> <title><?php bloginfo_rss('name'); ?> </title> <link><?php bloginfo_rss('url'); ?> </link> <description><?php bloginfo_rss("description"); ?> </description> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?> </pubDate> <generator>http://wordpress.org/?v=<?php bloginfo_rss('version'); ?> </generator> <language><?php echo get_option('rss_language'); ?> </language> <wp:wxr_version><?php echo WXR_VERSION; ?> </wp:wxr_version> <wp:base_site_url><?php echo wxr_site_url(); ?> </wp:base_site_url> <wp:base_blog_url><?php bloginfo_rss('url'); ?> </wp:base_blog_url> <?php $contents = ob_get_clean(); fwrite($fp, $contents); ?> <?php if ($cats) { foreach ($cats as $c) { ?> <?php ob_start(); ?> <wp:category><wp:category_nicename><?php echo $c->category_nicename; ?> </wp:category_nicename><wp:category_parent><?php echo $c->category_parent ? $cats[$c->category_parent]->cat_name : ''; ?> </wp:category_parent><wp:posts_private><?php echo $c->posts_private ? '1' : '0'; ?> </wp:posts_private><wp:links_private><?php echo $c->links_private ? '1' : '0'; ?> </wp:links_private><?php wxr_cat_name($c); wxr_category_description($c); ?> </wp:category> <?php $contents = ob_get_clean(); fwrite($fp, $contents); ?> <?php } } ?> <?php do_action('rss2_head'); ?> <?php if ($posts) { foreach ($posts as $post) { ob_start(); start_wp(); ?> <item> <title><?php the_title_rss(); ?> </title> <link><?php permalink_single_rss(); ?> </link> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?> </pubDate> <dc:creator><?php the_author(); ?> </dc:creator> <?php the_category_rss(); ?> <guid isPermaLink="false"><?php the_guid(); ?> </guid> <description></description> <content:encoded><![CDATA[<?php echo $post->post_content; ?> ]]></content:encoded> <wp:post_id><?php echo $post->ID; ?> </wp:post_id> <wp:post_date><?php echo $post->post_date; ?> </wp:post_date> <wp:post_date_gmt><?php echo $post->post_date_gmt; ?> </wp:post_date_gmt> <wp:comment_status><?php echo $post->comment_status; ?> </wp:comment_status> <wp:ping_status><?php echo $post->ping_status; ?> </wp:ping_status> <wp:post_name><?php echo $post->post_name; ?> </wp:post_name> <wp:status><?php echo $post->post_status; ?> </wp:status> <wp:post_parent><?php echo $post->post_parent; ?> </wp:post_parent> <wp:menu_order><?php echo $post->menu_order; ?> </wp:menu_order> <wp:post_type><?php echo $post->post_type; ?> </wp:post_type> <?php $postmeta = $wpdb->get_results("SELECT * FROM {$wpdb->postmeta} WHERE post_id = {$post->ID}"); if ($postmeta) { ?> <?php foreach ($postmeta as $meta) { ?> <wp:postmeta> <wp:meta_key><?php echo $meta->meta_key; ?> </wp:meta_key> <wp:meta_value><?php echo $meta->meta_value; ?> </wp:meta_value> </wp:postmeta> <?php } ?> <?php } ?> <?php $contents = ob_get_clean(); fwrite($fp, $contents); ?> <?php $comments = $wpdb->get_results("SELECT * FROM {$wpdb->comments} WHERE comment_post_ID = {$post->ID} AND comment_agent NOT LIKE 'Disqus/%'"); ob_start(); if ($comments) { foreach ($comments as $c) { ?> <wp:comment> <wp:comment_id><?php echo $c->comment_ID; ?> </wp:comment_id> <wp:comment_author><?php echo $c->comment_author; ?> </wp:comment_author> <wp:comment_author_email><?php echo $c->comment_author_email; ?> </wp:comment_author_email> <wp:comment_author_url><?php echo $c->comment_author_url; ?> </wp:comment_author_url> <wp:comment_author_IP><?php echo $c->comment_author_IP; ?> </wp:comment_author_IP> <wp:comment_date><?php echo $c->comment_date; ?> </wp:comment_date> <wp:comment_date_gmt><?php echo $c->comment_date_gmt; ?> </wp:comment_date_gmt> <wp:comment_content><?php echo $c->comment_content; ?> </wp:comment_content> <wp:comment_approved><?php echo $c->comment_approved; ?> </wp:comment_approved> <wp:comment_type><?php echo $c->comment_type; ?> </wp:comment_type> <wp:comment_parent><?php echo $c->comment_parent; ?> </wp:comment_parent> </wp:comment> <?php } } ?> </item> <?php $contents = ob_get_clean(); fwrite($fp, $contents); ?> <?php } } ?> <?php ob_start(); ?> </channel> </rss> <?php $contents = ob_get_clean(); fwrite($fp, $contents); $response = $dsq_api->import_wordpress_comments($filename); $import_id = $response; unlink($filename); if ($response < 0) { dsq_manage_dialog("There was an error exporting your comments. If your API key has changed, you may need to reinstall DISQUS (deactivate the plugin and then reactivate it). If you are still having issues, refer to the <a href='http://disqus.com/comments/wordpress'>WordPress help page</a>.", true); } else { update_option('disqus_last_import_id', $import_id); dsq_manage_dialog('Your comments have been queued for importing to DISQUS. You may check the advanced options tab for a status update.'); } }
xmlns:dc="http://purl.org/dc/elements/1.1/" <?php do_action('rss2_ns'); ?> > <channel> <title><?php bloginfo_rss('name'); ?></title> <link><?php bloginfo_rss('url') ?></link> <description><?php bloginfo_rss("description") ?></description> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></pubDate> <generator>http://wordpress.org/?v=<?php bloginfo_rss('version'); ?></generator> <language><?php echo get_option('rss_language'); ?></language> <?php do_action('rss2_head'); ?> <?php while( have_posts()) : the_post(); ?> <item> <title><?php the_title_rss() ?></title> <link><?php permalink_single_rss() ?></link> <comments><?php comments_link(); ?></comments> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate> <dc:creator><?php the_author() ?></dc:creator> <?php the_category_rss() ?> <guid isPermaLink="false"><?php the_guid(); ?></guid> <?php if (get_option('rss_use_excerpt')) : ?> <description><![CDATA[<?php the_excerpt_rss() ?>]]></description> <?php else : ?> <description><![CDATA[<?php the_excerpt_rss() ?>]]></description> <?php if ( strlen( $post->post_content ) > 0 ) : ?> <content:encoded><![CDATA[<?php the_content() ?>]]></content:encoded> <?php else : ?> <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded> <?php endif; ?>
<description><?php the_excerpt_rss(get_settings('rss_excerpt_length'), get_settings('rss_encoded_html')); ?> </description> <?php } else { // use content ?> <description><?php the_content_rss('', 0, '', get_settings('rss_excerpt_length'), get_settings('rss_encoded_html')); ?> </description> <?php } // end else use content ?> <link><?php permalink_single_rss(); ?> </link> </item> <?php $items_count++; if ($items_count == $posts_per_page && empty($m)) { break; } } } ?> </channel> </rss>
<tagline><?php bloginfo_rss("description") ?></tagline> <modified><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT')); ?></modified> <copyright>Copyright <?php echo mysql2date('Y', get_lastpostdate('blog')); ?></copyright> <generator url="http://wordpress.org/" version="<?php bloginfo_rss('version'); ?>">WordPress</generator> <?php $items_count = 0; if ($posts) { foreach ($posts as $post) { start_wp(); ?> <entry> <author> <name><?php the_author() ?></name> </author> <title type="text/html" mode="escaped"><![CDATA[<?php the_title_rss() ?>]]></title> <link rel="alternate" type="text/html" href="<?php permalink_single_rss() ?>" /> <id><?php the_guid(); ?></id> <modified><?php the_time('Y-m-d\TH:i:s\Z'); ?></modified> <issued> <?php the_time('Y-m-d\TH:i:s\Z'); ?></issued> <?php the_category_rss('rdf') ?> <summary type="<?php bloginfo('html_type'); ?>" mode="escaped"><![CDATA[<?php the_excerpt_rss(); ?>]]></summary> <?php if (!get_settings('rss_use_excerpt')) : ?> <?php if ( strlen( $post->post_content ) ) : ?> <content type="<?php bloginfo('html_type'); ?>" mode="escaped" xml:base="<?php permalink_single_rss() ?>"><![CDATA[<?php the_content('', 0, '') ?>]]></content> <?php else : ?> <content type="<?php bloginfo('html_type'); ?>" mode="escaped" xml:base="<?php permalink_single_rss() ?>"><![CDATA[<?php the_excerpt_rss(); ?>]]></content> <?php endif; ?> <?php else : ?> <content type="<?php bloginfo('html_type'); ?>" mode="escaped" xml:base="<?php permalink_single_rss() ?>"><![CDATA[<?php the_excerpt_rss() ?>]]></content> <?php endif; ?> <?php rss_enclosure(); ?> </entry> <?php $items_count++; if (($items_count == get_settings('posts_per_rss')) && empty($m)) { break; } } } ?> </feed>
function get_entry($postID, $post_type = 'post') { log_app('function',"get_entry($postID, '$post_type')"); ob_start(); global $posts, $post, $wp_query, $wp, $wpdb, $blog_id, $post_cache; switch($post_type) { case 'post': $varname = 'p'; break; case 'attachment': $varname = 'attachment_id'; break; } query_posts($varname . '=' . $postID); if ( have_posts() ) : while ( have_posts() ) : the_post(); $post = $GLOBALS['post']; ?> <?php log_app('$post',print_r($GLOBALS['post'],true)); ?> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://purl.org/atom/app#" xml:lang="<?php echo get_option('rss_language'); ?>"> <id><?php the_guid($post->ID); ?></id> <title type="html"><![CDATA[<?php the_title_rss() ?>]]></title> <updated><?php echo get_post_modified_time('Y-m-d\TH:i:s\Z', true); ?></updated> <published><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></published> <app:control> <app:draft><?php echo ($GLOBALS['post']->post_status == 'draft' ? 'yes' : 'no') ?></app:draft> </app:control> <author> <name><?php the_author()?></name> <email><?php the_author_email()?></email> <uri><?php the_author_url()?></uri> </author> <?php if($GLOBALS['post']->post_type == 'attachment') { ?> <link rel="edit" href="<?php $this->the_entry_url() ?>" /> <link rel="edit-media" href="<?php $this->the_media_url() ?>" /> <content type="<?php echo $GLOBALS['post']->post_mime_type ?>" src="<?php the_guid(); ?>"/> <?php } else { ?> <link href="<?php permalink_single_rss() ?>" /> <link rel="edit" href="<?php $this->the_entry_url() ?>" /> <?php } ?> <?php foreach(get_the_category() as $category) { ?> <category scheme="<?php bloginfo_rss('home') ?>" term="<?php echo $category->cat_name?>" /> <summary type="html"><![CDATA[<?php the_excerpt_rss(); ?>]]></summary> <?php } if ( strlen( $GLOBALS['post']->post_content ) ) : ?> <content type="html"><![CDATA[<?php echo get_the_content('', 0, '') ?>]]></content> <?php endif; ?> </entry> <?php $entry = ob_get_contents(); break; endwhile; else: $this->auth_required(__("Access Denied.")); endif; ob_end_clean(); log_app('get_entry returning:',$entry); return $entry; }
function export_wp() { global $wpdb, $posts, $post; $filename = 'wordpress.' . date('Y-m-d') . '.xml'; header('Content-Description: File Transfer'); header("Content-Disposition: attachment; filename=$filename"); header('Content-type: text/xml; charset=' . get_option('blog_charset'), true); $where = ''; if ( isset( $_GET['author'] ) && $_GET['author'] != 'all' ) { $author_id = (int) $_GET['author']; $where = " WHERE post_author = '$author_id' "; } $posts = $wpdb->get_results("SELECT * FROM $wpdb->posts $where ORDER BY post_date_gmt ASC"); $categories = (array) $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename, category_description, category_parent, posts_private, links_private FROM $wpdb->categories LEFT JOIN $wpdb->post2cat ON (category_id = cat_id) LEFT JOIN $wpdb->posts ON (post_id <=> id) $where GROUP BY cat_id"); function wxr_missing_parents($categories) { if ( !is_array($categories) || empty($categories) ) return array(); foreach ( $categories as $category ) $parents[$category->cat_ID] = $category->category_parent; $parents = array_unique(array_diff($parents, array_keys($parents))); if ( $zero = array_search('0', $parents) ) unset($parents[$zero]); return $parents; } while ( $parents = wxr_missing_parents($categories) ) { $found_parents = $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename, category_description, category_parent, posts_private, links_private FROM $wpdb->categories WHERE cat_ID IN (" . join(', ', $parents) . ")"); if ( is_array($found_parents) && count($found_parents) ) $categories = array_merge($categories, $found_parents); else break; } // Put them in order to be inserted with no child going before its parent $pass = 0; $passes = 1000 + count($categories); while ( ( $cat = array_shift($categories) ) && ++$pass < $passes ) { if ( $cat->category_parent == 0 || isset($cats[$cat->category_parent]) ) { $cats[$cat->cat_ID] = $cat; } else { $categories[] = $cat; } } unset($categories); function wxr_cdata($str) { if ( seems_utf8($str) == false ) $str = utf8_encode($str); // $str = ent2ncr(wp_specialchars($str)); $str = "<![CDATA[$str" . ( ( substr($str, -1) == ']' ) ? ' ' : '') . "]]>"; return $str; } function wxr_cat_name($c) { if ( empty($c->cat_name) ) return; echo '<wp:cat_name>' . wxr_cdata($c->cat_name) . '</wp:cat_name>'; } function wxr_category_description($c) { if ( empty($c->category_description) ) return; echo '<wp:category_description>' . wxr_cdata($c->category_description) . '</wp:category_description>'; } print '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?' . ">\n"; ?> <!-- This is a WordPress eXtended RSS file generated by WordPress as an export of your blog. It contains information about your blog's posts, comments, and categories. You may use this file to transfer that content from one site to another. This file is not intended to serve as a complete backup of your blog. To import this information into a WordPress blog follow these steps: 1. Log into that blog as an administrator. 2. Go to Manage > Import in the blog's admin. 3. Choose "WordPress" from the list of importers. 4. Upload this file using the form provided on that page. 5. You will first be asked to map the authors in this export file to users on the blog. For each author, you may choose to map an existing user on the blog or to create a new user. 6. WordPress will then import each of the posts, comments, and categories contained in this file onto your blog. --> <!-- generator="wordpress/<?php bloginfo_rss('version') ?>" created="<?php echo date('Y-m-d H:m'); ?>"--> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wp="http://wordpress.org/export/1.0/" > <channel> <title><?php bloginfo_rss('name'); ?></title> <link><?php bloginfo_rss('url') ?></link> <description><?php bloginfo_rss("description") ?></description> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></pubDate> <generator>http://wordpress.org/?v=<?php bloginfo_rss('version'); ?></generator> <language><?php echo get_option('rss_language'); ?></language> <?php if ( $cats ) : foreach ( $cats as $c ) : ?> <wp:category><wp:category_nicename><?php echo $c->category_nicename; ?></wp:category_nicename><wp:category_parent><?php echo $c->category_parent ? $cats[$c->category_parent]->cat_name : ''; ?></wp:category_parent><wp:posts_private><?php echo $c->posts_private ? '1' : '0'; ?></wp:posts_private><wp:links_private><?php echo $c->links_private ? '1' : '0'; ?></wp:links_private><?php wxr_cat_name($c); ?><?php wxr_category_description($c); ?></wp:category> <?php endforeach; endif; ?> <?php do_action('rss2_head'); ?> <?php if ($posts) { foreach ($posts as $post) { start_wp(); ?> <item> <title><?php the_title_rss() ?></title> <link><?php permalink_single_rss() ?></link> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate> <dc:creator><?php the_author() ?></dc:creator> <?php the_category_rss() ?> <guid isPermaLink="false"><?php the_guid(); ?></guid> <description></description> <content:encoded><![CDATA[<?php echo $post->post_content ?>]]></content:encoded> <wp:post_id><?php echo $post->ID; ?></wp:post_id> <wp:post_date><?php echo $post->post_date; ?></wp:post_date> <wp:post_date_gmt><?php echo $post->post_date_gmt; ?></wp:post_date_gmt> <wp:comment_status><?php echo $post->comment_status; ?></wp:comment_status> <wp:ping_status><?php echo $post->ping_status; ?></wp:ping_status> <wp:post_name><?php echo $post->post_name; ?></wp:post_name> <wp:status><?php echo $post->post_status; ?></wp:status> <wp:post_parent><?php echo $post->post_parent; ?></wp:post_parent> <wp:menu_order><?php echo $post->menu_order; ?></wp:menu_order> <wp:post_type><?php echo $post->post_type; ?></wp:post_type> <?php $postmeta = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE post_id = $post->ID"); if ( $postmeta ) { ?> <?php foreach( $postmeta as $meta ) { ?> <wp:postmeta> <wp:meta_key><?php echo $meta->meta_key; ?></wp:meta_key> <wp:meta_value><?Php echo $meta->meta_value; ?></wp:meta_value> </wp:postmeta> <?php } ?> <?php } ?> <?php $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $post->ID"); if ( $comments ) { foreach ( $comments as $c ) { ?> <wp:comment> <wp:comment_id><?php echo $c->comment_ID; ?></wp:comment_id> <wp:comment_author><?php echo $c->comment_author; ?></wp:comment_author> <wp:comment_author_email><?php echo $c->comment_author_email; ?></wp:comment_author_email> <wp:comment_author_url><?php echo $c->comment_author_url; ?></wp:comment_author_url> <wp:comment_author_IP><?php echo $c->comment_author_IP; ?></wp:comment_author_IP> <wp:comment_date><?php echo $c->comment_date; ?></wp:comment_date> <wp:comment_date_gmt><?php echo $c->comment_date_gmt; ?></wp:comment_date_gmt> <wp:comment_content><?php echo $c->comment_content; ?></wp:comment_content> <wp:comment_approved><?php echo $c->comment_approved; ?></wp:comment_approved> <wp:comment_type><?php echo $c->comment_type; ?></wp:comment_type> <wp:comment_parent><?php echo $c->comment_parent; ?></wp:comment_parent> </wp:comment> <?php } } ?> </item> <?php } } ?> </channel> </rss> <?php die(); }
if (have_posts()) { while (have_posts()) { the_post(); if ($i < 1) { $i++; ?> <title><?php if (is_single() || is_page()) { printf(__('Comments on: %s'), get_the_title_rss()); } else { printf(__('Comments for %s'), get_bloginfo_rss("name")); } ?> </title> <link><?php is_single() ? permalink_single_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>
echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?> <!-- generator="wordpress/<?php echo $wp_version ?>" --> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> <?php $i = 0; if (have_posts()) : while (have_posts()) : the_post(); if ($i < 1) { $i++; ?> <title><?php if (is_single() || is_page()) { echo "Comments on: "; the_title_rss(); } else { bloginfo_rss("name"); echo " Comments"; } ?></title> <link><?php (is_single()) ? permalink_single_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 if (is_single() || is_page()) { $comments = $wpdb->get_results("SELECT comment_ID, comment_author, comment_author_email, comment_author_url, comment_date, comment_content, comment_post_ID, $wpdb->posts.ID, $wpdb->posts.post_password FROM $wpdb->comments LEFT JOIN $wpdb->posts ON comment_post_id = id WHERE comment_post_ID = '$id' AND $wpdb->comments.comment_approved = '1' AND ($wpdb->posts.post_status = 'publish' OR $wpdb->posts.post_status = 'page') AND post_date < '".date("Y-m-d H:i:59")."' ORDER BY comment_date LIMIT " . get_settings('posts_per_rss') ); } else { // if no post id passed in, we'll just ue the last 10 comments. $comments = $wpdb->get_results("SELECT comment_ID, comment_author, comment_author_email,
start_wp(); if ($_i < 1) { $_i++; ?> <title><?php if (test_param('p')) { echo "Comments on: "; the_title_rss(); } else { bloginfo_rss("name"); echo " Comments"; } ?> </title> <link><?php test_param('p') ? permalink_single_rss() : bloginfo_rss("url"); ?> </link> <description><?php bloginfo_rss("description"); ?> </description> <dc:language><?php echo get_settings('rss_language') ? get_settings('rss_language') : 'en'; ?> </dc:language> <dc:creator><?php echo antispambot(get_settings('admin_email')); ?> </dc:creator> <dc:rights>Copyright <?php
start_wp(); if ($i < 1) { $i++; ?> <title><?php if (isset($_REQUEST["p"])) { echo "Comments on: "; the_title_rss(); } else { bloginfo_rss("name"); echo " Comments"; } ?> </title> <link><?php isset($_REQUEST["p"]) ? permalink_single_rss() : bloginfo_rss("url"); ?> </link> <description><?php bloginfo_rss("description"); ?> </description> <dc:language><?php echo get_settings('rss_language') ? get_settings('rss_language') : 'en'; ?> </dc:language> <dc:creator><?php echo antispambot(get_settings('admin_email')); ?> </dc:creator> <dc:rights>Copyright <?php
<subtitle type="text"><?php bloginfo_rss("description") ?></subtitle> <updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT')); ?></updated> <generator uri="http://wordpress.org/" version="<?php bloginfo_rss('version'); ?>">WordPress</generator> <link rel="alternate" type="text/html" href="<?php bloginfo_rss('home') ?>" /> <id><?php bloginfo('atom_url'); ?></id> <link rel="self" type="application/atom+xml" href="<?php bloginfo('atom_url'); ?>" /> <?php do_action('atom_head'); ?> <?php while (have_posts()) : the_post(); ?> <entry> <author> <name><?php the_author() ?></name> <uri><?php the_author_url()?></uri> </author> <title type="<?php html_type_rss(); ?>"><![CDATA[<?php the_title_rss() ?>]]></title> <link rel="alternate" type="text/html" href="<?php permalink_single_rss() ?>" /> <id><?php the_guid(); ?></id> <updated><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></updated> <published><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></published> <?php the_category_rss('atom') ?> <summary type="<?php html_type_rss(); ?>"><![CDATA[<?php the_excerpt_rss(); ?>]]></summary> <?php if ( !get_option('rss_use_excerpt') ) : ?> <content type="<?php html_type_rss(); ?>" xml:base="<?php permalink_single_rss() ?>"><![CDATA[<?php the_content('', 0, '') ?>]]></content> <?php endif; ?> <?php atom_enclosure(); ?> <?php do_action('atom_entry'); ?> </entry> <?php endwhile ; ?> </feed>
function export_wp($cats) { global $wpdb, $posts, $post; $filename = 'wordpress.' . date('Y-m-d') . '.xml'; header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename={$filename}"); header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true); $posts = query_posts(''); $cats = implode(',', $cats); $postswithcats = $wpdb->get_col("SELECT DISTINCT(post_id) FROM " . $wpdb->post2cat . " WHERE category_id IN ({$cats})"); $postcats = implode(',', $postswithcats); $posts = $wpdb->get_results("SELECT * FROM {$wpdb->posts} WHERE ID IN ({$postcats}) ORDER BY post_date_gmt ASC"); ?> <!-- generator="wordpress/<?php bloginfo_rss('version'); ?> " created="<?php echo date('Y-m-d H:m'); ?> "--> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wp="http://wordpress.org/export/1.0/" > <channel> <title><?php bloginfo_rss('name'); ?> </title> <link><?php bloginfo_rss('url'); ?> </link> <description><?php bloginfo_rss("description"); ?> </description> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?> </pubDate> <generator>http://wordpress.org/?v=<?php bloginfo_rss('version'); ?> </generator> <language><?php echo get_option('rss_language'); ?> </language> <?php do_action('rss2_head'); if ($posts) { foreach ($posts as $post) { start_wp(); ?> <item> <title><?php the_title_rss(); ?> </title> <link><?php permalink_single_rss(); ?> </link> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?> </pubDate> <dc:creator><?php the_author(); ?> </dc:creator> <?php the_category_rss(); ?> <guid isPermaLink="false"><?php the_guid(); ?> </guid> <description></description> <wp:excerpt><![CDATA[<?php echo $post->post_excerpt; ?> ]]></wp:excerpt> <content:encoded><![CDATA[<?php echo $post->post_content; ?> ]]></content:encoded> <wp:post_date><?php echo $post->post_date; ?> </wp:post_date> <wp:post_date_gmt><?php echo $post->post_date_gmt; ?> </wp:post_date_gmt> <wp:comment_status><?php echo $post->comment_status; ?> </wp:comment_status> <wp:ping_status><?php echo $post->ping_status; ?> </wp:ping_status> <wp:post_name><?php echo $post->post_name; ?> </wp:post_name> <wp:status><?php echo $post->post_status; ?> </wp:status> <wp:post_parent><?php echo $post->post_parent; ?> </wp:post_parent> <wp:post_type><?php echo $post->post_type; ?> </wp:post_type> <?php $postmeta = $wpdb->get_results("SELECT * FROM {$wpdb->postmeta} WHERE post_id = {$post->ID}"); if ($postmeta) { foreach ($postmeta as $meta) { ?> <wp:postmeta> <wp:meta_key><?php echo $meta->meta_key; ?> </wp:meta_key> <wp:meta_value><?php echo $meta->meta_value; ?> </wp:meta_value> </wp:postmeta> <?php } } $comments = $wpdb->get_results("SELECT * FROM {$wpdb->comments} WHERE comment_post_ID = {$post->ID}"); if ($comments) { foreach ($comments as $c) { ?> <wp:comment> <wp:comment_author><?php echo htmlent2numeric($c->comment_author); ?> </wp:comment_author> <wp:comment_author_email><?php echo $c->comment_author_email; ?> </wp:comment_author_email> <wp:comment_author_url><?php echo $c->comment_author_url; ?> </wp:comment_author_url> <wp:comment_author_IP><?php echo $c->comment_author_IP; ?> </wp:comment_author_IP> <wp:comment_date><?php echo $c->comment_date; ?> </wp:comment_date> <wp:comment_date_gmt><?php echo $c->comment_date_gmt; ?> </wp:comment_date_gmt> <wp:comment_content><?php echo htmlent2numeric($c->comment_content); ?> </wp:comment_content> <wp:comment_approved><?php echo $c->comment_approved; ?> </wp:comment_approved> <wp:comment_type><?php echo $c->comment_type; ?> </wp:comment_type> <wp:comment_parent><?php echo $c->comment_parent; ?> </wp:comment_parent> </wp:comment> <?php } } ?> </item> <?php } } ?> </channel> </rss> <?php exit; wp_redirect('admin.php'); }