diff --git a/account.php b/account.php index 79267fa9ab3cc4d7265a4987fd6995ff84c97dea..b3851e6cbb3b4eedc2302078a42d1b6981e83c49 100644 --- a/account.php +++ b/account.php @@ -201,7 +201,7 @@ function account_user($uname) { $box1 .= " <TR><TD ALIGN=\"right\"><B>Bio:</B></TD><TD>". format_data($account->bio) ."</TD></TR>\n"; $box1 .= "</TABLE>\n"; - $result = db_query("SELECT c.cid, c.pid, c.sid, c.subject, c.timestamp, s.subject AS story FROM comments c LEFT JOIN users u ON u.id = c.author LEFT JOIN stories s ON s.id = c.sid WHERE u.userid = '$uname' AND c.timestamp > ". (time() - 1209600) ." ORDER BY cid DESC LIMIT 10"); + $result = db_query("SELECT c.cid, c.pid, c.sid, c.subject, c.timestamp, s.subject AS story FROM comments c LEFT JOIN users u ON u.id = c.author LEFT JOIN stories s ON s.id = c.sid WHERE u.userid = '$uname' AND s.status = 2 AND s.timestamp > ". (time() - 1209600) ." ORDER BY cid DESC LIMIT 10"); while ($comment = db_fetch_object($result)) { $box2 .= "<TABLE BORDER=\"0\" CELLPADDING=\"1\" CELLSPACING=\"1\">\n"; $box2 .= " <TR><TD ALIGN=\"right\"><B>Comment:</B></TD><TD><A HREF=\"discussion.php?id=$comment->sid&cid=$comment->cid&pid=$comment->pid#$comment->cid\">". check_output($comment->subject) ."</A></TD></TR>\n"; @@ -418,4 +418,4 @@ function account_comments() { account_user($user->userid); } -?> \ No newline at end of file +?> diff --git a/discussion.php b/discussion.php index 24c6d6ab0695b69bc5a84ba77a35a3cfb6e63b74..e38729c9994918aff68242f2fe0e6a1c70e271cb 100644 --- a/discussion.php +++ b/discussion.php @@ -35,7 +35,7 @@ function discussion_kids($cid, $mode, $threshold, $level = 0, $dummy = 0) { $comments++; $link = "<A HREF=\"discussion.php?op=reply&sid=$comment->sid&pid=$comment->cid\"><FONT COLOR=\"$theme->hlcolor2\">reply to this comment</FONT></A>"; - $theme->comment($comment->userid, check_output($comment->subject), check_output($comment->comment), $comment->timestamp, check_output($comment->url), check_output($comment->fake_email), discussion_score($comment), $comment->votes, $comment->cid, $link); + $theme->comment(new Comment($comment->userid, $comment->subject, $comment->comment, $comment->timestamp, $comment->url, $comment->fake_email, discussion_score($comment), $comment->votes, $comment->cid), $link); discussion_kids($comment->cid, $mode, $threshold, $level + 1, $dummy + 1); } @@ -45,7 +45,7 @@ function discussion_kids($cid, $mode, $threshold, $level = 0, $dummy = 0) { while ($comment = db_fetch_object($result)) { if ($comment->score >= $threshold) { $link = "<A HREF=\"discussion.php?op=reply&sid=$comment->sid&pid=$comment->cid\"><FONT COLOR=\"$theme->hlcolor2\">reply to this comment</FONT></A>"; - $theme->comment($comment->userid, check_output($comment->subject), check_output($comment->comment), $comment->timestamp, check_output($comment->url), check_output($comment->fake_email), discussion_score($comment), $comment->votes, $comment->cid, $link); + $theme->comment(new Comment($comment->userid, $comment->subject, $comment->comment, $comment->timestamp, $comment->url, $comment->fake_email, discussion_score($comment), $comment->votes, $comment->cid), $link); } discussion_kids($comment->cid, $mode, $threshold); } @@ -70,7 +70,7 @@ function discussion_childs($cid, $threshold, $level = 0, $thread) { $comments++; ### Compose link: - $thread .= "<LI><A HREF=\"discussion.php?id=$comment->sid&cid=$comment->cid&pid=$comment->pid\">". check_output($comment->subject) ."</A> by ". format_username($comment->userid) ." <SMALL>(". discussion_score($comment) .")<SMALL></LI>"; + $thread .= "<LI><A HREF=\"discussion.php?id=$comment->sid&cid=$comment->cid&pid=$comment->pid#$comment->cid\">". check_output($comment->subject) ."</A> by ". format_username($comment->userid) ." <SMALL>(". discussion_score($comment) .")<SMALL></LI>"; ### Recursive: discussion_childs($comment->cid, $threshold, $level + 1, &$thread); @@ -138,10 +138,10 @@ function discussion_display($sid, $pid, $cid, $level = 0) { ### Display the comments: if (empty($mode) || $mode == "threaded") { $thread = discussion_childs($comment->cid, $threshold); - $theme->comment($comment->userid, check_output($comment->subject), check_output($comment->comment), $comment->timestamp, $comment->url, $comment->fake_email, discussion_score($comment), $comment->votes, $comment->cid, $link, $thread); + $theme->comment(new Comment($comment->userid, $comment->subject, $comment->comment, $comment->timestamp, $comment->url, $comment->fake_email, discussion_score($comment), $comment->votes, $comment->cid), $link, $thread); } else { - $theme->comment($comment->userid, check_output($comment->subject), check_output($comment->comment), $comment->timestamp, $comment->url, $comment->fake_email, discussion_score($comment), $comment->votes, $comment->cid, $link); + $theme->comment(new Comment($comment->userid, $comment->subject, $comment->comment, $comment->timestamp, $comment->url, $comment->fake_email, discussion_score($comment), $comment->votes, $comment->cid), $link); discussion_kids($comment->cid, $mode, $threshold, $level); } } @@ -157,7 +157,7 @@ function discussion_reply($pid, $sid) { ### Extract parent-information/data: if ($pid) { $item = db_fetch_object(db_query("SELECT comments.*, users.userid FROM comments LEFT JOIN users ON comments.author = users.id WHERE comments.cid = $pid")); - $theme->comment($item->userid, check_output($item->subject), check_output($item->comment), $item->timestamp, check_output($item->url), check_output($item->fake_email), discussion_score($comment), $comment->votes, $item->cid, "reply to this comment"); + $theme->comment(new Comment($item->userid, $item->subject, $item->comment, $item->timestamp, $item->url, $item->fake_email, discussion_score($comment), $comment->votes, $item->cid), "reply to this comment"); } else { $item = db_fetch_object(db_query("SELECT stories.*, users.userid FROM stories LEFT JOIN users ON stories.author = users.id WHERE stories.status != 0 AND stories.id = $sid")); @@ -201,7 +201,7 @@ function comment_preview($pid, $sid, $subject, $comment) { global $user, $theme, $allowed_html; ### Preview comment: - $theme->comment($user->userid, check_output($subject), check_output($comment), time(), check_output($user->url), check_output($user->fake_email), "", "", "", "reply to this comment"); + $theme->comment(new Comment($user->userid, $subject, $comment, time(), $user->url, $user->fake_email, "", "", ""), "reply to this comment"); ### Build reply form: $output .= "<FORM ACTION=\"discussion.php\" METHOD=\"post\">\n"; @@ -252,7 +252,7 @@ function comment_post($pid, $sid, $subject, $comment) { $fake = db_result(db_query("SELECT COUNT(*) FROM stories WHERE id = $sid"), 0); ### Check for duplicate comments: - $duplicate = db_result(db_query("SELECT COUNT(*) FROM comments WHERE pid = '$pid' AND sid = '$sid' AND subject = '". addslashes($subject) ."' AND comment = '". addslashes($comment) ."'"), 0); + $duplicate = db_result(db_query("SELECT COUNT(*) FROM comments WHERE pid = '$pid' AND sid = '$sid' AND subject = '". check_input($subject) ."' AND comment = '". check_input($comment) ."'"), 0); if ($fake != 1) { watchdog(3, "attemp to insert fake comment"); @@ -267,7 +267,7 @@ function comment_post($pid, $sid, $subject, $comment) { $subject = ($subject) ? $subject : substr($comment, 0, 29); ### Add comment to database: - db_insert("INSERT INTO comments (pid, sid, author, subject, comment, hostname, timestamp) VALUES ($pid, $sid, '$user->id', '". addslashes($subject) ."', '". addslashes($comment) ."', '". getenv("REMOTE_ADDR") ."', '". time() ."')"); + db_insert("INSERT INTO comments (pid, sid, author, subject, comment, hostname, timestamp) VALUES ($pid, $sid, '$user->id', '". check_input($subject) ."', '". check_input($comment) ."', '". getenv("REMOTE_ADDR") ."', '". time() ."')"); ### Compose header: header("Location: discussion.php?id=$sid"); @@ -275,6 +275,7 @@ function comment_post($pid, $sid, $subject, $comment) { } include "includes/theme.inc"; +include "includes/comment.inc"; switch($op) { case "Preview comment": @@ -308,4 +309,4 @@ function comment_post($pid, $sid, $subject, $comment) { $theme->footer(); } -?> \ No newline at end of file +?> diff --git a/includes/config.inc b/includes/config.inc index c5fdffd8f26e889a44f4644ac1752cc02afac4b0..fa943fedbb4c2277b01b4af15ba4369203485ab3 100644 --- a/includes/config.inc +++ b/includes/config.inc @@ -11,17 +11,17 @@ #$dbname = "droporg"; ### http://beta.drop.org/: -$dbhost = "zind.net"; -$dbuname = "dries"; -$dbpass = "Abc123"; -$dbname = "dries"; - -### http://dione/: -#$dbhost = ""; +#$dbhost = "zind.net"; #$dbuname = "dries"; -#$dbpass = "oakley"; +#$dbpass = "Abc123"; #$dbname = "dries"; +### http://dione/: +$dbhost = ""; +$dbuname = "dries"; +$dbpass = "oakley"; +$dbname = "dries"; + # # Name of the site # @@ -118,7 +118,7 @@ # # Submission moderation thresholds: # -$submission_post_threshold = "2"; +$submission_post_threshold = "3"; $submission_dump_threshold = "-2"; -?> \ No newline at end of file +?> diff --git a/includes/story.inc b/includes/story.inc index 31deede659d34351b9bccc6411c25f65c9d25e12..d0c40ab14e04a1216e214ae242a11d7c4df847a8 100644 --- a/includes/story.inc +++ b/includes/story.inc @@ -1,7 +1,7 @@ <? class Story { - function story($userid, $subject, $abstract, $article, $category, $timestamp) { + function Story($userid, $subject, $abstract, $article, $category, $timestamp) { $this->userid = $userid; $this->subject = $subject; $this->abstract = $abstract; diff --git a/search.php b/search.php index 18ef2c3b7920fcac84c14d0ac3612e42046693d7..1ea6defc157304537eb15436cb593d2541678110 100644 --- a/search.php +++ b/search.php @@ -40,10 +40,10 @@ $output .= " <TD>\n"; ### Compose and perform query: - $query = "SELECT DISTINCT s.id, s.subject, u.userid, s.timestamp, COUNT(c.cid) AS comments FROM comments c, stories s LEFT JOIN users u ON s.author = u.id WHERE s.status = 2 AND s.id = c.sid "; + $query = "SELECT s.id, s.subject, u.userid, s.timestamp, COUNT(c.cid) AS comments FROM stories s LEFT JOIN users u ON s.author = u.id LEFT JOIN comments c ON s.id = c.sid WHERE s.status = 2 "; $query .= ($author) ? "AND u.userid = '$author' " : ""; $query .= ($terms) ? "AND (s.subject LIKE '%$terms%' OR s.abstract LIKE '%$terms%' OR s.updates LIKE '%$terms%') " : ""; - $query .= ($category) ? "AND s.category = '$category' GROUP BY c.sid " : "GROUP BY c.sid "; + $query .= ($category) ? "AND s.category = '$category' GROUP BY s.id " : "GROUP BY s.id "; $query .= ($order == "Oldest first") ? "ORDER BY s.timestamp ASC" : "ORDER BY s.timestamp DESC"; $result = db_query("$query"); @@ -64,4 +64,4 @@ $theme->box("Search", $output); $theme->footer(); -?> \ No newline at end of file +?> diff --git a/submit.php b/submit.php index 18eeb2a429fadef2b2f801a21e751d1bd9cfef88..121e9385f3111c3a8641f0ccd9e528952bfd8d40 100644 --- a/submit.php +++ b/submit.php @@ -120,7 +120,7 @@ function submit_preview($subject, $abstract, $article, $category) { $output .= "</FORM>\n"; $theme->header(); - $theme->article(new Story($user->userid, check_output($subject), check_output($abstract), check_output($article), check_output($category), time())); + $theme->article(new Story($user->userid, $subject, $abstract, $article, $category, time())); $theme->box("Submit a story", $output); $theme->footer(); } @@ -160,4 +160,4 @@ function submit_submit($subject, $abstract, $article, $category) { break; } -?> \ No newline at end of file +?> diff --git a/themes/marvin/marvin.theme b/themes/marvin/marvin.theme index 5512ebe1b6a634aff6724e586aa0969fede2a614..6b3356c009bc7a65fa219a953a6a9f86b8b6982c 100644 --- a/themes/marvin/marvin.theme +++ b/themes/marvin/marvin.theme @@ -177,9 +177,8 @@ function commentControl($sid, $title, $threshold, $mode, $order) { ###### # Syntax.......: comment(...); # Description..: this function is used to theme user comments. - function comment($poster, $subject, $comment, $timestamp, $url, $email, $score, $votes, $cid, $link, $thread = "") { - print "\n<!-- Comment: \"$subject\" by $poster -->\n"; - print "<A NAME=\"$cid\">\n"; + function comment($comment, $link, $thread = "") { + print "<A NAME=\"$comment->cid\">\n"; ### Create comment header: print "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"#000000\" WIDTH=\"100%\">\n"; @@ -193,22 +192,22 @@ function comment($poster, $subject, $comment, $timestamp, $url, $email, $score, ### Subject: print " <TD ALIGN=\"right\" WIDTH=\"5%\"><B>Subject:</FONT></TD>\n"; - print " <TD WIDTH=\"80%\"><B><FONT COLOR=\"$this->hlcolor1\">$subject</FONT></B></TD>\n"; + print " <TD WIDTH=\"80%\"><B><FONT COLOR=\"$this->hlcolor1\">". check_output($comment->subject) ."</FONT></B></TD>\n"; ### Moderation: print " <TD ALIGN=\"right\" ROWSPAN=\"3\" VALIGN=\"middle\" WIDTH=\"15%\">\n"; - display_comment_moderation($cid, $poster, $score, $votes); + display_comment_moderation($comment->cid, $comment->poster, $comment->score, $comment->votes); print " </TD>\n"; print " </TR>\n"; ### Author: print " <TR>\n"; - print " <TD ALIGN=\"right\" VALIGN=\"top\">Author:</TD><TD>". format_username($poster) ."</TD>\n"; + print " <TD ALIGN=\"right\" VALIGN=\"top\">Author:</TD><TD>". format_username($comment->userid) ."</TD>\n"; print " </TR>\n"; ### Date print " <TR>\n"; - print " <TD ALIGN=\"right\">Date:</TD><TD>". format_date($timestamp) ."</TD>\n"; + print " <TD ALIGN=\"right\">Date:</TD><TD>". format_date($comment->timestamp) ."</TD>\n"; print " </TR>\n"; print " </TABLE>\n"; @@ -216,7 +215,7 @@ function comment($poster, $subject, $comment, $timestamp, $url, $email, $score, print " </TR>\n"; ### Print body of comment: - if ($comment) print " <TR><TD BGCOLOR=\"#FFFFFF\">". check_output($comment, 1) ."</TD></TR>\n"; + if ($comment->comment) print " <TR><TD BGCOLOR=\"#FFFFFF\">". check_output($comment->comment, 1) ."</TD></TR>\n"; ### Print thread (if any): if ($thread) print " <TR><TD BGCOLOR=\"$this->bgcolor1\">$thread</TD></TR>\n";