function meta_data()
            {
                ?>
                <generator><?php 
                echo WPFront_User_Role_Editor_Export::GENERATOR;
                ?>
</generator>
                <version><?php 
                echo WPFront_User_Role_Editor_Export::VERSION;
                ?>
</version>
                <date><?php 
                echo date('D, d M Y H:i:s +0000');
                ?>
</date>
                <source><?php 
                bloginfo_rss('name');
                ?>
</source>
                <source_url><?php 
                bloginfo_rss('url');
                ?>
</source_url>
                <user_display_name><?php 
                echo cdata(wp_get_current_user()->display_name);
                ?>
</user_display_name>
                <user_id><?php 
                echo wp_get_current_user()->ID;
                ?>
</user_id>
                <?php 
            }
Example #2
0
 /**
  * Fix double title in rss
  */
 public function wp_title_rss_filter($title)
 {
     if (!tfuse_options('enable_tfuse_seo_tab', true)) {
         return $title;
     }
     $exploded = explode($this->bloginfo_rss_name, ent2ncr($title));
     if (!$exploded[0]) {
         array_shift($exploded);
     }
     if (sizeof($exploded) > 1) {
         $title = implode(bloginfo_rss('name'), $exploded);
     } else {
         $title = implode('', $exploded);
     }
     return $title;
 }
function widget_blix_feeds()
{
    ?>
	<h2><em><?php 
    _e('Feeds');
    ?>
</em></h2>

	<ul class="feeds">
	<li><a href="<?php 
    bloginfo_rss('rss2_url');
    ?>
 ">Entries (RSS)</a></li>
	<li><a href="<?php 
    bloginfo_rss('comments_rss2_url');
    ?>
 ">Comments (RSS)</a></li>
	</ul>
<?php 
}
Example #4
0
</homePageLink>
    <apis>
      <api name="WordPress" blogID="1" preferred="true" apiLink="<?php 
    bloginfo_rss('wpurl');
    ?>
/xmlrpc.php" />
      <api name="Movable Type" blogID="1" preferred="false" apiLink="<?php 
    bloginfo_rss('wpurl');
    ?>
/xmlrpc.php" />
      <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php 
    bloginfo_rss('wpurl');
    ?>
/xmlrpc.php" />
      <api name="Blogger" blogID="1" preferred="false" apiLink="<?php 
    bloginfo_rss('wpurl');
    ?>
/xmlrpc.php" />
    </apis>
  </service>
</rsd>
<?php 
    exit;
}
include_once ABSPATH . 'wp-admin/includes/admin.php';
include_once ABSPATH . WPINC . '/class-IXR.php';
// Turn off all warnings and errors.
// error_reporting(0);
$post_default_title = "";
// posts submitted via the xmlrpc interface get that title
$xmlrpc_logging = 0;
Example #5
0
?>
" rel="self" type="application/rss+xml" />
	<link><?php 
bloginfo_rss('url');
?>
</link>
	<description><?php 
bloginfo_rss("description");
?>
</description>
	<lastBuildDate><?php 
echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false);
?>
</lastBuildDate>
	<language><?php 
bloginfo_rss('language');
?>
</language>
	<sy:updatePeriod><?php 
echo apply_filters('rss_update_period', 'hourly');
?>
</sy:updatePeriod>
	<sy:updateFrequency><?php 
echo apply_filters('rss_update_frequency', '1');
?>
</sy:updateFrequency>
	<?php 
do_action('rss2_head');
?>

	<?php 
Example #6
0
    function feed()
    {
        $title = sprintf('%s log', $this->name);
        header('Content-type: text/xml; charset=' . get_option('blog_charset'), true);
        echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . ">\r\n";
        ?>
<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/">
<channel>
	<title><?php 
        echo $title . ' - ';
        bloginfo_rss('name');
        ?>
</title>
	<link><?php 
        bloginfo_rss('url');
        ?>
</link>
	<description><?php 
        bloginfo_rss("description");
        ?>
</description>
	<pubDate><?php 
        echo htmlspecialchars(mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false));
        ?>
</pubDate>
	<generator><?php 
        echo htmlspecialchars('http://wordpress.org/?v=');
        bloginfo_rss('version');
        ?>
</generator>
	<language><?php 
        echo get_option('rss_language');
        ?>
</language>
<?php 
        if (count($this->items) > 0) {
            foreach ($this->items as $log) {
                ?>
	<item>
		<title><![CDATA[<?php 
                echo $log->url;
                ?>
]]></title>
		<link><![CDATA[<?php 
                bloginfo('home');
                echo $log->url;
                ?>
]]></link>
		<pubDate><?php 
                echo mysql2date('D, d M Y H:i:s +0000', $log->created_at, false);
                ?>
</pubDate>
		<guid isPermaLink="false"><?php 
                print $log->id;
                ?>
</guid>
		<description><![CDATA[<?php 
                echo $log->url;
                ?>
]]></description>
		<content:encoded><![CDATA[<?php 
                if ($log->referrer) {
                    echo 'Referred by ' . $log->referrer;
                }
                ?>
]]></content:encoded>
	</item>
		<?php 
            }
        }
        ?>
</channel>
</rss>
<?php 
        die;
    }
Example #7
0
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	<?php do_action('rss2_ns'); do_action('rss2_comments_ns'); ?>
	>
<channel>
	<title><?php
		if ( is_singular() )
			printf(ent2ncr(__('Comments on: %s')), get_the_title_rss());
		elseif ( is_search() )
			printf(ent2ncr(__('Comments for %s searching on %s')), get_bloginfo_rss( 'name' ), esc_attr($wp_query->query_vars['s']));
		else
			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>
	<lastBuildDate><?php echo mysql2date('r', get_lastcommentmodified('GMT')); ?></lastBuildDate>
	<sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
	<sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
	<?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);
