update_option('disqus_cc_fix', false);
    }
    dsq_manage_dialog('Your settings have been changed.');
}
// Get installation step process (or 0 if we're already installed).
$step = intval($_GET['step']);
$step = $step > 0 && isset($_POST['dsq_username']) ? $step : 1;
$step = dsq_is_installed() ? 0 : $step;
if (2 == $step && isset($_POST['dsq_username']) && isset($_POST['dsq_password'])) {
    $dsq_sites = $dsq_api->get_forum_list($_POST['dsq_username'], $_POST['dsq_password']);
    if ($dsq_sites < 0) {
        $step = 1;
        if (-2 == $dsq_sites) {
            dsq_manage_dialog('Invalid password.', true);
        } else {
            dsq_manage_dialog('Unexpected error.', true);
        }
    }
}
// HACK: Our own styles for older versions of WordPress.
if ($wp_version < 2.5) {
    echo "<link rel='stylesheet' href='" . DSQ_PLUGIN_URL . "/styles/manage-pre25.css' type='text/css' />";
}
?>
<!-- Header -->
<link rel='stylesheet' href='<?php 
echo DSQ_PLUGIN_URL;
?>
/styles/manage.css' type='text/css' />
<script type="text/javascript" src='<?php 
echo DSQ_PLUGIN_URL;
Esempio n. 2
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.');
    }
}
if ($step > 1 && $dsq_user_api_key) {
    $step = 1;
} elseif ($step > 1 && !isset($_POST['dsq_username'])) {
    $step = 1;
}
$step = dsq_is_installed() ? 0 : ($step ? $step : 1);
if (2 == $step && isset($_POST['dsq_username']) && isset($_POST['dsq_password'])) {
    $dsq_user_api_key = $dsq_api->get_user_api_key($_POST['dsq_username'], $_POST['dsq_password']);
    if (!$dsq_user_api_key) {
        $step = 1;
        dsq_manage_dialog($dsq_api->get_last_error(), true);
    }
    $dsq_sites = $dsq_api->get_forum_list($dsq_user_api_key);
    if ($dsq_sites < 0) {
        $step = 1;
        dsq_manage_dialog($dsq_api->get_last_error(), true);
    }
}
?>
<div class="wrap" id="dsq-wrap">
	<ul id="dsq-tabs">
		<li class="selected" id="dsq-tab-main" rel="dsq-main"><?php 
echo dsq_is_installed() ? 'Manage' : 'Install';
?>
</li>
		<li id="dsq-tab-advanced" rel="dsq-advanced"><?php 
echo dsq_i('Advanced Options');
?>
</li>
	</ul>
Esempio n. 4
0
}
if (2 == $step && isset($_POST['dsq_username']) && isset($_POST['dsq_password'])) {
    $dsq_user_api_key = $dsq_api->get_user_api_key($_POST['dsq_username'], $_POST['dsq_password']);
    if ($dsq_user_api_key < 0 || !$dsq_user_api_key) {
        $step = 1;
        dsq_manage_dialog($dsq_api->get_last_error(), true);
    }
    if ($step == 2) {
        $dsq_sites = $dsq_api->get_forum_list($dsq_user_api_key);
        if ($dsq_sites < 0) {
            $step = 1;
            dsq_manage_dialog($dsq_api->get_last_error(), true);
        } else {
            if (!$dsq_sites) {
                $step = 1;
                dsq_manage_dialog(dsq_i('There aren\'t any sites associated with this account. Maybe you want to create a site?') . ' ' . '<a href="https://disqus.com/admin/register/" target="_blank">' . dsq_i('Create a site') . '</a>', true);
            }
        }
    }
}
$show_advanced = isset($_GET['t']) && $_GET['t'] == 'adv';
?>
<div class="wrap" id="dsq-wrap">
    <ul id="dsq-tabs">
        <li<?php 
if (!$show_advanced) {
    echo ' class="selected"';
}
?>
 id="dsq-tab-main" rel="dsq-main">
            <?php 
Esempio n. 5
0
function dsq_check_version()
{
    global $dsq_api;
    $latest_version = $dsq_api->wp_check_version();
    if ($latest_version) {
        dsq_manage_dialog('You are running an old version of the Disqus Comments plugin. Please <a href="http://disqus.com/help/wordpress" onclick="window.open(this.href); return false">check the website</a> for updates.');
    }
}
Esempio n. 6
0
}
if (2 == $step && isset($_POST['dsq_username']) && isset($_POST['dsq_password'])) {
    $dsq_user_api_key = $dsq_api->get_user_api_key($_POST['dsq_username'], $_POST['dsq_password']);
    if ($dsq_user_api_key < 0 || !$dsq_user_api_key) {
        $step = 1;
        dsq_manage_dialog($dsq_api->get_last_error(), true);
    }
    if ($step == 2) {
        $dsq_sites = $dsq_api->get_forum_list($dsq_user_api_key);
        if ($dsq_sites < 0) {
            $step = 1;
            dsq_manage_dialog($dsq_api->get_last_error(), true);
        } else {
            if (!$dsq_sites) {
                $step = 1;
                dsq_manage_dialog(dsq_i('There aren\'t any sites associated with this account. Maybe you want to <a href="%s">create a site</a>?', 'http://disqus.com/admin/register/'), true);
            }
        }
    }
}
$show_advanced = isset($_GET['t']) && $_GET['t'] == 'adv';
?>
<div class="wrap" id="dsq-wrap">
    <ul id="dsq-tabs">
        <li<?php 
if (!$show_advanced) {
    echo ' class="selected"';
}
?>
 id="dsq-tab-main" rel="dsq-main"><?php 
echo dsq_is_installed() ? 'Manage' : 'Install';
Esempio n. 7
0
function dsq_warning()
{
    if (!get_option('disqus_forum_url') && !isset($_POST['forum_url']) && isset($_POST['page']) && $_GET['page'] != 'disqus') {
        dsq_manage_dialog('You must <a href="edit-comments.php?page=disqus">configure the plugin</a> to enable Disqus Comments.', true);
    }
    if (!dsq_is_installed() && isset($_POST['page']) && $_GET['page'] == 'disqus') {
        dsq_manage_dialog('Disqus Comments has not yet been configured. (<a href="edit-comments.php?page=disqus">Click here to configure</a>)');
    }
}
Esempio n. 8
0
function dsq_check_version()
{
    global $dsq_api;
    $latest_version = $dsq_api->wp_check_version();
    if ($latest_version) {
        dsq_manage_dialog('You are running an old version of the DISQUS plugin.  Please <a href="http://blog.disqus.net">check the blog</a> for updates.');
    }
}
Esempio n. 9
0
function dsq_check_version()
{
    global $dsq_api;
    $latest_version = $dsq_api->wp_check_version();
    if ($latest_version) {
        dsq_manage_dialog('You are running an old version of the Disqus Comments plugin. Please <a href="http://disqus.com/comments/wordpress">check the website</a> for updates.');
    }
}