<?php global $dsq_response, $mt_dsq_version; if (!isset($mt)) { $mt = start_mt(); } include 'sso_helpers.php'; ?> <div id="disqus_thread"> <div id="dsq-content"> <ul id="dsq-comments"> <?php foreach ($dsq_response['posts'] as $comment) { ?> <div id="comment-<?php echo $comment['id']; ?> "></div> <li id="dsq-comment-<?php echo $comment['id']; ?> "> <div id="dsq-comment-header-<?php echo $comment['id']; ?> " class="dsq-comment-header"> <cite id="dsq-cite-<?php echo $comment['id']; ?>
function dsq_sync_comments($post, $comments) { global $mt; if (!isset($mt)) { $mt = start_mt(); } // $offset = get_the_offset(); // Get last_comment_date id for $post with Disqus metadata // (This is the date that is stored in the Disqus DB.) // $test_date = $mt->db->get_var('SELECT max(comment_created_on) FROM mt_comment WHERE comment_entry_id=127684;'); // echo 'test_date is ' . $test_date; // $test_date = strtotime($test_date); // echo ' now date is ' . $test_date; //convert to utc // $test_date = $test_date - ($offset*60*60); // echo ' UTC date is ' . $test_date; $last_comment_date = $mt->db->get_var('SELECT max(comment_created_on) FROM mt_comment WHERE comment_entry_id=' . intval($post->ID) . " AND comment_remote_service='disqus';"); // echo 'date is ' . $last_comment_date; if ($last_comment_date) { $last_comment_date = strtotime($last_comment_date); // echo ' ts is ' . $last_comment_date; // $last_comment_date = $last_comment_date - ($offset*60*60); // echo ' UTC ts is ' . $last_comment_date; } if (!$last_comment_date) { $last_comment_date = 0; } $added = 0; foreach ($comments as $comment) { // echo ' and comment[date] is ' . $comment['date']; if ($comment['imported']) { continue; } else { if ($comment['date'] <= $last_comment_date) { // If comment date of comment is <= last_comment_date, skip comment. continue; } else { // Else, insert_comment $commentdata = array('comment_entry_id' => $post->ID, 'comment_blog_id' => $post->blog_id, 'comment_author' => $comment['user']['display_name'], 'comment_email' => $comment['user']['email'], 'comment_url' => $comment['user']['url'], 'comment_ip' => $comment['user']['ip_address'], 'comment_created_on' => date('Y-m-d H:i:s', $comment['date']), 'comment_text' => $comment['message'], 'comment_visible' => 1, 'comment_junk_status' => 1, 'comment_remote_service' => 'disqus', 'comment_remote_id' => $comment['id']); if ($mt->db->vendor == 'postgres') { // HACK: comment_id column in PostgreSQL does not use nextval() modifier. $commentdata['comment_id'] = $mt->db->get_var('SELECT nextval(\'mt_comment_id\');'); } prepareVars($commentdata); $field_names = implode(', ', array_keys($commentdata)); $values_list = array_values($commentdata); for ($i = 0; $i < sizeof($values_list); $i++) { $values_list[$i] = "'" . $values_list[$i] . "'"; } $values_list = implode(', ', $values_list); $sql = "INSERT INTO mt_comment ({$field_names}) VALUES({$values_list});"; $rows = $mt->db->query($sql); $added = 1; } } } if ($added) { $db_count = $mt->db->get_var('SELECT entry_comment_count FROM mt_entry WHERE entry_id=' . intval($post->ID)); $api_count = count($comments); if ($db_count != $api_count) { $rows = $mt->db->query('UPDATE mt_entry set entry_comment_count =' . $api_count . ' WHERE entry_id=' . intval($post->ID)); } } }