From 659c7425b4dc7d9d8a5c0966347412c468e27a1a Mon Sep 17 00:00:00 2001
From: Michael R Sweet
Date: Tue, 18 May 2004 21:26:52 +0000
Subject: [PATCH] Comment support.
---
www/account.php | 5 +-
www/articles.php | 24 ++-
www/comment.php | 356 +++++++++++++++++++++++++++++++++++++++++-
www/phplib/common.php | 103 +++++++++++-
4 files changed, 474 insertions(+), 14 deletions(-)
diff --git a/www/account.php b/www/account.php
index 137f54d..eef4e42 100644
--- a/www/account.php
+++ b/www/account.php
@@ -1,6 +1,6 @@
diff --git a/www/articles.php b/www/articles.php
index c6b9ff9..59e333e 100644
--- a/www/articles.php
+++ b/www/articles.php
@@ -1,6 +1,6 @@
", "$PHP_SELF?M$id$options");
@@ -217,7 +218,15 @@ switch ($op)
print("Contents: | $temp |
\n");
print("
\n");
+
db_free($result);
+
+ print("
\n"
+ ."\n");
+
+ show_comments("articles.php_L$id");
}
else
{
@@ -345,7 +354,7 @@ switch ($op)
print("\n");
}
- html_start_table(array("ID","Title","Last Modified"));
+ html_start_table(array("ID","Title","Last Modified", "Comment(s)"));
db_seek($result, $index);
for ($i = 0; $i < $ARTICLE_PAGE_MAX && $row = db_next($result); $i ++)
@@ -359,7 +368,7 @@ switch ($op)
."$id");
$temp = htmlspecialchars($row['title']);
- print(""
."$temp | ");
@@ -368,11 +377,16 @@ switch ($op)
."alt='Article #$id'>"
."$temp");
+ $count = count_comments("articles.php_L$id");
+ print(""
+ ."$count | ");
+
html_end_row();
html_start_row();
$temp = htmlspecialchars($row['abstract']);
- print(" | $temp | ");
+ print(" | $temp | ");
html_end_row();
}
@@ -537,6 +551,6 @@ switch ($op)
//
-// End of "$Id: articles.php,v 1.3 2004/05/18 19:58:34 mike Exp $".
+// End of "$Id: articles.php,v 1.4 2004/05/18 21:26:52 mike Exp $".
//
?>
diff --git a/www/comment.php b/www/comment.php
index ad56438..a64b8fb 100644
--- a/www/comment.php
+++ b/www/comment.php
@@ -1,7 +1,8 @@
Delete Comment #$id\n");
+ print("Click the button below to confirm the deletion.
\n"
+ ."\n");
+ html_footer();
+ break;
+
+ case 'D' : // Delete comment (confirmed)
+ db_query("DELETE FROM comment WHERE id = $id");
+ header("Location: $PHP_SELF");
+ break;
+
+ case 'e' : // Edit comment
+ case 'r' : // New comment
+ $havedata = 0;
+
+ if ($REQUEST_METHOD == "POST")
+ {
+ if (array_key_exists("AUTHOR", $_POST))
+ $create_user = trim($_POST["AUTHOR"]);
+ else
+ $create_user = "";
+
+ if (array_key_exists("FILE", $_POST))
+ $file = $_POST["FILE"];
+ else
+ $file = "";
+
+ if (array_key_exists("STATUS", $_POST))
+ $status = (int)$_POST["STATUS"];
+ else
+ $status = 2;
+
+ if (array_key_exists("MESSAGE", $_POST))
+ $contents = trim($_POST["MESSAGE"]);
+ else
+ $contents = "";
+
+ if ($create_user != "" && $contents != "" && $file != "")
+ $havedata = 1;
+
+ if ($create_user != "" && $id == 0 && !$LOGIN_USER)
+ setcookie("FROM", $create_user, time() + 90 * 86400, "/");
+ }
+ else
+ {
+ if ($id)
+ {
+ $result = db_query("SELECT * FROM comment WHERE id = $id");
+ if (db_count($result) > 0)
+ {
+ $row = db_next($result);
+ $create_user = $row['create_user'];
+ $contents = $row['contents'];
+ $status = $row['status'];
+ }
+ else
+ {
+ if (array_key_exists("FROM", $_COOKIE))
+ $create_user = $_COOKIE["FROM"];
+ else
+ $create_user = "Anonymous ";
+
+ $contents = "";
+ $status = 2;
+ }
+
+ db_free($result);
+ }
+ else
+ {
+ if (array_key_exists("FROM", $_COOKIE))
+ $create_user = $_COOKIE["FROM"];
+ else
+ $create_user = "Anonymous ";
+
+ $contents = "";
+ $status = 2;
+ }
+ }
+
+ if ($havedata)
+ {
+ $create_user = db_escape($create_user);
+ $file = db_escape($file);
+ $contents = db_escape($contents);
+
+ if ($id)
+ {
+ // Update existing record.
+ db_query("UPDATE comment SET create_user='$create_user',file='$file',"
+ ."status=$status,contents='$contents' WHERE id = $id");
+ }
+ else
+ {
+ // Add new record.
+ $create_date = time();
+ db_query("INSERT INTO comment VALUES(NULL,$refer_id,2,'$file',"
+ ."'$contents',$create_date,'$create_user')");
+ }
+
+ $location = str_replace("_", "?", $path);
+ header("Location: $location");
+ }
+ else
+ {
+ if ($id)
+ {
+ html_header("Edit Comment");
+ print("Edit Comment
\n");
+ }
+ else
+ {
+ html_header("Add Comment");
+ print("Add Comment
\n");
+ }
+
+ if ($REQUEST_METHOD == "POST")
+ {
+ print("Your comment posting is missing required information. "
+ ."Please fill in all fields marked in "
+ ."red and resubmit your comments.
\n");
+ $hstart = "";
+ $hend = "";
+ }
+ else
+ {
+ $hstart = "";
+ $hend = "";
+ }
+
+ if ($op == "e")
+ print("