?>
	<item>
		<title><?php
			if ( !is_singular() ) {
				$title = get_the_title($comment_post->ID);
				$title = apply_filters('the_title_rss', $title);
				printf(ent2ncr(__('Comment on %1$s by %2$s')), $title, get_comment_author_rss());
Example #8
0
<channel>
	<title><?php 
bloginfo_rss('name');
?>
 - Releases</title>
	<link><?php 
bloginfo_rss('url');
?>
/releases/</link>
	<description>Records On Ribs Release Feed</description>
	<pubDate><?php 
echo mysql2date('D, d M Y H:i:s +0000', $releases[0]['release_date'], false);
?>
</pubDate>
	<generator>http://wordpress.org/?v=<?php 
bloginfo_rss('version');
?>
</generator>
	<language><?php 
echo get_option('rss_language');
?>
</language>
	<?php 
while (have_releases()) {
    the_release();
    ?>
	<?php 
    $artist = get_artist($release['release_artist']);
    ?>
	<item>
		<title><?php 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>
<channel rdf:about="<?php 
bloginfo_rss("url");
?>
">
	<title><?php 
bloginfo_rss('name');
?>
</title>
	<link><?php 
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:date><?php 
echo gmdate('Y-m-d\\TH:i:s');
?>
</dc:date>
	<dc:creator><?php 
echo antispambot(get_settings('admin_email'));
?>
</dc:creator>
	<admin:generatorAgent rdf:resource="http://wordpress.xwd.jp/?v=<?php 
Example #10
0
    /**
     * Output for Stream Records as a feed.
     *
     * @return xml
     */
    public static function feed_template()
    {
        $die_title = esc_html__('Access Denied', 'stream');
        $die_message = '<h1>' . $die_title . '</h1><p>' . esc_html__('You don\'t have permission to view this feed, please contact your site Administrator.', 'stream') . '</p>';
        if (!isset($_GET[self::FEED_QUERY_VAR]) || empty($_GET[self::FEED_QUERY_VAR])) {
            wp_die($die_message, $die_title);
        }
        $args = array('meta_key' => self::USER_FEED_KEY, 'meta_value' => $_GET[self::FEED_QUERY_VAR], 'number' => 1);
        $user = get_users($args);
        if (!is_super_admin($user[0]->ID)) {
            $roles = isset($user[0]->roles) ? (array) $user[0]->roles : array();
            if (self::$is_network_feed) {
                wp_die($die_message, $die_title);
            }
            if (!$roles || !array_intersect($roles, WP_Stream_Settings::$options['general_role_access'])) {
                wp_die($die_message, $die_title);
            }
        }
        $blog_id = self::$is_network_feed ? null : get_current_blog_id();
        $args = array('blog_id' => $blog_id, 'records_per_page' => wp_stream_filter_input(INPUT_GET, 'records_per_page', FILTER_SANITIZE_NUMBER_INT, array('options' => array('default' => get_option('posts_per_rss')))), 'search' => wp_stream_filter_input(INPUT_GET, 'search'), 'object_id' => wp_stream_filter_input(INPUT_GET, 'object_id', FILTER_SANITIZE_NUMBER_INT), 'ip' => wp_stream_filter_input(INPUT_GET, 'ip', FILTER_VALIDATE_IP), 'author' => wp_stream_filter_input(INPUT_GET, 'author', FILTER_SANITIZE_NUMBER_INT), 'author_role' => wp_stream_filter_input(INPUT_GET, 'author_role'), 'date' => wp_stream_filter_input(INPUT_GET, 'date'), 'date_from' => wp_stream_filter_input(INPUT_GET, 'date_from'), 'date_to' => wp_stream_filter_input(INPUT_GET, 'date_to'), 'record__in' => wp_stream_filter_input(INPUT_GET, 'record__in', FILTER_SANITIZE_NUMBER_INT), 'record_parent' => wp_stream_filter_input(INPUT_GET, 'record_parent', FILTER_SANITIZE_NUMBER_INT), 'order' => wp_stream_filter_input(INPUT_GET, 'order', FILTER_DEFAULT, array('options' => array('default' => 'desc'))), 'orderby' => wp_stream_filter_input(INPUT_GET, 'orderby', FILTER_DEFAULT, array('options' => array('default' => 'ID'))), 'fields' => wp_stream_filter_input(INPUT_GET, 'fields', FILTER_DEFAULT, array('options' => array('default' => 'with-meta'))));
        $records = wp_stream_query($args);
        $latest_record = isset($records[0]->created) ? $records[0]->created : null;
        $records_admin_url = add_query_arg(array('page' => WP_Stream_Admin::RECORDS_PAGE_SLUG), admin_url(WP_Stream_Admin::ADMIN_PARENT_PAGE));
        if ('json' === wp_stream_filter_input(INPUT_GET, self::FEED_TYPE_QUERY_VAR)) {
            if (version_compare(PHP_VERSION, '5.4', '>=')) {
                echo json_encode($records, JSON_PRETTY_PRINT);
            } else {
                echo json_encode($records);
            }
        } else {
            header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
            printf('<?xml version="1.0" encoding="%s"?>', esc_attr(get_option('blog_charset')));
            ?>

			<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:atom="http://www.w3.org/2005/Atom"
				xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
				xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
				<?php 
            /**
             * Action fires during RSS xmls printing
             */
            ?>
				<?php 
            do_action('rss2_ns');
            ?>
			>
				<channel>
					<title><?php 
            bloginfo_rss('name');
            ?>
 - <?php 
            esc_html_e('Stream Feed', 'stream');
            ?>
</title>
					<atom:link href="<?php 
            self_link();
            ?>
" rel="self" type="application/rss+xml" />
					<link><?php 
            echo esc_url($records_admin_url);
            ?>
</link>
					<description><?php 
            bloginfo_rss('description');
            ?>
</description>
					<lastBuildDate><?php 
            echo esc_html(mysql2date('r', $latest_record, false));
            ?>
</lastBuildDate>
					<language><?php 
            bloginfo_rss('language');
            ?>
</language>
					<sy:updatePeriod><?php 
            echo esc_html('hourly');
            ?>
</sy:updatePeriod>
					<sy:updateFrequency><?php 
            echo absint(1);
            ?>
</sy:updateFrequency>
					<?php 
            /**
             * Action fires during RSS head
             */
            ?>
					<?php 
            do_action('rss2_head');
            ?>
					<?php 
            foreach ($records as $record) {
                ?>
						<?php 
                $record_link = add_query_arg(array('record__in' => (int) $record->ID), $records_admin_url);
                $author = get_userdata($record->author);
                $display_name = isset($author->display_name) ? $author->display_name : 'N/A';
                ?>
						<item>
							<title><![CDATA[ <?php 
                echo trim($record->summary);
                ?>
 ]]></title>
							<pubDate><?php 
                echo esc_html(mysql2date('r', $record->created, false));
                ?>
</pubDate>
							<dc:creator><?php 
                echo esc_html($display_name);
                ?>
</dc:creator>
							<category domain="connector"><![CDATA[ <?php 
                echo esc_html($record->connector);
                ?>
 ]]></category>
							<category domain="context"><![CDATA[ <?php 
                echo esc_html($record->context);
                ?>
 ]]></category>
							<category domain="action"><![CDATA[ <?php 
                echo esc_html($record->action);
                ?>
 ]]></category>
							<category domain="ip"><?php 
                echo esc_html($record->ip);
                ?>
</category>
							<guid isPermaLink="false"><?php 
                echo esc_url($record_link);
                ?>
</guid>
							<link><?php 
                echo esc_url($record_link);
                ?>
</link>
							<?php 
                /**
                 * Action fires during RSS item
                 */
                ?>
							<?php 
                do_action('rss2_item');
                ?>
						</item>
					<?php 
            }
            ?>
				</channel>
			</rss>
			<?php 
            exit;
        }
    }
/**
 * Output an RSS2 feed of replies, based on the query passed.
 *
 * @since bbPress (r3171)
 *
 * @uses bbp_version()
 * @uses bbp_is_single_topic()
 * @uses bbp_user_can_view_forum()
 * @uses bbp_get_topic_forum_id()
 * @uses bbp_show_load_topic()
 * @uses bbp_topic_permalink()
 * @uses bbp_topic_title()
 * @uses bbp_get_topic_reply_count()
 * @uses bbp_topic_content()
 * @uses bbp_has_replies()
 * @uses bbp_replies()
 * @uses bbp_the_reply()
 * @uses bbp_reply_url()
 * @uses bbp_reply_title()
 * @uses bbp_reply_content()
 * @uses get_wp_title_rss()
 * @uses get_option()
 * @uses bloginfo_rss
 * @uses self_link()
 * @uses the_author()
 * @uses get_post_time()
 * @uses rss_enclosure()
 * @uses do_action()
 * @uses apply_filters()
 *
 * @param array $replies_query
 */
function bbp_display_replies_feed_rss2($replies_query = array())
{
    // User cannot access forum this topic is in
    if (bbp_is_single_topic() && !bbp_user_can_view_forum(array('forum_id' => bbp_get_topic_forum_id()))) {
        return;
    }
    // Adjust the title based on context
    if (bbp_is_single_topic() && bbp_user_can_view_forum(array('forum_id' => bbp_get_topic_forum_id()))) {
        $title = apply_filters('wp_title_rss', get_wp_title_rss(' &#187; '));
    } elseif (!bbp_show_lead_topic()) {
        $title = ' &#187; ' . __('All Posts', 'bbpress');
    } else {
        $title = ' &#187; ' . __('All Replies', 'bbpress');
    }
    // Display the feed
    header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
    header('Status: 200 OK');
    echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . '>';
    ?>

	<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:atom="http://www.w3.org/2005/Atom"

		<?php 
    do_action('bbp_feed');
    ?>
	>

	<channel>
		<title><?php 
    bloginfo_rss('name');
    echo $title;
    ?>
</title>
		<atom:link href="<?php 
    self_link();
    ?>
" rel="self" type="application/rss+xml" />
		<link><?php 
    self_link();
    ?>
</link>
		<description><?php 
    //
    ?>
</description>
		<pubDate><?php 
    echo mysql2date('D, d M Y H:i:s O', current_time('mysql'), false);
    ?>
</pubDate>
		<generator>http://bbpress.org/?v=<?php 
    bbp_version();
    ?>
</generator>
		<language><?php 
    bloginfo_rss('language');
    ?>
</language>

		<?php 
    do_action('bbp_feed_head');
    ?>

		<?php 
    if (bbp_is_single_topic()) {
        ?>
			<?php 
        if (bbp_user_can_view_forum(array('forum_id' => bbp_get_topic_forum_id()))) {
            ?>
				<?php 
            if (bbp_show_lead_topic()) {
                ?>

					<item>
						<guid><?php 
                bbp_topic_permalink();
                ?>
</guid>
						<title><![CDATA[<?php 
                bbp_topic_title();
                ?>
]]></title>
						<link><?php 
                bbp_topic_permalink();
                ?>
</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>

						<description>
							<![CDATA[
							<p><?php 
                printf(__('Replies: %s', 'bbpress'), bbp_get_topic_reply_count());
                ?>
</p>
							<?php 
                bbp_topic_content();
                ?>
							]]>
						</description>

						<?php 
                rss_enclosure();
                ?>

						<?php 
                do_action('bbp_feed_item');
                ?>

					</item>

				<?php 
            }
            ?>
			<?php 
        }
        ?>
		<?php 
    }
    ?>

		<?php 
    if (bbp_has_replies($replies_query)) {
        ?>
			<?php 
        while (bbp_replies()) {
            bbp_the_reply();
            ?>

				<item>
					<guid><?php 
            bbp_reply_url();
            ?>
</guid>
					<title><![CDATA[<?php 
            bbp_reply_title();
            ?>
]]></title>
					<link><?php 
            bbp_reply_url();
            ?>
</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>

					<description>
						<![CDATA[
						<?php 
            bbp_reply_content();
            ?>
						]]>
					</description>

					<?php 
            rss_enclosure();
            ?>

					<?php 
            do_action('bbp_feed_item');
            ?>

				</item>

			<?php 
        }
        ?>
		<?php 
    }
    ?>

		<?php 
    do_action('bbp_feed_footer');
    ?>

	</channel>
	</rss>

<?php 
    // We're done here
    exit;
}
		$feed = 'rss';
    $doing_rss = 1;
    require('wp-blog-header.php');
}

header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true);
$more = 1;

?>
<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>
<!-- generator="wordpress/<?php echo $wp_version ?>" -->
<rss version="0.92">
<channel>
	<title><?php bloginfo_rss('name') ?></title>
	<link><?php bloginfo_rss('url') ?></link>
	<description><?php bloginfo_rss('description') ?></description>
	<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), 0); ?></lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language><?php echo get_option('rss_language'); ?></language>

<?php $items_count = 0; if ($posts) { foreach ($posts as $post) { start_wp(); ?>
	<item>
		<title><?php the_title_rss() ?></title>
<?php if (get_settings('rss_use_excerpt')) { ?>
		<description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
<?php } else { // use content ?>
		<description><?php the_content_rss('', 0, '', get_settings('rss_excerpt_length')) ?></description>
<?php } ?>
		<link><?php permalink_single_rss() ?></link>
	</item>
<?php $items_count++; if (($items_count == get_settings('posts_per_rss')) && empty($m)) { break; } } } ?>
    /**
     * Output the RSS feed.
     */
    protected function output()
    {
        $this->http_headers();
        echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . '>';
        ?>

<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	<?php 
        /**
         * Fires at the end of the opening RSS tag for feed output so plugins can add extra attributes.
         *
         * @since 1.8.0
         */
        do_action('bp_activity_feed_rss_attributes');
        ?>
>

<channel>
	<title><?php 
        echo $this->title;
        ?>
</title>
	<link><?php 
        echo $this->link;
        ?>
</link>
	<atom:link href="<?php 
        self_link();
        ?>
" rel="self" type="application/rss+xml" />
	<description><?php 
        echo $this->description;
        ?>
</description>
	<lastBuildDate><?php 
        echo mysql2date('D, d M Y H:i:s O', bp_activity_get_last_updated(), false);
        ?>
</lastBuildDate>
	<generator>https://buddypress.org/?v=<?php 
        bp_version();
        ?>
</generator>
	<language><?php 
        bloginfo_rss('language');
        ?>
</language>
	<ttl><?php 
        echo $this->ttl;
        ?>
</ttl>
	<sy:updatePeriod><?php 
        echo $this->update_period;
        ?>
</sy:updatePeriod>
 	<sy:updateFrequency><?php 
        echo $this->update_frequency;
        ?>
</sy:updateFrequency>
	<?php 
        /**
         * Fires at the end of channel elements list in RSS feed so plugins can add extra channel elements.
         *
         * @since 1.8.0
         */
        do_action('bp_activity_feed_channel_elements');
        ?>

	<?php 
        if (bp_has_activities($this->activity_args)) {
            ?>
		<?php 
            while (bp_activities()) {
                bp_the_activity();
                ?>
			<item>
				<guid isPermaLink="false"><?php 
                bp_activity_feed_item_guid();
                ?>
</guid>
				<title><?php 
                echo stripslashes(bp_get_activity_feed_item_title());
                ?>
</title>
				<link><?php 
                bp_activity_thread_permalink();
                ?>
</link>
				<pubDate><?php 
                echo mysql2date('D, d M Y H:i:s O', bp_get_activity_feed_item_date(), false);
                ?>
</pubDate>

				<?php 
                if (bp_get_activity_feed_item_description()) {
                    ?>
					<content:encoded><![CDATA[<?php 
                    $this->feed_content();
                    ?>
]]></content:encoded>
				<?php 
                }
                ?>

				<?php 
                if (bp_activity_can_comment()) {
                    ?>
					<slash:comments><?php 
                    bp_activity_comment_count();
                    ?>
</slash:comments>
				<?php 
                }
                ?>

				<?php 
                /**
                 * Fires at the end of the individual RSS Item list in RSS feed so plugins can add extra item elements.
                 *
                 * @since 1.8.0
                 */
                do_action('bp_activity_feed_item_elements');
                ?>
			</item>
		<?php 
            }
            ?>

	<?php 
        }
        ?>
</channel>
</rss><?php 
    }
Example #14
0
				<div class="widget connection">
				<ul>
						<li><a href="http://facebook.com/<?php 
echo get_option('loogle_facebook');
?>
" class="facebook" title="Facebook">Facebook</a></li>
						<li><a href="http://twitter.com/<?php 
echo get_option('loogle_twitter');
?>
"  class="twitter" title="Twitter" >Twitter</a></li>
						<li><a href="http://myspace.com/<?php 
echo get_option('loogle_myspace');
?>
"  class="myspace"title="Myspace" >Myspace</a></li>
						<li><a href="<?php 
bloginfo_rss('rss2_url');
?>
"  class="rss" title="Syndicate this site using RSS 2.0">RSS Subscribe</a></li>
					</ul>
				</div>
				-->
			
			<?php 
if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Leftbar')) {
    ?>
				<div class="widget">
					<div class="widgettitle"><?php 
    _e('Archives');
    ?>
</div>
					<ul>
Example #15
0
function dsq_export_wp($post, $comments = null)
{
    global $wpdb;
    if (!$comments) {
        $comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->comments} WHERE comment_post_ID = %d AND comment_agent NOT LIKE 'Disqus/%%'", $post->ID));
    }
    // start catching output
    ob_start();
    echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?' . ">\n";
    the_generator('export');
    ?>
<rss version="2.0"
    xmlns:excerpt="http://wordpress.org/export/<?php 
    echo WXR_VERSION;
    ?>
