Code: Select all
<?php
class threaded_comments{
var $db_user="unknownz";
var $db_pass="password";
var $db_host="localhost";
var $db_name="unknownz";
var $referer_match="http://www.unknownzone.org/series/comment.php";
function SQLsend($sql){
$db=mysql_connect($this->db_host,$this->db_user,$this->db_pass) or die ("cant connect");
mysql_select_db($this->db_name,$db) or die ("cant change");
$query=mysql_query($sql);
}
function SQLfetch($sql){
$db=mysql_connect($this->db_host,$this->db_user,$this->db_pass) or die ("cant connect");
mysql_select_db($this->db_name,$db) or die ("cant change");
$query=mysql_query($sql);
$fetch=mysql_fetch_assoc($query);
return $fetch;
}
function showInputTable($parent_id,$page_name,$news_id,$user,$email){
if($parent_id){
$sql="select title from unz_comments where ID='".$parent_id."'";
$result=$this->SQLfetch($sql);
}
?>
<form action="<?echo $page_name?>?id=<?echo $news_id?>" method=POST>
<table cellpadding=1 cellspacing=1 border=1 bordercolor=#000000 bgcolor="#FFFFFF">
<tr bgcolor="#000000">
<td class="smaller" colspan=2><font face="Verdana" size="2"><b>
<?
if($parent_id){
if($resultї"title"]){$title=$resultї"title"];}else{$title="Untitled Comment";}
echo "<font color="white">Add A Comment to <font color="white">".$title." (# ".$parent_id.")</font></b></td></tr>";
}else{
echo "<font color="white">Add A <font color="white">New Comment</font></i></b></td></tr>";
}
?>
</font>
<tr>
<td class="smaller"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Username:</font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="NAME" value="<?echo $user?>" size=30 maxlength=100>
</font></td>
</tr>
<tr>
<td class="smaller"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Email
Address:</font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="EMAIL" value="<?echo $email?>" size=40 maxlength=100>
</font></td>
</tr>
<tr>
<td class="smaller"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Title:</font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="title" value="<?if($resultї"title"]){echo "Re: ".$resultї"title"];}?>" size=40 maxlength=200>
</font></td>
</tr>
<tr>
<td class="smaller" valign=top><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Comments:</font></td>
<td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<textarea cols=35 rows=10 name="COMMENTS" wrap="virtual"></textarea>
</font></td>
</tr>
<tr>
<td colspan=2 align=center> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="hidden" name="parent_id" value="<?echo $parent_id?>">
<input type="hidden" name="NEWS_ID" value="<?echo $news_id?>">
<input type="submit" name="comment_submit" value="Submit Comment">
</font></td>
</tr>
</table>
</form>
<?
}
function addComment($array,$news_id,$referer){
if(ereg($this->referer_match,$referer)){
unset($arrayї"comment_submit"]);
foreach($array as $key => $value){
$keys.=$key.",";
$values.="'".$value."',";
}
$values=substr($values,0,strlen($values)-1);
$keys=substr($keys,0,strlen($keys)-1);
$sql="insert into unz_comments (DATE_POSTED,".$keys.",ID) values ('".time()."',".$values.",NULL)";
echo "<!-- Input SQL: $sql -->\n\n";
$this->SQLsend($sql);
}
}
function showListing($news_id){
$db=mysql_connect($this->db_host,$this->db_user,$this->db_pass) or die ("cant connect");
mysql_select_db($this->db_name,$db) or die ("cant change");
$sql="select title, ID, NAME, DATE_POSTED, COMMENTS, parent_id,EMAIL,NEWS_ID,user_id from unz_comments where NEWS_ID='".$news_id."' order by DATE_POSTED asc";
$query=mysql_query($sql);
while($rows=mysql_fetch_assoc($query)){
$commentsї]=array("TITLE"=>$rowsї"title"],"PARENT_ID"=>$rowsї"parent_id"],"USER"=>$rowsї"NAME"],"TIME_POSTED"=>$rowsї"DATE_POSTED"],"ID"=>$rowsї"ID"],"CONTENT"=>$rowsї"COMMENTS"],"EMAIL_ADDRESS"=>$rowsї"EMAIL"]);
}
//print_r($comments); echo "<hr>";
$parent_id=0;
if($comments){
foreach($comments as $key => $value){
$this->display($value,$comments,$parent_id,"1",$news_id);
}
}else{
echo "<B>No comments for this article yet! Be the first to voice your opinion!<br>";
}
}
function display($array,$comments,$parent_id,$border,$news_id){
//$border=1;
if($arrayї"PARENT_ID"]==$parent_id){
if($border){$color="white";}else{$color="#eeeeee";}
echo "<table cellpadding=3 cellspacing=0 border=1 bordercolor=".$color." width=430>\n";
echo "<tr>";
if($arrayї"TITLE"]){$title=$arrayї"TITLE"];}else{$title="Untitled Comment";}
echo "<td class="smaller" bgcolor=black><A href="?parent_id=".$arrayї"ID"]."" class="link_title"><b>".$title."</b></a></td>";
echo "<td class="comments" bgcolor=white align=right>".date("m.d.Y H:i:s",$arrayї"TIME_POSTED"])."</td></tr>";
$email=str_replace(array("@","."),array(" at "," dot "),$arrayї"EMAIL_ADDRESS"]);
echo "<tr><td class="comments" colspan=2><font color=white><i>by ".$arrayї"USER"]."</i> (".$email.")</font><br>";
echo nl2br(stripslashes($arrayї"CONTENT"]))."<br>";
echo "<a href="?parent_id=".$arrayї"ID"]."&id=".$news_id."" class="link_comment"><b>Comment on this...</b></a></td></tr>\n";
foreach($comments as $key => $value){
if($valueї"PARENT_ID"]==$arrayї"ID"]){
$parent_id=$arrayї"ID"];
echo "<tr><td align=left colspan=2 valign=top><ul>";
$this->display($commentsї$key],$comments,$parent_id,"0",$news_id);
echo "</td></tr>";
}
}
echo "</table><br>\n";
}
}
/* end class */
}
?>
<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR="black" LINK="#FFFFFF" VLINK="#FFFFFF" ALINK="#FFFFFF">
<?php
$com=new threaded_comments;
if($comment_submit){
$com->addComment($HTTP_POST_VARS,$HTTP_POST_VARSї"NEWS_ID"],$HTTP_REFERER);
}
$com->showListing($id);
echo "<p>";
if(!$parent_id){$parent_id="0";}
$com->showInputTable($parent_id,$PHP_SELF,$id,$username,$email_address);
?>
</BODY>
</HTML>