Version Description
Download this release
Release Info
Developer | Disqus |
Plugin | Disqus Comment System |
Version | 2.46 |
Comparing to | |
See all releases |
Code changes from version 2.45 to 2.46
- comments.php +2 -0
- disqus.php +127 -17
- export.php +2 -0
- lib/wpapi.php +2 -0
- manage.php +21 -2
- readme.txt +10 -1
comments.php
CHANGED
@@ -62,10 +62,12 @@
|
|
62 |
// clear out the container (its filled for SEO/legacy purposes)
|
63 |
document.getElementById(disqus_container_id).innerHTML = '';
|
64 |
});
|
|
|
65 |
config.callbacks.onReady.push(function() {
|
66 |
// sync comments in the background so we don't block the page
|
67 |
DISQUS.request.get('?cf_action=sync_comments&post_id=<?php echo $post->ID; ?>');
|
68 |
});
|
|
|
69 |
};
|
70 |
var facebookXdReceiverPath = '<?php echo DSQ_PLUGIN_URL . '/xd_receiver.htm' ?>';
|
71 |
</script>
|
62 |
// clear out the container (its filled for SEO/legacy purposes)
|
63 |
document.getElementById(disqus_container_id).innerHTML = '';
|
64 |
});
|
65 |
+
<?php if (!get_option('disqus_manual_sync')): ?>
|
66 |
config.callbacks.onReady.push(function() {
|
67 |
// sync comments in the background so we don't block the page
|
68 |
DISQUS.request.get('?cf_action=sync_comments&post_id=<?php echo $post->ID; ?>');
|
69 |
});
|
70 |
+
<?php endif; ?>
|
71 |
};
|
72 |
var facebookXdReceiverPath = '<?php echo DSQ_PLUGIN_URL . '/xd_receiver.htm' ?>';
|
73 |
</script>
|
disqus.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Disqus Comment System
|
|
4 |
Plugin URI: http://disqus.com/
|
5 |
Description: The Disqus comment system replaces your WordPress comment system with your comments hosted and powered by Disqus. Head over to the Comments admin page to set up your DISQUS Comment System.
|
6 |
Author: Disqus <team@disqus.com>
|
7 |
-
Version: 2.
|
8 |
Author URI: http://disqus.com/
|
9 |
*/
|
10 |
|
@@ -63,7 +63,7 @@ define('DSQ_PLUGIN_URL', WP_CONTENT_URL . '/plugins/' . dsq_plugin_basename(__FI
|
|
63 |
* @global string $dsq_version
|
64 |
* @since 1.0
|
65 |
*/
|
66 |
-
$dsq_version = '2.
|
67 |
$mt_dsq_version = '2.01';
|
68 |
/**
|
69 |
* Response from Disqus get_thread API call for comments template.
|
@@ -193,7 +193,7 @@ function dsq_sync_comments($post, $comments) {
|
|
193 |
if ( !$last_comment_date ) {
|
194 |
$last_comment_date = 0;
|
195 |
}
|
196 |
-
|
197 |
foreach ( $comments as $comment ) {
|
198 |
$ts = strtotime($comment->created_at);
|
199 |
if ( $comment->imported ) {
|
@@ -284,9 +284,10 @@ function dsq_request_handler() {
|
|
284 |
}
|
285 |
// schedule the event for 30 seconds from now in case they
|
286 |
// happen to make a quick post
|
|
|
|
|
287 |
wp_schedule_single_event(time(), 'dsq_sync_post', array($post_id));
|
288 |
-
//
|
289 |
-
die('');
|
290 |
break;
|
291 |
case 'export_comments':
|
292 |
if (current_user_can('manage_options') && DISQUS_CAN_EXPORT) {
|
@@ -322,31 +323,93 @@ function dsq_request_handler() {
|
|
322 |
else {
|
323 |
$status = 'partial';
|
324 |
if (count($posts) == 1) {
|
325 |
-
$msg = 'Processed comments on post
|
326 |
}
|
327 |
else {
|
328 |
-
$msg = 'Processed comments on posts
|
329 |
}
|
330 |
}
|
331 |
$result = 'fail';
|
|
|
332 |
if (count($posts)) {
|
333 |
include_once(dirname(__FILE__) . '/export.php');
|
334 |
$wxr = dsq_export_wp($posts);
|
335 |
$response = $dsq_api->import_wordpress_comments($wxr, $timestamp, $eof);
|
336 |
if (!($response['group_id'] > 0)) {
|
337 |
$result = 'fail';
|
338 |
-
$msg = '<p class="status dsq-export-fail">Sorry, something unexpected happened with the export. Please <a href="#" id="dsq_export_retry">try again</a></p><p>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="
|
|
|
339 |
}
|
340 |
else {
|
341 |
if ($eof) {
|
342 |
-
$msg = 'Your comments have been sent to Disqus and queued for import!<br/><a href="
|
343 |
|
344 |
}
|
345 |
$result = 'success';
|
346 |
}
|
347 |
}
|
348 |
// send AJAX response
|
349 |
-
$response = compact('result', 'timestamp', 'status', 'last_post_id', 'msg', 'eof');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
header('Content-type: text/javascript');
|
351 |
echo cf_json_encode($response);
|
352 |
die();
|
@@ -367,7 +430,7 @@ function dsq_sync_post($post_id) {
|
|
367 |
dsq_update_permalink($post);
|
368 |
|
369 |
// get_thread should limit based on last comment date
|
370 |
-
$last_comment_id = $wpdb->get_var($wpdb->prepare( "SELECT cm.
|
371 |
if (!$last_comment_id) {
|
372 |
$last_comment_id = 0;
|
373 |
} else {
|
@@ -376,12 +439,12 @@ function dsq_sync_post($post_id) {
|
|
376 |
|
377 |
// Pull comments from API
|
378 |
$dsq_response = $dsq_api->get_thread($post, $last_comment_id);
|
379 |
-
if( $dsq_response < 0 ) {
|
380 |
-
|
381 |
-
return;
|
382 |
}
|
383 |
// Sync comments with database.
|
384 |
dsq_sync_comments($post, $dsq_response);
|
|
|
385 |
}
|
386 |
|
387 |
add_action('dsq_sync_post', 'dsq_sync_post');
|
@@ -682,15 +745,20 @@ function dsq_admin_head() {
|
|
682 |
?>
|
683 |
<link rel='stylesheet' href='<?php echo DSQ_PLUGIN_URL; ?>/styles/manage.css' type='text/css' />
|
684 |
<style type="text/css">
|
685 |
-
.dsq-exporting, .dsq-exported, .dsq-export-fail {
|
686 |
background: url(<?php echo admin_url('images/loading.gif'); ?>) left center no-repeat;
|
687 |
line-height: 16px;
|
688 |
padding-left: 20px;
|
689 |
}
|
690 |
-
.
|
|
|
|
|
|
|
|
|
|
|
691 |
background: url(<?php echo admin_url('images/yes.png'); ?>) left center no-repeat;
|
692 |
}
|
693 |
-
.dsq-export-fail {
|
694 |
background: url(<?php echo admin_url('images/no.png'); ?>) left center no-repeat;
|
695 |
}
|
696 |
</style>
|
@@ -706,6 +774,7 @@ jQuery(function($) {
|
|
706 |
$('#dsq-tab-advanced').click();
|
707 |
}
|
708 |
dsq_fire_export();
|
|
|
709 |
});
|
710 |
dsq_fire_export = function() {
|
711 |
var $ = jQuery;
|
@@ -749,6 +818,47 @@ dsq_export_comments = function() {
|
|
749 |
'json'
|
750 |
);
|
751 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
752 |
</script>
|
753 |
<?php
|
754 |
// HACK: Our own styles for older versions of WordPress.
|
4 |
Plugin URI: http://disqus.com/
|
5 |
Description: The Disqus comment system replaces your WordPress comment system with your comments hosted and powered by Disqus. Head over to the Comments admin page to set up your DISQUS Comment System.
|
6 |
Author: Disqus <team@disqus.com>
|
7 |
+
Version: 2.46
|
8 |
Author URI: http://disqus.com/
|
9 |
*/
|
10 |
|
63 |
* @global string $dsq_version
|
64 |
* @since 1.0
|
65 |
*/
|
66 |
+
$dsq_version = '2.46';
|
67 |
$mt_dsq_version = '2.01';
|
68 |
/**
|
69 |
* Response from Disqus get_thread API call for comments template.
|
193 |
if ( !$last_comment_date ) {
|
194 |
$last_comment_date = 0;
|
195 |
}
|
196 |
+
|
197 |
foreach ( $comments as $comment ) {
|
198 |
$ts = strtotime($comment->created_at);
|
199 |
if ( $comment->imported ) {
|
284 |
}
|
285 |
// schedule the event for 30 seconds from now in case they
|
286 |
// happen to make a quick post
|
287 |
+
// $result = dsq_sync_post($post_id);
|
288 |
+
// die('// '. $result);
|
289 |
wp_schedule_single_event(time(), 'dsq_sync_post', array($post_id));
|
290 |
+
die('// sync scheduled');
|
|
|
291 |
break;
|
292 |
case 'export_comments':
|
293 |
if (current_user_can('manage_options') && DISQUS_CAN_EXPORT) {
|
323 |
else {
|
324 |
$status = 'partial';
|
325 |
if (count($posts) == 1) {
|
326 |
+
$msg = dsq_i('Processed comments on post #%s…', $first_post_id);
|
327 |
}
|
328 |
else {
|
329 |
+
$msg = dsq_i('Processed comments on posts #%s-%s…', $first_post_id, $last_post_id);
|
330 |
}
|
331 |
}
|
332 |
$result = 'fail';
|
333 |
+
$response = null;
|
334 |
if (count($posts)) {
|
335 |
include_once(dirname(__FILE__) . '/export.php');
|
336 |
$wxr = dsq_export_wp($posts);
|
337 |
$response = $dsq_api->import_wordpress_comments($wxr, $timestamp, $eof);
|
338 |
if (!($response['group_id'] > 0)) {
|
339 |
$result = 'fail';
|
340 |
+
$msg = '<p class="status dsq-export-fail">'. dsq_i('Sorry, something unexpected happened with the export. Please <a href="#" id="dsq_export_retry">try again</a></p><p>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="%s" onclick="window.open(this.href); return false">WordPress help page</a>.', 'http://disqus.com/help/wordpress'). '</p>';
|
341 |
+
$response = $dsq_api->get_last_error();
|
342 |
}
|
343 |
else {
|
344 |
if ($eof) {
|
345 |
+
$msg = dsq_i('Your comments have been sent to Disqus and queued for import!<br/><a href="%s" target="_blank">See the status of your import at Disqus</a>', $response['link']);
|
346 |
|
347 |
}
|
348 |
$result = 'success';
|
349 |
}
|
350 |
}
|
351 |
// send AJAX response
|
352 |
+
$response = compact('result', 'timestamp', 'status', 'last_post_id', 'msg', 'eof', 'response');
|
353 |
+
header('Content-type: text/javascript');
|
354 |
+
echo cf_json_encode($response);
|
355 |
+
die();
|
356 |
+
}
|
357 |
+
break;
|
358 |
+
case 'import_comments':
|
359 |
+
if (current_user_can('manage_options')) {
|
360 |
+
$post_id = intval($_GET['post_id']);
|
361 |
+
$limit = 1;
|
362 |
+
global $wpdb, $dsq_api;
|
363 |
+
$posts = $wpdb->get_results($wpdb->prepare("
|
364 |
+
SELECT ID
|
365 |
+
FROM $wpdb->posts
|
366 |
+
WHERE post_type != 'revision'
|
367 |
+
AND post_status = 'publish'
|
368 |
+
AND comment_count > 0
|
369 |
+
AND ID > %d
|
370 |
+
ORDER BY ID ASC
|
371 |
+
LIMIT $limit
|
372 |
+
", $post_id));
|
373 |
+
$first_post_id = $posts[0]->ID;
|
374 |
+
$last_post_id = $posts[(count($posts) - 1)]->ID;
|
375 |
+
$max_post_id = $wpdb->get_var($wpdb->prepare("
|
376 |
+
SELECT MAX(ID)
|
377 |
+
FROM $wpdb->posts
|
378 |
+
WHERE post_type != 'revision'
|
379 |
+
AND post_status = 'publish'
|
380 |
+
AND comment_count > 0
|
381 |
+
AND ID > %d
|
382 |
+
", $post_id));
|
383 |
+
$eof = (int)($last_post_id == $max_post_id);
|
384 |
+
if ($eof) {
|
385 |
+
$status = 'complete';
|
386 |
+
$msg = dsq_i('Your comments have been downloaded from Disqus and saved in your local database.');
|
387 |
+
}
|
388 |
+
else {
|
389 |
+
$status = 'partial';
|
390 |
+
if (count($posts) == 1) {
|
391 |
+
$msg = dsq_i('Imported comments on post #%s…', $first_post_id);
|
392 |
+
}
|
393 |
+
else {
|
394 |
+
$msg = dsq_i('Imported comments on posts #%s-%s…', $first_post_id, $last_post_id);
|
395 |
+
}
|
396 |
+
}
|
397 |
+
$result = 'fail';
|
398 |
+
$response = null;
|
399 |
+
if (count($posts)) {
|
400 |
+
foreach ($posts as $post) {
|
401 |
+
$result = dsq_sync_post($post->ID);
|
402 |
+
# Threads with no comments may not exist
|
403 |
+
if (!($result > 0) && $result != 'Invalid thread identifier specified.') {
|
404 |
+
$msg = '<p class="status dsq-export-fail">' . $result . ' Please <a href="#" id="dsq_import_retry">try again</a>.</p>';
|
405 |
+
$result = 'fail';
|
406 |
+
break;
|
407 |
+
}
|
408 |
+
$result = 'success';
|
409 |
+
}
|
410 |
+
}
|
411 |
+
// send AJAX response
|
412 |
+
$response = compact('result', 'status', 'last_post_id', 'msg');
|
413 |
header('Content-type: text/javascript');
|
414 |
echo cf_json_encode($response);
|
415 |
die();
|
430 |
dsq_update_permalink($post);
|
431 |
|
432 |
// get_thread should limit based on last comment date
|
433 |
+
$last_comment_id = $wpdb->get_var($wpdb->prepare( "SELECT MAX(cm.meta_value) FROM $wpdb->commentmeta as cm INNER JOIN $wpdb->comments as c ON c.comment_ID = cm.comment_id WHERE cm.meta_key = 'dsq_post_id'"));
|
434 |
if (!$last_comment_id) {
|
435 |
$last_comment_id = 0;
|
436 |
} else {
|
439 |
|
440 |
// Pull comments from API
|
441 |
$dsq_response = $dsq_api->get_thread($post, $last_comment_id);
|
442 |
+
if( $dsq_response < 0 || $dsq_response === false ) {
|
443 |
+
return $dsq_api->get_last_error();
|
|
|
444 |
}
|
445 |
// Sync comments with database.
|
446 |
dsq_sync_comments($post, $dsq_response);
|
447 |
+
return 1;
|
448 |
}
|
449 |
|
450 |
add_action('dsq_sync_post', 'dsq_sync_post');
|
745 |
?>
|
746 |
<link rel='stylesheet' href='<?php echo DSQ_PLUGIN_URL; ?>/styles/manage.css' type='text/css' />
|
747 |
<style type="text/css">
|
748 |
+
.dsq-importing, .dsq-imported, .dsq-import-fail, .dsq-exporting, .dsq-exported, .dsq-export-fail {
|
749 |
background: url(<?php echo admin_url('images/loading.gif'); ?>) left center no-repeat;
|
750 |
line-height: 16px;
|
751 |
padding-left: 20px;
|
752 |
}
|
753 |
+
p.status {
|
754 |
+
padding-top: 0;
|
755 |
+
padding-bottom: 0;
|
756 |
+
margin: 0;
|
757 |
+
}
|
758 |
+
.dsq-imported, .dsq-exported {
|
759 |
background: url(<?php echo admin_url('images/yes.png'); ?>) left center no-repeat;
|
760 |
}
|
761 |
+
.dsq-import-fail, .dsq-export-fail {
|
762 |
background: url(<?php echo admin_url('images/no.png'); ?>) left center no-repeat;
|
763 |
}
|
764 |
</style>
|
774 |
$('#dsq-tab-advanced').click();
|
775 |
}
|
776 |
dsq_fire_export();
|
777 |
+
dsq_fire_import();
|
778 |
});
|
779 |
dsq_fire_export = function() {
|
780 |
var $ = jQuery;
|
818 |
'json'
|
819 |
);
|
820 |
}
|
821 |
+
dsq_fire_import = function() {
|
822 |
+
var $ = jQuery;
|
823 |
+
$('#dsq_import a.button, #dsq_import_retry').unbind().click(function() {
|
824 |
+
$('#dsq_import').html('<p class="status"></p>');
|
825 |
+
$('#dsq_import .status').removeClass('dsq-import-fail').addClass('dsq-importing').html('Processing...');
|
826 |
+
dsq_import_comments();
|
827 |
+
return false;
|
828 |
+
});
|
829 |
+
}
|
830 |
+
dsq_import_comments = function() {
|
831 |
+
var $ = jQuery;
|
832 |
+
var status = $('#dsq_import .status');
|
833 |
+
var info = status.attr('rel');
|
834 |
+
$.get(
|
835 |
+
'<?php echo admin_url('index.php'); ?>',
|
836 |
+
{
|
837 |
+
cf_action: 'import_comments',
|
838 |
+
post_id: info,
|
839 |
+
},
|
840 |
+
function(response) {
|
841 |
+
switch (response.result) {
|
842 |
+
case 'success':
|
843 |
+
status.html(response.msg).attr('rel', response.last_post_id);
|
844 |
+
switch (response.status) {
|
845 |
+
case 'partial':
|
846 |
+
dsq_import_comments();
|
847 |
+
break;
|
848 |
+
case 'complete':
|
849 |
+
status.removeClass('dsq-importing').addClass('dsq-imported');
|
850 |
+
break;
|
851 |
+
}
|
852 |
+
break;
|
853 |
+
case 'fail':
|
854 |
+
status.parent().html(response.msg);
|
855 |
+
dsq_fire_import();
|
856 |
+
break;
|
857 |
+
}
|
858 |
+
},
|
859 |
+
'json'
|
860 |
+
);
|
861 |
+
}
|
862 |
</script>
|
863 |
<?php
|
864 |
// HACK: Our own styles for older versions of WordPress.
|
export.php
CHANGED
@@ -207,6 +207,7 @@ echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?' . ">\n";
|
|
207 |
<rss version="2.0"
|
208 |
xmlns:excerpt="http://wordpress.org/export/<?php echo WXR_VERSION; ?>/excerpt/"
|
209 |
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
|
|
210 |
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
211 |
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
212 |
xmlns:wp="http://wordpress.org/export/<?php echo WXR_VERSION; ?>/"
|
@@ -245,6 +246,7 @@ if (count($posts)) {
|
|
245 |
<description></description>
|
246 |
<content:encoded><?php echo wxr_cdata( apply_filters('the_content_export', $post->post_content) ); ?></content:encoded>
|
247 |
<excerpt:encoded><?php echo wxr_cdata( apply_filters('the_excerpt_export', $post->post_excerpt) ); ?></excerpt:encoded>
|
|
|
248 |
<wp:post_id><?php echo $post->ID; ?></wp:post_id>
|
249 |
<wp:post_date><?php echo $post->post_date; ?></wp:post_date>
|
250 |
<wp:post_date_gmt><?php echo $post->post_date_gmt; ?></wp:post_date_gmt>
|
207 |
<rss version="2.0"
|
208 |
xmlns:excerpt="http://wordpress.org/export/<?php echo WXR_VERSION; ?>/excerpt/"
|
209 |
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
210 |
+
xmlns:dsq="http://www.disqus.com/"
|
211 |
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
212 |
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
213 |
xmlns:wp="http://wordpress.org/export/<?php echo WXR_VERSION; ?>/"
|
246 |
<description></description>
|
247 |
<content:encoded><?php echo wxr_cdata( apply_filters('the_content_export', $post->post_content) ); ?></content:encoded>
|
248 |
<excerpt:encoded><?php echo wxr_cdata( apply_filters('the_excerpt_export', $post->post_excerpt) ); ?></excerpt:encoded>
|
249 |
+
<dsq:thread_identifier><?php echo dsq_identifier_for_post($post); ?></dsq:thread_identifier>
|
250 |
<wp:post_id><?php echo $post->ID; ?></wp:post_id>
|
251 |
<wp:post_date><?php echo $post->post_date; ?></wp:post_date>
|
252 |
<wp:post_date_gmt><?php echo $post->post_date_gmt; ?></wp:post_date_gmt>
|
lib/wpapi.php
CHANGED
@@ -102,6 +102,8 @@ class DisqusWordPressAPI {
|
|
102 |
)
|
103 |
);
|
104 |
if ($response->errors) {
|
|
|
|
|
105 |
return -1;
|
106 |
}
|
107 |
$data = unserialize($response['body']);
|
102 |
)
|
103 |
);
|
104 |
if ($response->errors) {
|
105 |
+
// hack
|
106 |
+
$this->api->last_error = $response->errors;
|
107 |
return -1;
|
108 |
}
|
109 |
$data = unserialize($response['body']);
|
manage.php
CHANGED
@@ -72,6 +72,7 @@ if ( isset($_POST['disqus_forum_url']) && isset($_POST['disqus_replace']) ) {
|
|
72 |
update_option('disqus_user_api_key', trim(stripslashes($_POST['disqus_user_api_key'])));
|
73 |
update_option('disqus_replace', $_POST['disqus_replace']);
|
74 |
update_option('disqus_cc_fix', isset($_POST['disqus_cc_fix']));
|
|
|
75 |
dsq_manage_dialog('Your settings have been changed.');
|
76 |
}
|
77 |
|
@@ -91,7 +92,7 @@ if ( 2 == $step && isset($_POST['dsq_username']) && isset($_POST['dsq_password']
|
|
91 |
}
|
92 |
|
93 |
$dsq_sites = $dsq_api->get_forum_list($dsq_user_api_key);
|
94 |
-
if ( $dsq_sites < 0 ) {
|
95 |
$step = 1;
|
96 |
dsq_manage_dialog($dsq_api->get_last_error(), true);
|
97 |
}
|
@@ -191,6 +192,7 @@ case 0:
|
|
191 |
$dsq_user_api_key = get_option('disqus_user_api_key');
|
192 |
$dsq_partner_key = get_option('disqus_partner_key');
|
193 |
$dsq_cc_fix = get_option('disqus_cc_fix');
|
|
|
194 |
?>
|
195 |
<!-- Advanced options -->
|
196 |
<div id="dsq-advanced" class="dsq-content dsq-advanced" style="display:none;">
|
@@ -251,11 +253,20 @@ case 0:
|
|
251 |
<th scope="row" valign="top"><?php echo dsq_i('Comment Counts'); ?></th>
|
252 |
<td>
|
253 |
<input type="checkbox" id="disqus_comment_count" name="disqus_cc_fix" <?php if($dsq_cc_fix){echo 'checked="checked"';}?> >
|
254 |
-
<label for="disqus_comment_count"
|
255 |
<br /><?php echo dsq_i('NOTE: Check this if you have problems with the comment count displays including: not showing on permalinks, broken featured image carousels, or longer-than-usual homepage load times (<a href="%s" onclick="window.open(this.href); return false">more info</a>).', 'http://disqus.com/help/wordpress'); ?>
|
256 |
</td>
|
257 |
</tr>
|
258 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
</table>
|
260 |
|
261 |
<p class="submit" style="text-align: left">
|
@@ -274,6 +285,14 @@ case 0:
|
|
274 |
</td>
|
275 |
</tr>
|
276 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
277 |
<tr>
|
278 |
<th scope="row" valign="top"><?php echo dsq_i('Uninstall Disqus Comments'); ?></th>
|
279 |
<td>
|
72 |
update_option('disqus_user_api_key', trim(stripslashes($_POST['disqus_user_api_key'])));
|
73 |
update_option('disqus_replace', $_POST['disqus_replace']);
|
74 |
update_option('disqus_cc_fix', isset($_POST['disqus_cc_fix']));
|
75 |
+
update_option('disqus_manual_sync', isset($_POST['disqus_manual_sync']));
|
76 |
dsq_manage_dialog('Your settings have been changed.');
|
77 |
}
|
78 |
|
92 |
}
|
93 |
|
94 |
$dsq_sites = $dsq_api->get_forum_list($dsq_user_api_key);
|
95 |
+
if ( $dsq_sites < 0 || !$dsq_sites ) {
|
96 |
$step = 1;
|
97 |
dsq_manage_dialog($dsq_api->get_last_error(), true);
|
98 |
}
|
192 |
$dsq_user_api_key = get_option('disqus_user_api_key');
|
193 |
$dsq_partner_key = get_option('disqus_partner_key');
|
194 |
$dsq_cc_fix = get_option('disqus_cc_fix');
|
195 |
+
$dsq_manual_sync = get_option('disqus_manual_sync');
|
196 |
?>
|
197 |
<!-- Advanced options -->
|
198 |
<div id="dsq-advanced" class="dsq-content dsq-advanced" style="display:none;">
|
253 |
<th scope="row" valign="top"><?php echo dsq_i('Comment Counts'); ?></th>
|
254 |
<td>
|
255 |
<input type="checkbox" id="disqus_comment_count" name="disqus_cc_fix" <?php if($dsq_cc_fix){echo 'checked="checked"';}?> >
|
256 |
+
<label for="disqus_comment_count"><?php echo dsq_i('Output JavaScript in footer'); ?></label>
|
257 |
<br /><?php echo dsq_i('NOTE: Check this if you have problems with the comment count displays including: not showing on permalinks, broken featured image carousels, or longer-than-usual homepage load times (<a href="%s" onclick="window.open(this.href); return false">more info</a>).', 'http://disqus.com/help/wordpress'); ?>
|
258 |
</td>
|
259 |
</tr>
|
260 |
|
261 |
+
<tr>
|
262 |
+
<th scope="row" valign="top"><?php echo dsq_i('Comment Sync'); ?></th>
|
263 |
+
<td>
|
264 |
+
<input type="checkbox" id="disqus_manual_sync" name="disqus_manual_sync" <?php if($dsq_manual_sync){echo 'checked="checked"';}?> >
|
265 |
+
<label for="disqus_manual_sync"><?php echo dsq_i('Disable automated comment importing'); ?></label>
|
266 |
+
<br /><?php echo dsq_i('NOTE: If you have problems with WP cron taking too long and large numbers of comments you may wish to disable the automated sync cron. Keep in mind that this means comments will not automatically get synced to your local Wordpress database.'); ?>
|
267 |
+
</td>
|
268 |
+
</tr>
|
269 |
+
|
270 |
</table>
|
271 |
|
272 |
<p class="submit" style="text-align: left">
|
285 |
</td>
|
286 |
</tr>
|
287 |
<?php endif; ?>
|
288 |
+
<tr>
|
289 |
+
<th scope="row" valign="top"><?php echo dsq_i('Sync Disqus with WordPress'); ?></th>
|
290 |
+
<td>
|
291 |
+
<div id="dsq_import">
|
292 |
+
<p class="status"><a href="#" class="button"><?php echo dsq_i('Sync Comments'); ?></a> <?php echo dsq_i('This will download your Disqus comments and store them locally in WordPress'); ?></p>
|
293 |
+
</div>
|
294 |
+
</td>
|
295 |
+
</tr>
|
296 |
<tr>
|
297 |
<th scope="row" valign="top"><?php echo dsq_i('Uninstall Disqus Comments'); ?></th>
|
298 |
<td>
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: disqus, alexkingorg, crowdfavorite
|
|
3 |
Tags: comments, threaded, email, notification, spam, avatars, community, profile, widget
|
4 |
Requires at least: 2.8
|
5 |
Tested up to: 3.0
|
6 |
-
Stable tag: 2.
|
7 |
|
8 |
The Disqus comment system replaces your WordPress comment system with your comments hosted and powered by Disqus.
|
9 |
|
@@ -62,6 +62,15 @@ you should remove it, and the new plugin should be stored in 'disqus'.
|
|
62 |
|
63 |
== Changes ==
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
2.45
|
66 |
|
67 |
* Comments should now store thread information as well as certain other meta data.
|
3 |
Tags: comments, threaded, email, notification, spam, avatars, community, profile, widget
|
4 |
Requires at least: 2.8
|
5 |
Tested up to: 3.0
|
6 |
+
Stable tag: 2.46
|
7 |
|
8 |
The Disqus comment system replaces your WordPress comment system with your comments hosted and powered by Disqus.
|
9 |
|
62 |
|
63 |
== Changes ==
|
64 |
|
65 |
+
2.46
|
66 |
+
|
67 |
+
* Better debugging information for export errors.
|
68 |
+
* Added the ability to manual import Disqus comments into Wordpress.
|
69 |
+
* Added thread_identifier support to exports.
|
70 |
+
* Cleaned up API error messages.
|
71 |
+
* Fixed a bug which was causing the import process to not grab only the latest set of comments.
|
72 |
+
* Added an option to disable automated synchronization with Disqus.
|
73 |
+
|
74 |
2.45
|
75 |
|
76 |
* Comments should now store thread information as well as certain other meta data.
|