/excerpt/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dsq="https://disqus.com/"
    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>
    <pubDate><?php 
    echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false);
    ?>
</pubDate>
    <generator>WordPress <?php 
    bloginfo_rss('version');
    ?>
; Disqus <?php 
    echo DISQUS_VERSION;
    ?>
</generator>
<?php 
    global $wp_query, $post;
    $wp_query->in_the_loop = true;
    // Fake being in the loop.
    setup_postdata($post);
    ?>
<item>
<title><?php 
    echo apply_filters('the_title_rss', $post->post_title);
    ?>
</title>
<link><?php 
    the_permalink_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 
    echo dsq_export_wxr_cdata(get_the_author());
    ?>
</dc:creator>
<guid isPermaLink="false"><?php 
    the_guid();
    ?>
</guid>
<content:encoded><?php 
    echo dsq_export_wxr_cdata(apply_filters('the_content_export', $post->post_content));
    ?>
</content:encoded>
<dsq:thread_identifier><?php 
    echo dsq_identifier_for_post($post);
    ?>
</dsq:thread_identifier>
<wp:post_id><?php 
    echo $post->ID;
    ?>
</wp:post_id>
<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>
<?php 
    if ($comments) {
        foreach ($comments as $c) {
            ?>
<wp:comment>
<wp:comment_id><?php 
            echo $c->comment_ID;
            ?>
</wp:comment_id>
<wp:comment_author><?php 
            echo dsq_export_wxr_cdata($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 dsq_export_wxr_cdata($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 
        }
    }
    // comments
    ?>
    </item>
</channel>
</rss>
<?php 
    // end of WXR output
    $output = ob_get_clean();
    return $output;
}
// enter your blog's ID
$doing_rss = 1;
include_once dirname(__FILE__) . "/../../mainfile.php";
require 'wp-blog-header.php';
echo '<?xml version="1.0"?>';
?>
<!-- generator="wordpress/<?php 
echo $wp_version;
?>
" -->
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd">
  <service>
    <engineName>WordPress ME</engineName> 
    <engineLink>http://wordpress.xwd.jp/</engineLink>
    <homePageLink><?php 
bloginfo_rss("url");
?>
</homePageLink>
    <apis>
      <api name="MetaWeblog" preferred="true" apiLink="<?php 
echo $siteurl;
?>
/xmlrpc.php" blogID="<?php 
echo $blog;
?>
" />
      <api name="Blogger" preferred="true" apiLink="<?php 
echo $siteurl;
?>
/xmlrpc.php" blogID="<?php 
echo $blog;
	<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 
Example #18
0
    function export(array $items)
    {
        header('Content-type: text/xml; charset=' . get_option('blog_charset'), true);
        echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . ">\r\n";
        ?>
<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/">
<channel>
	<title>Redirection - <?php 
        bloginfo_rss('name');
        ?>
</title>
	<link><?php 
        esc_url(bloginfo_rss('url'));
        ?>
</link>
	<description><?php 
        esc_html(bloginfo_rss('description'));
        ?>
</description>
	<pubDate><?php 
        echo esc_html(mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false));
        ?>
</pubDate>
	<generator>
		<?php 
        echo esc_html('http://wordpress.org/?v=');
        ?>
		<?php 
        bloginfo_rss('version');
        ?>
	</generator>
	<language><?php 
        echo esc_html(get_option('rss_language'));
        ?>
</language>

<?php 
        foreach ((array) $items as $log) {
            ?>
	<item>
		<title><?php 
            echo esc_html($log->get_url());
            ?>
</title>
		<link><![CDATA[<?php 
            echo esc_url(home_url());
            echo esc_url($log->get_url());
            ?>
]]></link>
		<pubDate><?php 
            echo date('D, d M Y H:i:s +0000', $log->get_last_hit());
            ?>
</pubDate>
		<guid isPermaLink="false"><?php 
            echo esc_html($log->get_id());
            ?>
</guid>
		<description><?php 
            echo esc_html($log->get_url());
            ?>
</description>
	</item>
	<?php 
        }
        ?>
</channel>
</rss>
<?php 
    }
Example #19
0
/**
 * Output an RSS2 feed of topics, based on the query passed.
 *
 * @since bbPress (r3171)
 *
 * @uses bbp_version()
 * @uses bbp_is_single_topic()
 * @uses bbp_user_can_view_forum()
 * @uses bbp_get_topic_forum_id()
 * @uses bbp_show_load_topic()
 * @uses bbp_topic_permalink()
 * @uses bbp_topic_title()
 * @uses bbp_get_topic_reply_count()
 * @uses bbp_topic_content()
 * @uses bbp_has_topics()
 * @uses bbp_topics()
 * @uses bbp_the_topic()
 * @uses get_wp_title_rss()
 * @uses get_option()
 * @uses bloginfo_rss
 * @uses self_link()
 * @uses the_author()
 * @uses get_post_time()
 * @uses rss_enclosure()
 * @uses do_action()
 * @uses apply_filters()
 *
 * @param array $topics_query
 */
function bbp_display_topics_feed_rss2($topics_query = array())
{
    // User cannot access this forum
    if (bbp_is_single_forum() && !bbp_user_can_view_forum(array('forum_id' => bbp_get_forum_id()))) {
        return;
    }
    // Display the feed
    header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
    header('Status: 200 OK');
    echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . '>';
    ?>

	<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:atom="http://www.w3.org/2005/Atom"

		<?php 
    do_action('bbp_feed');
    ?>
	>

	<channel>

		<title><?php 
    bloginfo_rss('name');
    ?>
 &#187; <?php 
    _e('All Topics', 'bbpress');
    ?>
</title>
		<atom:link href="<?php 
    self_link();
    ?>
" rel="self" type="application/rss+xml" />
		<link><?php 
    self_link();
    ?>
</link>
		<description><?php 
    //
    ?>
</description>
		<pubDate><?php 
    echo mysql2date('D, d M Y H:i:s O', current_time('mysql'), false);
    ?>
</pubDate>
		<generator>http://bbpress.org/?v=<?php 
    bbp_version();
    ?>
</generator>
		<language><?php 
    bloginfo_rss('language');
    ?>
</language>

		<?php 
    do_action('bbp_feed_head');
    ?>

		<?php 
    if (bbp_has_topics($topics_query)) {
        ?>

			<?php 
        while (bbp_topics()) {
            bbp_the_topic();
            ?>

				<item>
					<guid><?php 
            bbp_topic_permalink();
            ?>
</guid>
					<title><![CDATA[<?php 
            bbp_topic_title();
            ?>
]]></title>
					<link><?php 
            bbp_topic_permalink();
            ?>
</link>
					<pubDate><?php 
            echo mysql2date('D, d M Y H:i:s +0000', get_post_meta(bbp_get_topic_id(), '_bbp_last_active_time', true));
            ?>
</pubDate>
					<dc:creator><?php 
            the_author();
            ?>
</dc:creator>

					<?php 
            if (!post_password_required()) {
                ?>

					<description>
						<![CDATA[
						<p><?php 
                printf(esc_html__('Replies: %s', 'bbpress'), bbp_get_topic_reply_count());
                ?>
</p>
						<?php 
                bbp_topic_content();
                ?>
						]]>
					</description>

					<?php 
                rss_enclosure();
                ?>

					<?php 
            }
            ?>

					<?php 
            do_action('bbp_feed_item');
            ?>

				</item>

				<?php 
        }
        ?>
			<?php 
    }
    ?>

		<?php 
    do_action('bbp_feed_footer');
    ?>

	</channel>
	</rss>

<?php 
    exit;
}
<?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>

