| 
<?php
/*************************************************************
 * This script is developed by Arturs Sosins aka ar2rsawseen, http://webcodingeasy.com
 * Feel free to distribute and modify code, but keep reference to its creator
 *
 * Disqus Import class can generate XML file from provided information
 * about articles and comments, to be imported in your Disqus commenting system.
 * This helps to transfer comments from any existing system to Disqus.
 *
 * For more information, examples and online documentation visit:
 * http://webcodingeasy.com/PHP-classes/Import-comments-in-Disqus
 **************************************************************/
 
 date_default_timezone_set("Europe/Helsinki");
 
 //usually you would retrieve it from database, but...
 
 //here we have some articles on our blog
 $articles = array(
 1 => array(
 "title" => "This is a cool article about Life",
 "link" => "http://awesomewebsite.com/article1",
 "article_text" => "This website does this and that. How do you like it?"
 ),
 2 => array(
 "title" => "Another cool article",
 "link" => "http://awesomewebsite.com/article2",
 "article_text" => "This article is also so cool!"
 )
 );
 
 //and here we have some comments
 $comments = array(
 array(
 "ID" => 1,
 "username" => "somedude",
 "email" => "[email protected]",
 "pub_date" => 1364114398,
 "comment" => "Cool website",
 "status" => "active",
 "articleID" => 1
 ),
 array(
 "ID" => 2,
 "username" => "somechick",
 "email" => "[email protected]",
 "pub_date" => 1364114398,
 "comment" => "Completely agree",
 "status" => "active",
 "articleID" => 1,
 "repliedTo" => 1
 ),
 array(
 "ID" => 3,
 "username" => "someguy",
 "email" => "[email protected]",
 "pub_date" => 1364114398,
 "comment" => "Also cool article ;)",
 "status" => "active",
 "articleID" => 2
 )
 );
 
 //import importer (no joke intented :) )
 include("./disqus_import.php");
 
 //create instance of generator
 $d = new Disqus\Generator();
 
 //here we will store instances of articles
 $arts = array();
 
 //loop through all the comments
 foreach($comments as $comment)
 {
 //if there is no instance for this article
 if(!isset($arts[$comment["articleID"]]))
 {
 //create instance
 $arts[$comment["articleID"]] = new Disqus\Article();
 
 //provide information about article
 $arts[$comment["articleID"]]->set_title($articles[$comment["articleID"]]["title"]);
 $arts[$comment["articleID"]]->set_link($articles[$comment["articleID"]]["link"]);
 $arts[$comment["articleID"]]->set_contents($articles[$comment["articleID"]]["article_text"]);
 
 //add article to generator
 $d->add_article($arts[$comment["articleID"]]);
 }
 
 //create comment instance
 $com = new Disqus\Comment();
 
 //provide information about comment
 $com->set_id($comment["ID"]);
 $com->set_author($comment["username"]);
 $com->set_author_email($comment["email"]);
 $com->set_comment_date(date("Y-m-d H:i:s", $comment["pub_date"]));
 $com->set_content($comment["comment"]);
 if($comment["status"] == "active")
 {
 $com->set_approved(1);
 }
 else
 {
 $com->set_approved(0);
 }
 if(isset($comment["repliedTo"]))
 {
 $com->set_parent($comment["repliedTo"]);
 }
 
 //add comment to article
 $arts[$comment["articleID"]]->add_comment($com);
 }
 
 //output xml
 echo $d->generate();
 ?>
 |