예제 #1
0
<?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'];
    ?>
예제 #2
0
파일: disqus.php 프로젝트: easunlee/MT-copy
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));
        }
    }
}