<!-- generator="wordpress/<?php bloginfo_rss('version') ?>" -->
<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/"
	<?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 : ?>
    printf(ent2ncr(__('Comments for %s searching on %s')), get_bloginfo_rss('name'), attribute_escape($wp_query->query_vars['s']));
} else {
    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>
	<?php 
the_generator('rss2');
?>
	<sy:updatePeriod><?php 
echo apply_filters('rss_update_period', 'hourly');
?>
</sy:updatePeriod>
	<sy:updateFrequency><?php 
echo apply_filters('rss_update_frequency', '1');
    /**
     * Export entire form database or just form data as an XML
     *
     * @since 1.7
     *
     * @param array $args Filters defining what should be included in the export
     */
    public function export($args = array())
    {
        global $wpdb;
        $defaults = array('content' => 'all', 'form_id' => 0, 'start_date' => false, 'end_date' => false);
        $args = wp_parse_args($args, $defaults);
        $where = '';
        $form_id = 0 !== $args['form_id'] ? $args['form_id'] : null;
        $sitename = sanitize_key(get_bloginfo('name'));
        if (!empty($sitename)) {
            $sitename .= '.';
        }
        $filename = $sitename . 'vfb-pro-' . $args['content'] . '.' . 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);
        echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . "\" ?>\n";
        // Output the correct generator type
        the_generator('export');
        ?>
<!-- This is a Visual Form Builder Pro RSS file generated by WordPress as an export of your forms and/or data. -->
<!-- It contains information about forms, fields, entries, and email design settings from Visual Form Builder Pro. -->
<!-- You may use this file to transfer that content from one site to another. -->

<!-- To import this information into a WordPress site follow these steps: -->
<!-- 1. Log in to that site as an administrator. -->
<!-- 2. Go to Visual Form Builder Pro: Import in the WordPress admin panel. -->
<!-- 3. Select and Upload this file using the form provided on that page. -->
<!-- 4. Visual Form Builder Pro will then import each of the forms, fields, entries, and email design settings -->
<!--    contained in this file into your site. -->
<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:vfb="http://matthewmuro.com/export/1.9/"
>
<channel>
	<title><?php 
        bloginfo_rss('name');
        ?>
</title>
	<link><?php 
        bloginfo_rss('url');
        ?>
</link>
	<description><?php 
        bloginfo_rss('description');
        ?>
</description>
	<pubDate><?php 
        echo date('D, d M Y H:i:s +0000');
        ?>
</pubDate>
	<language><?php 
        bloginfo_rss('language');
        ?>
</language>
	<vfb:export_version><?php 
        echo $this->export_version;
        ?>
</vfb:export_version>
<?php 
        do_action('rss2_head');
        // Forms
        if (in_array($args['content'], array('all', 'forms'))) {
            $form_ids = $this->get_form_IDs($form_id);
            if ($form_ids) {
                // fetch 20 forms at a time rather than loading the entire table into memory
                while ($next_forms = array_splice($form_ids, 0, 20)) {
                    $where = 'WHERE form_id IN (' . join(',', $next_forms) . ')';
                    $forms = $wpdb->get_results("SELECT * FROM {$this->form_table_name} {$where}");
                    foreach ($forms as $form) {
                        ?>
<vfb:form>
	<vfb:form_id><?php 
                        echo $form->form_id;
                        ?>
</vfb:form_id>
	<vfb:form_key><?php 
                        echo $form->form_key;
                        ?>
</vfb:form_key>
	<vfb:form_title><?php 
                        echo $this->cdata($form->form_title);
                        ?>
</vfb:form_title>
	<vfb:form_email_subject><?php 
                        echo $this->cdata($form->form_email_subject);
                        ?>
</vfb:form_email_subject>
	<vfb:form_email_to><?php 
                        echo $this->cdata($form->form_email_to);
                        ?>
</vfb:form_email_to>
	<vfb:form_email_from><?php 
                        echo $this->cdata($form->form_email_from);
                        ?>
</vfb:form_email_from>
	<vfb:form_email_from_name><?php 
                        echo $this->cdata($form->form_email_from_name);
                        ?>
</vfb:form_email_from_name>
	<vfb:form_email_from_override><?php 
                        echo $form->form_email_from_override;
                        ?>
</vfb:form_email_from_override>
	<vfb:form_email_from_name_override><?php 
                        echo $form->form_email_from_name_override;
                        ?>
</vfb:form_email_from_name_override>
	<vfb:form_email_rule_setting><?php 
                        echo $form->form_email_rule_setting;
                        ?>
</vfb:form_email_rule_setting>
	<vfb:form_email_rule><?php 
                        echo $this->cdata($form->form_email_rule);
                        ?>
</vfb:form_email_rule>
	<vfb:form_success_type><?php 
                        echo $form->form_success_type;
                        ?>
</vfb:form_success_type>
	<vfb:form_success_message><?php 
                        echo $this->cdata($form->form_success_message);
                        ?>
</vfb:form_success_message>
	<vfb:form_notification_setting><?php 
                        echo $form->form_notification_setting;
                        ?>
</vfb:form_notification_setting>
	<vfb:form_notification_email_name><?php 
                        echo $this->cdata($form->form_notification_email_name);
                        ?>
</vfb:form_notification_email_name>
	<vfb:form_notification_email_from><?php 
                        echo $this->cdata($form->form_notification_email_from);
                        ?>
</vfb:form_notification_email_from>
	<vfb:form_notification_email><?php 
                        echo $form->form_notification_email;
                        ?>
</vfb:form_notification_email>
	<vfb:form_notification_subject><?php 
                        echo $this->cdata($form->form_notification_subject);
                        ?>
</vfb:form_notification_subject>
	<vfb:form_notification_message><?php 
                        echo $this->cdata($form->form_notification_message);
                        ?>
</vfb:form_notification_message>
	<vfb:form_notification_entry><?php 
                        echo $form->form_notification_entry;
                        ?>
</vfb:form_notification_entry>
	<vfb:form_email_design><?php 
                        echo $this->cdata($form->form_email_design);
                        ?>
</vfb:form_email_design>
	<vfb:form_paypal_setting><?php 
                        echo $form->form_paypal_setting;
                        ?>
</vfb:form_paypal_setting>
	<vfb:form_paypal_email><?php 
                        echo $this->cdata($form->form_paypal_email);
                        ?>
</vfb:form_paypal_email>
	<vfb:form_paypal_currency><?php 
                        echo $form->form_paypal_currency;
                        ?>
</vfb:form_paypal_currency>
	<vfb:form_paypal_shipping><?php 
                        echo $form->form_paypal_shipping;
                        ?>
</vfb:form_paypal_shipping>
	<vfb:form_paypal_tax><?php 
                        echo $form->form_paypal_tax;
                        ?>
</vfb:form_paypal_tax>
	<vfb:form_paypal_field_price><?php 
                        echo $this->cdata($form->form_paypal_field_price);
                        ?>
</vfb:form_paypal_field_price>
	<vfb:form_paypal_item_name><?php 
                        echo $this->cdata($form->form_paypal_item_name);
                        ?>
</vfb:form_paypal_item_name>
	<vfb:form_label_alignment><?php 
                        echo $form->form_label_alignment;
                        ?>
</vfb:form_label_alignment>
	<vfb:form_verification><?php 
                        echo $form->form_verification;
                        ?>
</vfb:form_verification>
	<vfb:form_entries_allowed><?php 
                        echo $form->form_entries_allowed;
                        ?>
</vfb:form_entries_allowed>
	<vfb:form_entries_schedule><?php 
                        echo $this->cdata($form->form_entries_schedule);
                        ?>
</vfb:form_entries_schedule>
	<vfb:form_unique_entry><?php 
                        echo $form->form_unique_entry;
                        ?>
</vfb:form_unique_entry>
	<vfb:form_status><?php 
                        echo $form->form_status;
                        ?>
</vfb:form_status>
</vfb:form>
<?php 
                    }
                }
            }
        }
        // Fields
        if (in_array($args['content'], array('all', 'forms'))) {
            $field_ids = $this->get_field_IDs($form_id);
            if ($field_ids) {
                // fetch 20 entries at a time rather than loading the entire table into memory
                while ($next_fields = array_splice($field_ids, 0, 20)) {
                    $where = 'WHERE field_id IN (' . join(',', $next_fields) . ')';
                    $fields = $wpdb->get_results("SELECT * FROM {$this->field_table_name} {$where}");
                    foreach ($fields as $field) {
                        ?>
<vfb:field>
	<vfb:field_id><?php 
                        echo $field->field_id;
                        ?>
</vfb:field_id>
	<vfb:form_id><?php 
                        echo $field->form_id;
                        ?>
</vfb:form_id>
	<vfb:field_key><?php 
                        echo $field->field_key;
                        ?>
</vfb:field_key>
	<vfb:field_type><?php 
                        echo $field->field_type;
                        ?>
</vfb:field_type>
	<vfb:field_options><?php 
                        echo $this->cdata($field->field_options);
                        ?>
</vfb:field_options>
	<vfb:field_options_other><?php 
                        echo $this->cdata($field->field_options_other);
                        ?>
</vfb:field_options_other>
	<vfb:field_description><?php 
                        echo $this->cdata($field->field_description);
                        ?>
</vfb:field_description>
	<vfb:field_name><?php 
                        echo $this->cdata($field->field_name);
                        ?>
</vfb:field_name>
	<vfb:field_sequence><?php 
                        echo $field->field_sequence;
                        ?>
</vfb:field_sequence>
	<vfb:field_parent><?php 
                        echo $field->field_parent;
                        ?>
</vfb:field_parent>
	<vfb:field_required><?php 
                        echo $field->field_required;
                        ?>
</vfb:field_required>
	<vfb:field_validation><?php 
                        echo $field->field_validation;
                        ?>
</vfb:field_validation>
	<vfb:field_size><?php 
                        echo $field->field_size;
                        ?>
</vfb:field_size>
	<vfb:field_css><?php 
                        echo $field->field_css;
                        ?>
</vfb:field_css>
	<vfb:field_layout><?php 
                        echo $field->field_layout;
                        ?>
</vfb:field_layout>
	<vfb:field_default><?php 
                        echo $this->cdata($field->field_default);
                        ?>
</vfb:field_default>
	<vfb:field_rule_setting><?php 
                        echo $field->field_rule_setting;
                        ?>
</vfb:field_rule_setting>
	<vfb:field_rule><?php 
                        echo $this->cdata($field->field_rule);
                        ?>
</vfb:field_rule>
</vfb:field>
<?php 
                    }
                }
            }
        }
        // Entries
        if (in_array($args['content'], array('all'))) {
            $entry_ids = $this->get_entry_IDs($form_id);
            if ($entry_ids) {
                // fetch 20 entries at a time rather than loading the entire table into memory
                while ($next_entries = array_splice($entry_ids, 0, 20)) {
                    $where = 'WHERE entries_id IN (' . join(',', $next_entries) . ')';
                    $entries = $wpdb->get_results("SELECT * FROM {$this->entries_table_name} {$where}");
                    foreach ($entries as $entry) {
                        ?>
<vfb:entry>
	<vfb:entries_id><?php 
                        echo $entry->entries_id;
                        ?>
</vfb:entries_id>
	<vfb:form_id><?php 
                        echo $entry->form_id;
                        ?>
</vfb:form_id>
	<vfb:user_id><?php 
                        echo $entry->user_id;
                        ?>
</vfb:user_id>
	<vfb:data><![CDATA[<?php 
                        echo $entry->data;
                        ?>
]]></vfb:data>
	<vfb:subject><?php 
                        echo $this->cdata($entry->subject);
                        ?>
</vfb:subject>
	<vfb:sender_name><?php 
                        echo $this->cdata($entry->sender_name);
                        ?>
</vfb:sender_name>
	<vfb:sender_email><?php 
                        echo $this->cdata($entry->sender_email);
                        ?>
</vfb:sender_email>
	<vfb:emails_to><?php 
                        echo $this->cdata($entry->emails_to);
                        ?>
</vfb:emails_to>
	<vfb:date_submitted><?php 
                        echo $entry->date_submitted;
                        ?>
</vfb:date_submitted>
	<vfb:ip_address><?php 
                        echo $entry->ip_address;
                        ?>
</vfb:ip_address>
	<vfb:notes><?php 
                        echo $this->cdata($entry->notes);
                        ?>
</vfb:notes>
	<vfb:akismet><?php 
                        echo $this->cdata($entry->akismet);
                        ?>
</vfb:akismet>
	<vfb:entry_approved><?php 
                        echo $entry->entry_approved;
                        ?>
</vfb:entry_approved>
</vfb:entry>
<?php 
                    }
                }
            }
        }
        // Form Designer add-on
        if (in_array($args['content'], array('all', 'form_design'))) {
            $form_design_ids = $this->get_form_design_IDs($form_id);
            if ($form_design_ids) {
                // fetch 20 entries at a time rather than loading the entire table into memory
                while ($next_designs = array_splice($form_design_ids, 0, 20)) {
                    $where = 'WHERE design_id IN (' . join(',', $next_designs) . ')';
                    $designs = $wpdb->get_results("SELECT * FROM {$this->design_table_name} {$where}");
                    foreach ($designs as $design) {
                        ?>
<vfb:form_design>
	<vfb:design_id><?php 
                        echo $design->design_id;
                        ?>
</vfb:design_id>
	<vfb:form_id><?php 
                        echo $design->form_id;
                        ?>
</vfb:form_id>
	<vfb:enable_design><?php 
                        echo $design->enable_design;
                        ?>
</vfb:enable_design>
	<vfb:design_type><?php 
                        echo $design->design_type;
                        ?>
</vfb:design_type>
	<vfb:design_themes><?php 
                        echo $design->design_themes;
                        ?>
</vfb:design_themes>
	<vfb:design_custom><?php 
                        echo $this->cdata($design->design_custom);
                        ?>
</vfb:design_custom>
</vfb:form_design>
<?php 
                    }
                }
            }
        }
        // Payments add-on
        if (in_array($args['content'], array('all', 'payments'))) {
            $payments_ids = $this->get_payments_IDs($form_id);
            if ($payments_ids) {
                // fetch 20 entries at a time rather than loading the entire table into memory
                while ($next_payments = array_splice($payments_ids, 0, 20)) {
                    $where = 'WHERE payment_id IN (' . join(',', $next_payments) . ')';
                    $payments = $wpdb->get_results("SELECT * FROM {$this->payment_table_name} {$where}");
                    foreach ($payments as $payment) {
                        ?>
<vfb:payment>
	<vfb:payment_id><?php 
                        echo $payment->payment_id;
                        ?>
</vfb:payment_id>
	<vfb:form_id><?php 
                        echo $payment->form_id;
                        ?>
</vfb:form_id>
	<vfb:enable_payment><?php 
                        echo $payment->enable_payment;
                        ?>
</vfb:enable_payment>
	<vfb:merchant_type><?php 
                        echo $payment->merchant_type;
                        ?>
</vfb:merchant_type>
	<vfb:merchant_details><?php 
                        echo $this->cdata($payment->merchant_details);
                        ?>
</vfb:merchant_details>
	<vfb:currency><?php 
                        echo $payment->currency;
                        ?>
</vfb:currency>
	<vfb:show_running_total><?php 
                        echo $payment->show_running_total;
                        ?>
</vfb:show_running_total>
	<vfb:collect_shipping_address><?php 
                        echo $payment->collect_shipping_address;
                        ?>
</vfb:collect_shipping_address>
	<vfb:collect_billing_info><?php 
                        echo $this->cdata($payment->collect_billing_info);
                        ?>
</vfb:collect_billing_info>
	<vfb:recurring_payments><?php 
                        echo $this->cdata($payment->recurring_payments);
                        ?>
</vfb:recurring_payments>
	<vfb:advanced_vars><?php 
                        echo $this->cdata($payment->advanced_vars);
                        ?>
</vfb:advanced_vars>
	<vfb:price_fields><?php 
                        echo $this->cdata($payment->price_fields);
                        ?>
</vfb:price_fields>
</vfb:payment>
<?php 
                    }
                }
            }
        }
        ?>
</channel>
</rss>
		<?php 
    }
Example #23
0
    /**
     * Retrieve feed XML.
     *
     * @since 2.2.0
     *
     * @param int $page Page ID.
     * @param string $post_type Optional, default is post. Post type.
     * @return string
     */
    function get_feed($page = 1, $post_type = 'post')
    {
        global $post, $wp, $wp_query, $posts, $wpdb, $blog_id;
        log_app('function', "get_feed({$page}, '{$post_type}')");
        ob_start();
        $this->ENTRY_PATH = $post_type;
        if (!isset($page)) {
            $page = 1;
        }
        $page = (int) $page;
        $count = get_option('posts_per_rss');
        wp('posts_per_page=' . $count . '&offset=' . ($count * ($page - 1) . '&orderby=modified'));
        $post = $GLOBALS['post'];
        $posts = $GLOBALS['posts'];
        $wp = $GLOBALS['wp'];
        $wp_query = $GLOBALS['wp_query'];
        $wpdb = $GLOBALS['wpdb'];
        $blog_id = (int) $GLOBALS['blog_id'];
        log_app('function', "query_posts(# " . print_r($wp_query, true) . "#)");
        log_app('function', "total_count(# {$wp_query->max_num_pages} #)");
        $last_page = $wp_query->max_num_pages;
        $next_page = $page + 1 > $last_page ? NULL : $page + 1;
        $prev_page = $page - 1 < 1 ? NULL : $page - 1;
        $last_page = (int) $last_page == 1 || (int) $last_page == 0 ? NULL : (int) $last_page;
        $self_page = $page > 1 ? $page : NULL;
        ?>
<feed xmlns="<?php 
        echo $this->ATOM_NS;
        ?>
" xmlns:app="<?php 
        echo $this->ATOMPUB_NS;
        ?>
" xml:lang="<?php 
        echo get_option('rss_language');
        ?>
" <?php 
        do_action('app_ns');
        ?>
 >
<id><?php 
        $this->the_entries_url();
        ?>
</id>
<updated><?php 
        echo mysql2date('Y-m-d\\TH:i:s\\Z', get_lastpostmodified('GMT'), false);
        ?>
</updated>
<title type="text"><?php 
        bloginfo_rss('name');
        ?>
</title>
<subtitle type="text"><?php 
        bloginfo_rss("description");
        ?>
</subtitle>
<link rel="first" type="<?php 
        echo $this->ATOM_CONTENT_TYPE;
        ?>
" href="<?php 
        $this->the_entries_url();
        ?>
" />
<?php 
        if (isset($prev_page)) {
            ?>
<link rel="previous" type="<?php 
            echo $this->ATOM_CONTENT_TYPE;
            ?>
" href="<?php 
            $this->the_entries_url($prev_page);
            ?>
" />
<?php 
        }
        if (isset($next_page)) {
            ?>
<link rel="next" type="<?php 
            echo $this->ATOM_CONTENT_TYPE;
            ?>
" href="<?php 
            $this->the_entries_url($next_page);
            ?>
" />
<?php 
        }
        ?>
<link rel="last" type="<?php 
        echo $this->ATOM_CONTENT_TYPE;
        ?>
" href="<?php 
        $this->the_entries_url($last_page);
        ?>
" />
<link rel="self" type="<?php 
        echo $this->ATOM_CONTENT_TYPE;
        ?>
" href="<?php 
        $this->the_entries_url($self_page);
        ?>
" />
<rights type="text">Copyright <?php 
        echo date('Y');
        ?>
</rights>
<?php 
        do_action('app_head');
        if (have_posts()) {
            while (have_posts()) {
                the_post();
                $this->echo_entry();
            }
        }
        ?>
</feed>
<?php 
        $feed = ob_get_contents();
        ob_end_clean();
        return $feed;
    }
Example #24
0
function export_wp($author = '')
{
    global $wpdb, $post_ids, $post;
    do_action('export_wp');
    $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 ($author and $author != 'all') {
        $author_id = (int) $author;
        $where = $wpdb->prepare(" WHERE post_author = %d ", $author_id);
    }
    // grab a snapshot of post IDs, just in case it changes during the export
    $post_ids = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} {$where} ORDER BY post_date_gmt ASC");
    $categories = (array) get_categories('get=all');
    $tags = (array) get_tags('get=all');
    function wxr_missing_parents($categories)
    {
        if (!is_array($categories) || empty($categories)) {
            return array();
        }
        foreach ($categories as $category) {
            $parents[$category->term_id] = $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 = get_categories("include=" . 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->parent == 0 || isset($cats[$cat->parent])) {
            $cats[$cat->term_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_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_cat_name($c)
    {
        if (empty($c->name)) {
            return;
        }
        echo '<wp:cat_name>' . wxr_cdata($c->name) . '</wp:cat_name>';
    }
    function wxr_category_description($c)
    {
        if (empty($c->description)) {
            return;
        }
        echo '<wp:category_description>' . wxr_cdata($c->description) . '</wp:category_description>';
    }
    function wxr_tag_name($t)
    {
        if (empty($t->name)) {
            return;
        }
        echo '<wp:tag_name>' . wxr_cdata($t->name) . '</wp:tag_name>';
    }
    function wxr_tag_description($t)
    {
        if (empty($t->description)) {
            return;
        }
        echo '<wp:tag_description>' . wxr_cdata($t->description) . '</wp:tag_description>';
    }
    function wxr_post_taxonomy()
    {
        $categories = get_the_category();
        $tags = get_the_tags();
        $the_list = '';
        $filter = 'rss';
        if (!empty($categories)) {
            foreach ((array) $categories as $category) {
                $cat_name = sanitize_term_field('name', $category->name, $category->term_id, 'category', $filter);
                // for backwards compatibility
                $the_list .= "\n\t\t<category><![CDATA[{$cat_name}]]></category>\n";
                // forwards compatibility: use a unique identifier for each cat to avoid clashes
                // http://trac.wordpress.org/ticket/5447
                $the_list .= "\n\t\t<category domain=\"category\" nicename=\"{$category->slug}\"><![CDATA[{$cat_name}]]></category>\n";
            }
        }
        if (!empty($tags)) {
            foreach ((array) $tags as $tag) {
                $tag_name = sanitize_term_field('name', $tag->name, $tag->term_id, 'post_tag', $filter);
                $the_list .= "\n\t\t<category domain=\"tag\"><![CDATA[{$tag_name}]]></category>\n";
                // forwards compatibility as above
                $the_list .= "\n\t\t<category domain=\"tag\" nicename=\"{$tag->slug}\"><![CDATA[{$tag_name}]]></category>\n";
            }
        }
        echo $the_list;
    }
    echo '<?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 panels. -->
<!-- 3. Choose "WordPress" from the list. -->
<!-- 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 to 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 into your blog -->

<?php 
    the_generator('export');
    ?>
<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 
    if ($cats) {
        foreach ($cats as $c) {
            ?>
	<wp:category><wp:category_nicename><?php 
            echo $c->slug;
            ?>
</wp:category_nicename><wp:category_parent><?php 
            echo $c->parent ? $cats[$c->parent]->name : '';
            ?>
</wp:category_parent><?php 
            wxr_cat_name($c);
            wxr_category_description($c);
            ?>
</wp:category>
<?php 
        }
    }
    if ($tags) {
        foreach ($tags as $t) {
            ?>
	<wp:tag><wp:tag_slug><?php 
            echo $t->slug;
            ?>
</wp:tag_slug><?php 
            wxr_tag_name($t);
            wxr_tag_description($t);
            ?>
</wp:tag>
<?php 
        }
    }
    ?>
	<?php 
    do_action('rss2_head');
    ?>
	<?php 
    if ($post_ids) {
        global $wp_query;
        $wp_query->in_the_loop = true;
        // Fake being in the loop.
        // fetch 20 posts at a time rather than loading the entire table into memory
        while ($next_posts = array_splice($post_ids, 0, 20)) {
            $where = "WHERE ID IN (" . join(',', $next_posts) . ")";
            $posts = $wpdb->get_results("SELECT * FROM {$wpdb->posts} {$where} ORDER BY post_date_gmt ASC");
            foreach ($posts as $post) {
                setup_postdata($post);
                ?>
<item>
<title><?php 
                echo apply_filters('the_title_rss', $post->post_title);
                ?>
</title>
<link><?php 
                the_permalink_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 
                echo wxr_cdata(get_the_author());
                ?>
</dc:creator>
<?php 
                wxr_post_taxonomy();
                ?>

<guid isPermaLink="false"><?php 
                the_guid();
                ?>
</guid>
<description></description>
<content:encoded><?php 
                echo wxr_cdata(apply_filters('the_content_export', $post->post_content));
                ?>
</content:encoded>
<excerpt:encoded><?php 
                echo wxr_cdata(apply_filters('the_excerpt_export', $post->post_excerpt));
                ?>
</excerpt: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>
<wp:post_password><?php 
                echo $post->post_password;
                ?>
</wp:post_password>
<?php 
                if ($post->post_type == 'attachment') {
                    ?>
<wp:attachment_url><?php 
                    echo wp_get_attachment_url($post->ID);
                    ?>
</wp:attachment_url>
<?php 
                }
                $postmeta = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->postmeta} WHERE post_id = %d", $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($wpdb->prepare("SELECT * FROM {$wpdb->comments} WHERE comment_post_ID = %d", $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 wxr_cdata($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 wxr_cdata($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_user_id><?php 
                        echo $c->user_id;
                        ?>
</wp:comment_user_id>
</wp:comment>
<?php 
                    }
                }
                ?>
	</item>
<?php 
            }
        }
    }
    ?>
</channel>
</rss>
<?php 
}
Example #25
0
if (isset($HTTP_RAW_POST_DATA)) {
    $HTTP_RAW_POST_DATA = trim($HTTP_RAW_POST_DATA);
}
/** Include the bootstrap for setting up WordPress environment */
include dirname(__FILE__) . '/wp-load.php';
if (isset($_GET['rsd'])) {
    // http://cyber.law.harvard.edu/blogs/gems/tech/rsd.html
    header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
    echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . '>';
    ?>
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd">
  <service>
    <engineName>WordPress</engineName>
    <engineLink>https://wordpress.org/</engineLink>
    <homePageLink><?php 
    bloginfo_rss('url');
    ?>
</homePageLink>
    <apis>
      <api name="WordPress" blogID="1" preferred="true" apiLink="<?php 
    echo site_url('xmlrpc.php', 'rpc');
    ?>
" />
      <api name="Movable Type" blogID="1" preferred="false" apiLink="<?php 
    echo site_url('xmlrpc.php', 'rpc');
    ?>
" />
      <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php 
    echo site_url('xmlrpc.php', 'rpc');
    ?>
" />
Example #26
0
/**
 * Generates the WXR export file for download.
 *
 * @since 2.1.0
 *
 * @global wpdb    $wpdb
 * @global WP_Post $post
 *
 * @param array $args Filters defining what should be included in the export.
 */
function export_wp($args = array())
{
    global $wpdb, $post;
    $defaults = array('content' => 'all', 'author' => false, 'category' => false, 'start_date' => false, 'end_date' => false, 'status' => false);
    $args = wp_parse_args($args, $defaults);
    /**
     * Fires at the beginning of an export, before any headers are sent.
     *
     * @since 2.3.0
     *
     * @param array $args An array of export arguments.
     */
    do_action('export_wp', $args);
    $sitename = sanitize_key(get_bloginfo('name'));
    if (!empty($sitename)) {
        $sitename .= '.';
    }
    $date = date('Y-m-d');
    $wp_filename = $sitename . 'wordpress.' . $date . '.xml';
    /**
     * Filter the export filename.
     *
     * @since 4.4.0
     *
     * @param string $wp_filename The name of the file for download.
     * @param string $sitename    The site name.
     * @param string $date        Today's date, formatted.
     */
    $filename = apply_filters('export_wp_filename', $wp_filename, $sitename, $date);
    header('Content-Description: File Transfer');
    header('Content-Disposition: attachment; filename=' . $filename);
    header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
    if ('all' != $args['content'] && post_type_exists($args['content'])) {
        $ptype = get_post_type_object($args['content']);
        if (!$ptype->can_export) {
            $args['content'] = 'post';
        }
        $where = $wpdb->prepare("{$wpdb->posts}.post_type = %s", $args['content']);
    } else {
        $post_types = get_post_types(array('can_export' => true));
        $esses = array_fill(0, count($post_types), '%s');
        $where = $wpdb->prepare("{$wpdb->posts}.post_type IN (" . implode(',', $esses) . ')', $post_types);
    }
    if ($args['status'] && ('post' == $args['content'] || 'page' == $args['content'])) {
        $where .= $wpdb->prepare(" AND {$wpdb->posts}.post_status = %s", $args['status']);
    } else {
        $where .= " AND {$wpdb->posts}.post_status != 'auto-draft'";
    }
    $join = '';
    if ($args['category'] && 'post' == $args['content']) {
        if ($term = term_exists($args['category'], 'category')) {
            $join = "INNER JOIN {$wpdb->term_relationships} ON ({$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id)";
            $where .= $wpdb->prepare(" AND {$wpdb->term_relationships}.term_taxonomy_id = %d", $term['term_taxonomy_id']);
        }
    }
    if ('post' == $args['content'] || 'page' == $args['content'] || 'attachment' == $args['content']) {
        if ($args['author']) {
            $where .= $wpdb->prepare(" AND {$wpdb->posts}.post_author = %d", $args['author']);
        }
        if ($args['start_date']) {
            $where .= $wpdb->prepare(" AND {$wpdb->posts}.post_date >= %s", date('Y-m-d', strtotime($args['start_date'])));
        }
        if ($args['end_date']) {
            $where .= $wpdb->prepare(" AND {$wpdb->posts}.post_date < %s", date('Y-m-d', strtotime('+1 month', strtotime($args['end_date']))));
        }
    }
    // Grab a snapshot of post IDs, just in case it changes during the export.
    $post_ids = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} {$join} WHERE {$where}");
    /*
     * Get the requested terms ready, empty unless posts filtered by category
     * or all content.
     */
    $cats = $tags = $terms = array();
    if (isset($term) && $term) {
        $cat = get_term($term['term_id'], 'category');
        $cats = array($cat->term_id => $cat);
        unset($term, $cat);
    } elseif ('all' == $args['content']) {
        $categories = (array) get_categories(array('get' => 'all'));
        $tags = (array) get_tags(array('get' => 'all'));
        $custom_taxonomies = get_taxonomies(array('_builtin' => false));
        $custom_terms = (array) get_terms($custom_taxonomies, array('get' => 'all'));
        // Put categories in order with no child going before its parent.
        while ($cat = array_shift($categories)) {
            if ($cat->parent == 0 || isset($cats[$cat->parent])) {
                $cats[$cat->term_id] = $cat;
            } else {
                $categories[] = $cat;
            }
        }
        // Put terms in order with no child going before its parent.
        while ($t = array_shift($custom_terms)) {
            if ($t->parent == 0 || isset($terms[$t->parent])) {
                $terms[$t->term_id] = $t;
            } else {
                $custom_terms[] = $t;
            }
        }
        unset($categories, $custom_taxonomies, $custom_terms);
    }
    /**
     * Wrap given string in XML CDATA tag.
     *
     * @since 2.1.0
     *
     * @param string $str String to wrap in XML CDATA tag.
     * @return string
     */
    function wxr_cdata($str)
    {
        if (!seems_utf8($str)) {
            $str = utf8_encode($str);
        }
        // $str = ent2ncr(esc_html($str));
        $str = '<![CDATA[' . str_replace(']]>', ']]]]><![CDATA[>', $str) . ']]>';
        return $str;
    }
    /**
     * Return the URL of the site
     *
     * @since 2.5.0
     *
     * @return string Site URL.
     */
    function wxr_site_url()
    {
        // Multisite: the base URL.
        if (is_multisite()) {
            return network_home_url();
        } else {
            return get_bloginfo_rss('url');
        }
    }
    /**
     * Output a cat_name XML tag from a given category object
     *
     * @since 2.1.0
     *
     * @param object $category Category Object
     */
    function wxr_cat_name($category)
    {
        if (empty($category->name)) {
            return;
        }
        echo '<wp:cat_name>' . wxr_cdata($category->name) . '</wp:cat_name>';
    }
    /**
     * Output a category_description XML tag from a given category object
     *
     * @since 2.1.0
     *
     * @param object $category Category Object
     */
    function wxr_category_description($category)
    {
        if (empty($category->description)) {
            return;
        }
        echo '<wp:category_description>' . wxr_cdata($category->description) . '</wp:category_description>';
    }
    /**
     * Output a tag_name XML tag from a given tag object
     *
     * @since 2.3.0
     *
     * @param object $tag Tag Object
     */
    function wxr_tag_name($tag)
    {
        if (empty($tag->name)) {
            return;
        }
        echo '<wp:tag_name>' . wxr_cdata($tag->name) . '</wp:tag_name>';
    }
    /**
     * Output a tag_description XML tag from a given tag object
     *
     * @since 2.3.0
     *
     * @param object $tag Tag Object
     */
    function wxr_tag_description($tag)
    {
        if (empty($tag->description)) {
            return;
        }
        echo '<wp:tag_description>' . wxr_cdata($tag->description) . '</wp:tag_description>';
    }
    /**
     * Output a term_name XML tag from a given term object
     *
     * @since 2.9.0
     *
     * @param object $term Term Object
     */
    function wxr_term_name($term)
    {
        if (empty($term->name)) {
            return;
        }
        echo '<wp:term_name>' . wxr_cdata($term->name) . '</wp:term_name>';
    }
    /**
     * Output a term_description XML tag from a given term object
     *
     * @since 2.9.0
     *
     * @param object $term Term Object
     */
    function wxr_term_description($term)
    {
        if (empty($term->description)) {
            return;
        }
        echo '<wp:term_description>' . wxr_cdata($term->description) . '</wp:term_description>';
    }
    /**
     * Output list of authors with posts
     *
     * @since 3.1.0
     *
     * @global wpdb $wpdb WordPress database abstraction object.
     *
     * @param array $post_ids Array of post IDs to filter the query by. Optional.
     */
    function wxr_authors_list(array $post_ids = null)
    {
        global $wpdb;
        if (!empty($post_ids)) {
            $post_ids = array_map('absint', $post_ids);
            $and = 'AND ID IN ( ' . implode(', ', $post_ids) . ')';
        } else {
            $and = '';
        }
        $authors = array();
        $results = $wpdb->get_results("SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_status != 'auto-draft' {$and}");
        foreach ((array) $results as $result) {
            $authors[] = get_userdata($result->post_author);
        }
        $authors = array_filter($authors);
        foreach ($authors as $author) {
            echo "\t<wp:author>";
            echo '<wp:author_id>' . intval($author->ID) . '</wp:author_id>';
            echo '<wp:author_login>' . wxr_cdata($author->user_login) . '</wp:author_login>';
            echo '<wp:author_email>' . wxr_cdata($author->user_email) . '</wp:author_email>';
            echo '<wp:author_display_name>' . wxr_cdata($author->display_name) . '</wp:author_display_name>';
            echo '<wp:author_first_name>' . wxr_cdata($author->first_name) . '</wp:author_first_name>';
            echo '<wp:author_last_name>' . wxr_cdata($author->last_name) . '</wp:author_last_name>';
            echo "</wp:author>\n";
        }
    }
    /**
     * Ouput all navigation menu terms
     *
     * @since 3.1.0
     */
    function wxr_nav_menu_terms()
    {
        $nav_menus = wp_get_nav_menus();
        if (empty($nav_menus) || !is_array($nav_menus)) {
            return;
        }
        foreach ($nav_menus as $menu) {
            echo "\t<wp:term>";
            echo '<wp:term_id>' . intval($menu->term_id) . '</wp:term_id>';
            echo '<wp:term_taxonomy>nav_menu</wp:term_taxonomy>';
            echo '<wp:term_slug>' . wxr_cdata($menu->slug) . '</wp:term_slug>';
            wxr_term_name($menu);
            echo "</wp:term>\n";
        }
    }
    /**
     * Output list of taxonomy terms, in XML tag format, associated with a post
     *
     * @since 2.3.0
     */
    function wxr_post_taxonomy()
    {
        $post = get_post();
        $taxonomies = get_object_taxonomies($post->post_type);
        if (empty($taxonomies)) {
            return;
        }
        $terms = wp_get_object_terms($post->ID, $taxonomies);
        foreach ((array) $terms as $term) {
            echo "\t\t<category domain=\"{$term->taxonomy}\" nicename=\"{$term->slug}\">" . wxr_cdata($term->name) . "</category>\n";
        }
    }
    /**
     *
     * @param bool   $return_me
     * @param string $meta_key
     * @return bool
     */
    function wxr_filter_postmeta($return_me, $meta_key)
    {
        if ('_edit_lock' == $meta_key) {
            $return_me = true;
        }
        return $return_me;
    }
    add_filter('wxr_export_skip_postmeta', 'wxr_filter_postmeta', 10, 2);
    echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . "\" ?>\n";
    ?>
<!-- This is a WordPress eXtended RSS file generated by WordPress as an export of your site. -->
<!-- It contains information about your site's posts, pages, comments, categories, and other content. -->
<!-- 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 site. -->

<!-- To import this information into a WordPress site follow these steps: -->
<!-- 1. Log in to that site as an administrator. -->
<!-- 2. Go to Tools: Import in the WordPress admin panel. -->
<!-- 3. Install the "WordPress" importer from the list. -->
<!-- 4. Activate & Run Importer. -->
<!-- 5. Upload this file using the form provided on that page. -->
<!-- 6. You will first be asked to map the authors in this export file to users -->
<!--    on the site. For each author, you may choose to map to an -->
<!--    existing user on the site or to create a new user. -->
<!-- 7. WordPress will then import each of the posts, pages, comments, categories, etc. -->
<!--    contained in this file into your site. -->

<?php 
    the_generator('export');
    ?>
<rss version="2.0"
	xmlns:excerpt="http://wordpress.org/export/<?php 
    echo WXR_VERSION;
    ?>
/excerpt/"
	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 date('D, d M Y H:i:s +0000');
    ?>
</pubDate>
	<language><?php 
    bloginfo_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 
    wxr_authors_list($post_ids);
    ?>

<?php 
    foreach ($cats as $c) {
        ?>
	<wp:category><wp:term_id><?php 
        echo intval($c->term_id);
        ?>
</wp:term_id><wp:category_nicename><?php 
        echo wxr_cdata($c->slug);
        ?>
</wp:category_nicename><wp:category_parent><?php 
        echo wxr_cdata($c->parent ? $cats[$c->parent]->slug : '');
        ?>
</wp:category_parent><?php 
        wxr_cat_name($c);
        wxr_category_description($c);
        ?>
</wp:category>
<?php 
    }
    foreach ($tags as $t) {
        ?>
	<wp:tag><wp:term_id><?php 
        echo intval($t->term_id);
        ?>
</wp:term_id><wp:tag_slug><?php 
        echo wxr_cdata($t->slug);
        ?>
</wp:tag_slug><?php 
        wxr_tag_name($t);
        wxr_tag_description($t);
        ?>
</wp:tag>
<?php 
    }
    foreach ($terms as $t) {
        ?>
	<wp:term><wp:term_id><?php 
        echo wxr_cdata($t->term_id);
        ?>
</wp:term_id><wp:term_taxonomy><?php 
        echo wxr_cdata($t->taxonomy);
        ?>
</wp:term_taxonomy><wp:term_slug><?php 
        echo wxr_cdata($t->slug);
        ?>
</wp:term_slug><wp:term_parent><?php 
        echo wxr_cdata($t->parent ? $terms[$t->parent]->slug : '');
        ?>
</wp:term_parent><?php 
        wxr_term_name($t);
        wxr_term_description($t);
        ?>
</wp:term>
<?php 
    }
    if ('all' == $args['content']) {
        wxr_nav_menu_terms();
    }
    ?>

	<?php 
    /** This action is documented in libs/feed-rss2.php */
    do_action('rss2_head');
    ?>

<?php 
    if ($post_ids) {
        /**
         * @global WP_Query $wp_query
         */
        global $wp_query;
        // Fake being in the loop.
        $wp_query->in_the_loop = true;
        // Fetch 20 posts at a time rather than loading the entire table into memory.
        while ($next_posts = array_splice($post_ids, 0, 20)) {
            $where = 'WHERE ID IN (' . join(',', $next_posts) . ')';
            $posts = $wpdb->get_results("SELECT * FROM {$wpdb->posts} {$where}");
            // Begin Loop.
            foreach ($posts as $post) {
                setup_postdata($post);
                $is_sticky = is_sticky($post->ID) ? 1 : 0;
                ?>
	<item>
		<title><?php 
                /** This filter is documented in libs/feed.php */
                echo apply_filters('the_title_rss', $post->post_title);
                ?>
</title>
		<link><?php 
                the_permalink_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 
                echo wxr_cdata(get_the_author_meta('login'));
                ?>
</dc:creator>
		<guid isPermaLink="false"><?php 
                the_guid();
                ?>
</guid>
		<description></description>
		<content:encoded><?php 
                /**
                 * Filter the post content used for WXR exports.
                 *
                 * @since 2.5.0
                 *
                 * @param string $post_content Content of the current post.
                 */
                echo wxr_cdata(apply_filters('the_content_export', $post->post_content));
                ?>
</content:encoded>
		<excerpt:encoded><?php 
                /**
                 * Filter the post excerpt used for WXR exports.
                 *
                 * @since 2.6.0
                 *
                 * @param string $post_excerpt Excerpt for the current post.
                 */
                echo wxr_cdata(apply_filters('the_excerpt_export', $post->post_excerpt));
                ?>
</excerpt:encoded>
		<wp:post_id><?php 
                echo intval($post->ID);
                ?>
</wp:post_id>
		<wp:post_date><?php 
                echo wxr_cdata($post->post_date);
                ?>
</wp:post_date>
		<wp:post_date_gmt><?php 
                echo wxr_cdata($post->post_date_gmt);
                ?>
</wp:post_date_gmt>
		<wp:comment_status><?php 
                echo wxr_cdata($post->comment_status);
                ?>
</wp:comment_status>
		<wp:ping_status><?php 
                echo wxr_cdata($post->ping_status);
                ?>
</wp:ping_status>
		<wp:post_name><?php 
                echo wxr_cdata($post->post_name);
                ?>
</wp:post_name>
		<wp:status><?php 
                echo wxr_cdata($post->post_status);
                ?>
</wp:status>
		<wp:post_parent><?php 
                echo intval($post->post_parent);
                ?>
</wp:post_parent>
		<wp:menu_order><?php 
                echo intval($post->menu_order);
                ?>
</wp:menu_order>
		<wp:post_type><?php 
                echo wxr_cdata($post->post_type);
                ?>
</wp:post_type>
		<wp:post_password><?php 
                echo wxr_cdata($post->post_password);
                ?>
</wp:post_password>
		<wp:is_sticky><?php 
                echo intval($is_sticky);
                ?>
</wp:is_sticky>
<?php 
                if ($post->post_type == 'attachment') {
                    ?>
		<wp:attachment_url><?php 
                    echo wxr_cdata(wp_get_attachment_url($post->ID));
                    ?>
</wp:attachment_url>
<?php 
                }
                wxr_post_taxonomy();
                $postmeta = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->postmeta} WHERE post_id = %d", $post->ID));
                foreach ($postmeta as $meta) {
                    /**
                     * Filter whether to selectively skip post meta used for WXR exports.
                     *
                     * Returning a truthy value to the filter will skip the current meta
                     * object from being exported.
                     *
                     * @since 3.3.0
                     *
                     * @param bool   $skip     Whether to skip the current post meta. Default false.
                     * @param string $meta_key Current meta key.
                     * @param object $meta     Current meta object.
                     */
                    if (apply_filters('wxr_export_skip_postmeta', false, $meta->meta_key, $meta)) {
                        continue;
                    }
                    ?>
		<wp:postmeta>
			<wp:meta_key><?php 
                    echo wxr_cdata($meta->meta_key);
                    ?>
</wp:meta_key>
			<wp:meta_value><?php 
                    echo wxr_cdata($meta->meta_value);
                    ?>
</wp:meta_value>
		</wp:postmeta>
<?php 
                }
                $_comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->comments} WHERE comment_post_ID = %d AND comment_approved <> 'spam'", $post->ID));
                $comments = array_map('get_comment', $_comments);
                foreach ($comments as $c) {
                    ?>
		<wp:comment>
			<wp:comment_id><?php 
                    echo intval($c->comment_ID);
                    ?>
</wp:comment_id>
			<wp:comment_author><?php 
                    echo wxr_cdata($c->comment_author);
                    ?>
</wp:comment_author>
			<wp:comment_author_email><?php 
                    echo wxr_cdata($c->comment_author_email);
                    ?>
</wp:comment_author_email>
			<wp:comment_author_url><?php 
                    echo esc_url_raw($c->comment_author_url);
                    ?>
</wp:comment_author_url>
			<wp:comment_author_IP><?php 
                    echo wxr_cdata($c->comment_author_IP);
                    ?>
</wp:comment_author_IP>
			<wp:comment_date><?php 
                    echo wxr_cdata($c->comment_date);
                    ?>
</wp:comment_date>
			<wp:comment_date_gmt><?php 
                    echo wxr_cdata($c->comment_date_gmt);
                    ?>
</wp:comment_date_gmt>
			<wp:comment_content><?php 
                    echo wxr_cdata($c->comment_content);
                    ?>
</wp:comment_content>
			<wp:comment_approved><?php 
                    echo wxr_cdata($c->comment_approved);
                    ?>
</wp:comment_approved>
			<wp:comment_type><?php 
                    echo wxr_cdata($c->comment_type);
                    ?>
</wp:comment_type>
			<wp:comment_parent><?php 
                    echo intval($c->comment_parent);
                    ?>
</wp:comment_parent>
			<wp:comment_user_id><?php 
                    echo intval($c->user_id);
                    ?>
</wp:comment_user_id>
<?php 
                    $c_meta = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->commentmeta} WHERE comment_id = %d", $c->comment_ID));
                    foreach ($c_meta as $meta) {
                        /**
                         * Filter whether to selectively skip comment meta used for WXR exports.
                         *
                         * Returning a truthy value to the filter will skip the current meta
                         * object from being exported.
                         *
                         * @since 4.0.0
                         *
                         * @param bool   $skip     Whether to skip the current comment meta. Default false.
                         * @param string $meta_key Current meta key.
                         * @param object $meta     Current meta object.
                         */
                        if (apply_filters('wxr_export_skip_commentmeta', false, $meta->meta_key, $meta)) {
                            continue;
                        }
                        ?>
			<wp:commentmeta>
				<wp:meta_key><?php 
                        echo wxr_cdata($meta->meta_key);
                        ?>
</wp:meta_key>
				<wp:meta_value><?php 
                        echo wxr_cdata($meta->meta_value);
                        ?>
</wp:meta_value>
			</wp:commentmeta>
<?php 
                    }
                    ?>
		</wp:comment>
<?php 
                }
                ?>
	</item>
<?php 
            }
        }
    }
    ?>
</channel>
</rss>
<?php 
}
Example #27
0
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.');
    }
}
Example #28
0
    /**
     * Export function as it is defined in the original code of export_wp defined in wp-admin/includes/export.php
     */
    private function export_wp($args = array())
    {
        require_once ABSPATH . 'wp-admin/includes/export.php';
        global $wpdb;
        /**
         * This is mostly the original code of export_wp defined in wp-admin/includes/export.php
         */
        $defaults = array('post_type' => 'all', 'post__in' => false, 'author' => false, 'category' => false, 'start_date' => false, 'end_date' => false, 'status' => false, 'skip_comments' => false, 'file_item_count' => 1000);
        $args = wp_parse_args($args, $defaults);
        WP_CLI::line("Exporting with export_wp with arguments: " . var_export($args, true));
        do_action('export_wp');
        $sitename = sanitize_key(get_bloginfo('name'));
        if (!empty($sitename)) {
            $sitename .= '.';
        }
        $append = array(date('Y-m-d'));
        foreach (array_keys($args) as $arg_key) {
            if ($defaults[$arg_key] != $args[$arg_key] && 'post__in' != $arg_key) {
                $append[] = "{$arg_key}-" . (string) $args[$arg_key];
            }
        }
        $file_name_base = sanitize_file_name($sitename . 'wordpress.' . implode(".", $append));
        if ('all' != $args['post_type'] && post_type_exists($args['post_type'])) {
            $ptype = get_post_type_object($args['post_type']);
            if (!$ptype->can_export) {
                $args['post_type'] = 'post';
            }
            $where = $wpdb->prepare("{$wpdb->posts}.post_type = %s", $args['post_type']);
        } else {
            $post_types = get_post_types(array('can_export' => true));
            $esses = array_fill(0, count($post_types), '%s');
            $where = $wpdb->prepare("{$wpdb->posts}.post_type IN (" . implode(',', $esses) . ')', $post_types);
        }
        if ($args['status'] && ('post' == $args['post_type'] || 'page' == $args['post_type'])) {
            $where .= $wpdb->prepare(" AND {$wpdb->posts}.post_status = %s", $args['status']);
        } else {
            $where .= " AND {$wpdb->posts}.post_status != 'auto-draft'";
        }
        $join = '';
        if ($args['category'] && 'post' == $args['post_type']) {
            if ($term = term_exists($args['category'], 'category')) {
                $join = "INNER JOIN {$wpdb->term_relationships} ON ({$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id)";
                $where .= $wpdb->prepare(" AND {$wpdb->term_relationships}.term_taxonomy_id = %d", $term['term_taxonomy_id']);
            }
        }
        if ($args['author']) {
            $where .= $wpdb->prepare(" AND {$wpdb->posts}.post_author = %d", $args['author']);
        }
        if ($args['start_date']) {
            $where .= $wpdb->prepare(" AND {$wpdb->posts}.post_date >= %s", date('Y-m-d 00:00:00', strtotime($args['start_date'])));
        }
        if ($args['end_date']) {
            $where .= $wpdb->prepare(" AND {$wpdb->posts}.post_date <= %s", date('Y-m-d 23:59:59', strtotime($args['end_date'])));
        }
        // grab a snapshot of post IDs, just in case it changes during the export
        if (empty($args['post__in'])) {
            $all_the_post_ids = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} {$join} WHERE {$where} ORDER BY post_date ASC, post_parent ASC");
        } else {
            $all_the_post_ids = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE ID IN ({$args['post__in']}) ORDER BY post_date ASC, post_parent ASC");
        }
        // Make sure we're getting all of the attachments for these posts too
        if ('all' != $args['post_type'] || !empty($args['post__in'])) {
            $all_post_ids_with_attachments = array();
            while ($post_ids = array_splice($all_the_post_ids, 0, 100)) {
                $attachment_ids = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'attachment' AND post_parent IN (" . implode(",", array_map('intval', $post_ids)) . ")");
                $all_post_ids_with_attachments = array_merge($all_post_ids_with_attachments, $post_ids, (array) $attachment_ids);
            }
            $all_the_post_ids = $all_post_ids_with_attachments;
        }
        // get the requested terms ready, empty unless posts filtered by category or all content
        $cats = $tags = $terms = array();
        if (isset($term) && $term) {
            $cat = get_term($term['term_id'], 'category');
            $cats = array($cat->term_id => $cat);
            unset($term, $cat);
        } else {
            if ('all' == $args['post_type']) {
                $categories = (array) get_categories(array('get' => 'all'));
                $tags = (array) get_tags(array('get' => 'all'));
                $custom_taxonomies = get_taxonomies(array('_builtin' => false));
                $custom_terms = (array) get_terms($custom_taxonomies, array('get' => 'all'));
                // put categories in order with no child going before its parent
                while ($cat = array_shift($categories)) {
                    if ($cat->parent == 0 || isset($cats[$cat->parent])) {
                        $cats[$cat->term_id] = $cat;
                    } else {
                        $categories[] = $cat;
                    }
                }
                // put terms in order with no child going before its parent
                while ($t = array_shift($custom_terms)) {
                    if ($t->parent == 0 || isset($terms[$t->parent])) {
                        $terms[$t->term_id] = $t;
                    } else {
                        $custom_terms[] = $t;
                    }
                }
                unset($categories, $custom_taxonomies, $custom_terms);
            }
        }
        // Load the functions available in wp-admin/includes/export.php
        ob_start();
        export_wp(array('content' => 'page', 'start_date' => '1971-01-01', 'end_date' => '1971-01-02'));
        ob_end_clean();
        WP_CLI::line('Exporting ' . count($all_the_post_ids) . ' items to be broken into ' . ceil(count($all_the_post_ids) / $args['file_item_count']) . ' files');
        WP_CLI::line('Exporting ' . count($cats) . ' cateogries');
        WP_CLI::line('Exporting ' . count($tags) . ' tags');
        WP_CLI::line('Exporting ' . count($terms) . ' terms');
        WP_CLI::line();
        $file_count = 1;
        while ($post_ids = array_splice($all_the_post_ids, 0, $args['file_item_count'])) {
            $full_path = $this->wxr_path . $file_name_base . '.' . str_pad($file_count, 3, '0', STR_PAD_LEFT) . '.xml';
            // Create the file if it doesn't exist
            if (!file_exists($full_path)) {
                touch($full_path);
            }
            if (!file_exists($full_path)) {
                WP_CLI::error("Failed to create file " . $full_path);
                exit;
            } else {
                WP_CLI::line('Writing to file ' . $full_path);
            }
            $progress = new \cli\progress\Bar('Exporting', count($post_ids));
            $this->start_export();
            echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . "\" ?>\n";
            ?>
<!-- This is a WordPress eXtended RSS file generated by WordPress as an export of your site. -->
<!-- It contains information about your site's posts, pages, comments, categories, and other content. -->
<!-- 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 site. -->

<!-- To import this information into a WordPress site follow these steps: -->
<!-- 1. Log in to that site as an administrator. -->
<!-- 2. Go to Tools: Import in the WordPress admin panel. -->
<!-- 3. Install the "WordPress" importer from the list. -->
<!-- 4. Activate & Run Importer. -->
<!-- 5. Upload this file using the form provided on that page. -->
<!-- 6. You will first be asked to map the authors in this export file to users -->
<!--    on the site. For each author, you may choose to map to an -->
<!--    existing user on the site or to create a new user. -->
<!-- 7. WordPress will then import each of the posts, pages, comments, categories, etc. -->
<!--    contained in this file into your site. -->

<?php 
            the_generator('export');
            ?>
<rss version="2.0"
	xmlns:excerpt="http://wordpress.org/export/<?php 
            echo WXR_VERSION;
            ?>
/excerpt/"
	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 date('D, d M Y H:i:s +0000');
            ?>
</pubDate>
	<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 
            wxr_authors_list();
            ?>

<?php 
            foreach ($cats as $c) {
                ?>
	<wp:category><wp:term_id><?php 
                echo $c->term_id;
                ?>
</wp:term_id><wp:category_nicename><?php 
                echo $c->slug;
                ?>
</wp:category_nicename><wp:category_parent><?php 
                echo $c->parent ? $cats[$c->parent]->slug : '';
                ?>
</wp:category_parent><?php 
                wxr_cat_name($c);
                wxr_category_description($c);
                ?>
</wp:category>
<?php 
            }
            foreach ($tags as $t) {
                ?>
	<wp:tag><wp:term_id><?php 
                echo $t->term_id;
                ?>
</wp:term_id><wp:tag_slug><?php 
                echo $t->slug;
                ?>
</wp:tag_slug><?php 
                wxr_tag_name($t);
                wxr_tag_description($t);
                ?>
</wp:tag>
<?php 
            }
            foreach ($terms as $t) {
                ?>
	<wp:term><wp:term_id><?php 
                echo $t->term_id;
                ?>
</wp:term_id><wp:term_taxonomy><?php 
                echo $t->taxonomy;
                ?>
</wp:term_taxonomy><wp:term_slug><?php 
                echo $t->slug;
                ?>
</wp:term_slug><wp:term_parent><?php 
                echo $t->parent ? $terms[$t->parent]->slug : '';
                ?>
</wp:term_parent><?php 
                wxr_term_name($t);
                wxr_term_description($t);
                ?>
</wp:term>
<?php 
            }
            if ('all' == $args['post_type']) {
                wxr_nav_menu_terms();
            }
            ?>

	<?php 
            do_action('rss2_head');
            ?>
	<?php 
            $this->flush_export($full_path, false);
            ?>

<?php 
            if ($post_ids) {
                global $wp_query, $post;
                $wp_query->in_the_loop = true;
                // Fake being in the loop.
                // fetch 20 posts at a time rather than loading the entire table into memory
                while ($next_posts = array_splice($post_ids, 0, 20)) {
                    $where = 'WHERE ID IN (' . join(',', $next_posts) . ')';
                    $posts = $wpdb->get_results("SELECT * FROM {$wpdb->posts} {$where}");
                    // Begin Loop
                    foreach ($posts as $post) {
                        $progress->tick();
                        setup_postdata($post);
                        $is_sticky = is_sticky($post->ID) ? 1 : 0;
                        ?>
	<item>
		<title><?php 
                        echo apply_filters('the_title_rss', $post->post_title);
                        ?>
</title>
		<link><?php 
                        the_permalink_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 
                        echo get_the_author_meta('login');
                        ?>
</dc:creator>
		<guid isPermaLink="false"><?php 
                        esc_url(the_guid());
                        ?>
</guid>
		<description></description>
		<content:encoded><?php 
                        echo wxr_cdata(apply_filters('the_content_export', $post->post_content));
                        ?>
</content:encoded>
		<excerpt:encoded><?php 
                        echo wxr_cdata(apply_filters('the_excerpt_export', $post->post_excerpt));
                        ?>
</excerpt: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>
		<wp:post_password><?php 
                        echo $post->post_password;
                        ?>
</wp:post_password>
		<wp:is_sticky><?php 
                        echo $is_sticky;
                        ?>
</wp:is_sticky>
<?php 
                        if ($post->post_type == 'attachment') {
                            ?>
		<wp:attachment_url><?php 
                            echo wp_get_attachment_url($post->ID);
                            ?>
</wp:attachment_url>
<?php 
                        }
                        wxr_post_taxonomy();
                        $postmeta = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->postmeta} WHERE post_id = %d", $post->ID));
                        foreach ($postmeta as $meta) {
                            if (apply_filters('wxr_export_skip_postmeta', false, $meta->meta_key, $meta)) {
                                continue;
                            }
                            ?>
		<wp:postmeta>
			<wp:meta_key><?php 
                            echo $meta->meta_key;
                            ?>
</wp:meta_key>
			<wp:meta_value><?php 
                            echo wxr_cdata($meta->meta_value);
                            ?>
</wp:meta_value>
		</wp:postmeta>
<?php 
                        }
                        if (false === $args['skip_comments']) {
                            $comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->comments} WHERE comment_post_ID = %d AND comment_approved <> 'spam'", $post->ID));
                            foreach ($comments as $c) {
                                ?>
		<wp:comment>
			<wp:comment_id><?php 
                                echo $c->comment_ID;
                                ?>
</wp:comment_id>
			<wp:comment_author><?php 
                                echo wxr_cdata($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 esc_url_raw($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 wxr_cdata($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_user_id><?php 
                                echo $c->user_id;
                                ?>
</wp:comment_user_id>
<?php 
                                $c_meta = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->commentmeta} WHERE comment_id = %d", $c->comment_ID));
                                foreach ($c_meta as $meta) {
                                    ?>
			<wp:commentmeta>
				<wp:meta_key><?php 
                                    echo $meta->meta_key;
                                    ?>
</wp:meta_key>
				<wp:meta_value><?php 
                                    echo wxr_cdata($meta->meta_value);
                                    ?>
</wp:meta_value>
			</wp:commentmeta>
<?php 
                                }
                                ?>
		</wp:comment>
<?php 
                            }
                        }
                        ?>
	</item>
<?php 
                        $this->flush_export($full_path);
                    }
                }
            }
            ?>
</channel>
</rss>
<?php 
            $this->flush_export($full_path);
            $this->end_export();
            $this->stop_the_insanity();
            $progress->finish();
            $file_count++;
        }
        WP_CLI::success("All done with export");
    }
Example #29
0
        ?>
</uri>
			<?php 
    }
    do_action('atom_author');
    ?>
		</author>
		<title type="<?php 
    html_type_rss();
    ?>
"><![CDATA[<?php 
    the_title_rss();
    ?>
]]></title>
		<link rel="alternate" type="<?php 
    bloginfo_rss('html_type');
    ?>
" href="<?php 
    the_permalink_rss();
    ?>
" />
		<id><?php 
    the_guid();
    ?>
</id>
		<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);
include('./wp-config.php');

if ( isset( $_GET['rsd'] ) ) { // http://archipelago.phrasewise.com/rsd 
header('Content-type: text/xml; charset=' . get_option('blog_charset'), true);

?>
<?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd">
  <service>
    <engineName>WordPress</engineName>
    <engineLink>http://wordpress.org/</engineLink>
    <homePageLink><?php bloginfo_rss('url') ?></homePageLink>
    <apis>
      <api name="Movable Type" blogID="1" preferred="true" apiLink="<?php bloginfo_rss('url') ?>/xmlrpc.php" />
      <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('url') ?>/xmlrpc.php" />
      <api name="Blogger" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('url') ?>/xmlrpc.php" />
    </apis>
  </service>
</rsd>
<?php
exit;
}

include_once(ABSPATH . 'wp-admin/admin-functions.php');
include_once(ABSPATH . WPINC . '/class-IXR.php');

// Turn off all warnings and errors.
// error_reporting(0);

$post_default_title = ""; // posts submitted via the xmlrpc interface get that title