From 866c5c967391189d6ea855a13100eb2a0d7c806c Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Tue, 18 May 2004 12:02:02 +0000 Subject: [PATCH] Update make-form.php to fix errors. Add auto-generated articles.php. Add select_is_published() to common.php (for auto-generated forms). --- www/articles.php | 332 ++++++++++++++++++++++++++++++++++++++++- www/data/make-form.php | 52 ++++--- www/phplib/common.php | 35 ++++- 3 files changed, 387 insertions(+), 32 deletions(-) diff --git a/www/articles.php b/www/articles.php index 5303d43..1efa07c 100644 --- a/www/articles.php +++ b/www/articles.php @@ -1,20 +1,344 @@ Bad command '$op'!\n"); + html_footer(); + exit(); + } + + if (($op == 'D' || $op == 'M') && !$id) + { + html_header("Article Error"); + print("

Command '$op' requires an ID!\n"); + html_footer(); + exit(); + } + + if ($op == 'N' && $id) + { + html_header("Article Error"); + print("

Command '$op' may not have an ID!\n"); + html_footer(); + exit(); + } +} +else +{ + $op = 'L'; + $id = 0; +} + +switch ($op) +{ + case 'D' : // Delete Article + if ($REQUEST_METHOD == "POST") + { + db_query("DELETE FROM article WHERE id = $id"); + + header("Location: $PHP_SELF?L"); + } + else + { + $result = db_query("SELECT * FROM article WHERE id = $id"); + if (db_count($result) != 1) + { + print("

Error: Article #$id was not found!

\n"); + html_footer(); + exit(); + } + + $row = db_next($result); + + html_header("Delete Article #$id"); + + html_start_links(1); + html_link("Return to Article List", "$PHP_SELF?L"); + html_link("View Article #$id", "$PHP_SELF?L$id"); + html_link("Modify Article #$id", "$PHP_SELF?M$id"); + html_end_links(); + + print("

Delete Article #$id

\n"); + print("
" + ."

\n"); + + if (!$row['is_published']) + print("\n"); + + $temp = htmlspecialchars($row["title"]); + print("\n"); + + $temp = htmlspecialchars($row["abstract"]); + print("\n"); + + $temp = htmlspecialchars($row["contents"]); + print("\n"); + + print("\n"); + print("
This Article is " + ."currently hidden from public view.
Title:$temp
Abstract:$temp
Contents:$temp
" + ."

\n"); + + html_footer(); + } + break; + + case 'L' : // List (all) Article(s) + if ($id) + { + html_header("Article #$id"); + + $result = db_query("SELECT * FROM article WHERE id = $id"); + if (db_count($result) != 1) + { + print("

Error: Article #$id was not found!

\n"); + html_footer(); + exit(); + } + + $row = db_next($result); + + html_start_links(1); + html_link("Return to Article List", "$PHP_SELF?L"); + html_link("Modify Article", "$PHP_SELF?M$id"); + html_link("Delete Article #$id", "$PHP_SELF?D$id"); + html_end_links(); + + print("

Article #$id

\n"); + print("

\n"); + + if (!$row['is_published']) + print("\n"); + + $temp = htmlspecialchars($row['title']); + print("\n"); + + $temp = htmlspecialchars($row['abstract']); + print("\n"); + + $temp = htmlspecialchars($row['contents']); + print("\n"); + + print("
This Article is " + ."currently hidden from public view.
Title:$temp
Abstract:$temp
Contents:$temp

\n"); + db_free($result); + } + else + { + html_header("Article List"); + + html_start_links(1); + html_link("New Article", "$PHP_SELF?N"); + html_end_links(); + + $result = db_query("SELECT * FROM article"); + $count = db_count($result); + + print("

Article List

\n"); + if ($count == 0) + { + print("

No Articles found.

\n"); + + html_footer(); + exit(); + } + + html_start_table(array("Title","Abstract","Contents")); + + while ($row = db_next($result)) + { + html_start_row(); + + $id = $row['id']; + + $temp = htmlspecialchars($row['title']); + print("" + ."$temp"); + + $temp = htmlspecialchars($row['abstract']); + print("" + ."$temp"); + + $temp = htmlspecialchars($row['contents']); + print("" + ."$temp"); + + html_end_row(); + } + + html_end_table(); + } + + html_footer(); + break; + + case 'M' : // Modify Article + if ($REQUEST_METHOD == "POST") + { + $date = time(); + $is_published = db_escape($_POST["IS_PUBLISHED"]); + $title = db_escape($_POST["TITLE"]); + $abstract = db_escape($_POST["ABSTRACT"]); + $contents = db_escape($_POST["CONTENTS"]); + + db_query("UPDATE article SET " + ."is_published = $is_published, " + ."title = '$title', " + ."abstract = '$abstract', " + ."contents = '$contents', " + ."modify_date = $date, " + ."modify_user = '$LOGIN_USER' " + ."WHERE id = $id"); + + header("Location: $PHP_SELF?L$id"); + } + else + { + html_header("Modify Article #$id"); + + html_start_links(1); + html_link("Return to Article List", "$PHP_SELF?L"); + html_link("Article #$id", "$PHP_SELF?L$id"); + html_end_links(); + + print("

Modify Article #$id

\n"); + $result = db_query("SELECT * FROM article WHERE id = $id"); + if (db_count($result) != 1) + { + print("

Error: Article #$id was not found!

\n"); + html_footer(); + exit(); + } + + $row = db_next($result); + + print("
" + ."

\n"); + + print("\n"); + + $temp = htmlspecialchars($row['title'], ENT_QUOTES); + print("" + ."\n"); + + $temp = htmlspecialchars($row['abstract'], ENT_QUOTES); + print("" + ."\n"); + + $temp = htmlspecialchars($row['contents'], ENT_QUOTES); + print("" + ."\n"); + + print("\n"); + print("
Published:"); + select_is_published($row['is_published']); + print("
Title:
Abstract:
Contents:
" + ."

\n"); + + html_footer(); + } + break; + + case 'N' : // Post new Article + if ($REQUEST_METHOD == "POST") + { + $date = time(); + $is_published = db_escape($_POST["IS_PUBLISHED"]); + $title = db_escape($_POST["TITLE"]); + $abstract = db_escape($_POST["ABSTRACT"]); + $contents = db_escape($_POST["CONTENTS"]); + + db_query("INSERT INTO article VALUES(NULL," + ."$is_published," + ."'$title'," + ."'$abstract'," + ."'$contents'," + ."$date,'$LOGIN_USER',$date,'$LOGIN_USER')"); + + $id = db_insert_id(); + + header("Location: $PHP_SELF?L$id"); + break; + } + + html_header("New Article"); + + html_start_links(1); + html_link("Return to Article List", "$PHP_SELF?L"); + html_end_links(); + + print("

New Article

\n"); + print("
" + ."

\n"); + + print("\n"); + + print("" + ."\n"); + + print("" + ."\n"); + + print("" + ."\n"); + + print("\n"); + print("
Published:"); + select_is_published(); + print("
Title:
Abstract:
Contents:
" + ."

\n"); -html_header("Title"); + html_footer(); + break; +} -html_footer(); // -// End of "$Id: articles.php,v 1.1 2004/05/17 20:28:52 mike Exp $". +// End of "$Id: articles.php,v 1.2 2004/05/18 12:02:02 mike Exp $". // ?> diff --git a/www/data/make-form.php b/www/data/make-form.php index 8f2fd42..a3f5be7 100755 --- a/www/data/make-form.php +++ b/www/data/make-form.php @@ -1,4 +1,4 @@ -#!/usr/bin/php +#!/usr/bin/php -q \", \"\$PHP_SELF?L\$id\");\n"); print(" html_link(\"Modify $tname #\$id\", \"\$PHP_SELF?M\$id\");\n"); -print(" html_endlinks();\n"); +print(" html_end_links();\n"); print("\n"); +print(" print(\"

Delete $tname #\$id

\\n\");\n"); print(" print(\"
\"\n"); print(" .\"

\\n\");\n"); print("\n"); @@ -152,7 +153,7 @@ while ($row = sqlite_fetch_array($result)) $name = ucwords(str_replace('_', ' ', $row['name'])); print(" \$temp = htmlspecialchars(\$row[\"$row[name]\"]);\n"); - print(" print(\"" + print(" print(\"" ."\\n\");\n"); print("\n"); break; @@ -182,12 +183,13 @@ print(" }\n"); print("\n"); print(" \$row = db_next(\$result);\n"); print("\n"); -print(" html_startlinks(1);\n"); +print(" html_start_links(1);\n"); print(" html_link(\"Return to $tname List\", \"\$PHP_SELF?L\");\n"); print(" html_link(\"Modify $tname\", \"\$PHP_SELF?M\$id\");\n"); print(" html_link(\"Delete $tname #\$id\", \"\$PHP_SELF?D\$id\");\n"); -print(" html_endlinks();\n"); +print(" html_end_links();\n"); print("\n"); +print(" print(\"

$tname #\$id

\\n\");\n"); print(" print(\"

$name:
$name:\$temp
\\n\");\n"); print("\n"); @@ -213,7 +215,7 @@ while ($row = sqlite_fetch_array($result)) $name = ucwords(str_replace('_', ' ', $row['name'])); print(" \$temp = htmlspecialchars(\$row['$row[name]']);\n"); - print(" print(\"" + print(" print(\"" ."\\n\");\n"); print("\n"); break; @@ -221,19 +223,20 @@ while ($row = sqlite_fetch_array($result)) } print(" print(\"
$name:
$name:\$temp

\\n\");\n"); -print(" mysql_free_result(\$result);\n"); +print(" db_free(\$result);\n"); print(" }\n"); print(" else\n"); print(" {\n"); print(" html_header(\"$tname List\");\n"); print("\n"); -print(" html_startlinks(1);\n"); +print(" html_start_links(1);\n"); print(" html_link(\"New $tname\", \"\$PHP_SELF?N\");\n"); -print(" html_endlinks();\n"); +print(" html_end_links();\n"); print("\n"); print(" \$result = db_query(\"SELECT * FROM $table\");\n"); print(" \$count = db_count(\$result);\n"); print("\n"); +print(" print(\"

$tname List

\\n\");\n"); print(" if (\$count == 0)\n"); print(" {\n"); print(" print(\"

No ${tname}s found.

\\n\");\n"); @@ -261,7 +264,7 @@ while ($row = sqlite_fetch_array($result)) $name = ucwords(str_replace('_', ' ', $row['name'])); if ($firsttime) { - print(",\"$name\""); + print("\"$name\""); $firsttime = 0; } else @@ -281,6 +284,9 @@ while ($row = sqlite_fetch_array($result)) switch ($row['name']) { case "id" : + print(" \$id = \$row['id'];\n\n"); + break; + case "create_date" : case "create_user" : case "modify_date" : @@ -290,7 +296,7 @@ while ($row = sqlite_fetch_array($result)) default : print(" \$temp = htmlspecialchars(\$row['$row[name]']);\n"); - print(" print(\"\"\n"); print(" .\"\$temp\");\n"); print("\n"); @@ -360,13 +366,14 @@ print(" header(\"Location: \$PHP_SELF?L\$id\");\n"); print(" }\n"); print(" else\n"); print(" {\n"); -print(" html_header(\"$tname #\$id\");\n"); +print(" html_header(\"Modify $tname #\$id\");\n"); print("\n"); -print(" html_startlinks(1);\n"); +print(" html_start_links(1);\n"); print(" html_link(\"Return to $tname List\", \"\$PHP_SELF?L\");\n"); print(" html_link(\"$tname #\$id\", \"\$PHP_SELF?L\$id\");\n"); -print(" html_endlinks();\n"); +print(" html_end_links();\n"); print("\n"); +print(" print(\"

Modify $tname #\$id

\\n\");\n"); print(" \$result = db_query(\"SELECT * FROM $table WHERE id = \$id\");\n"); print(" if (db_count(\$result) != 1)\n"); print(" {\n"); @@ -380,7 +387,7 @@ print("\n"); print(" print(\"\"\n"); print(" .\"

\\n\");\n"); print("\n"); -print(" print(\"\\n\");\n"); print("\n"); @@ -401,7 +408,7 @@ while ($row = sqlite_fetch_array($result)) $form = strtoupper($row['name']); $name = ucwords(str_replace('_', ' ', $row['name'])); print(" \$temp = htmlspecialchars(\$row['$row[name]'], ENT_QUOTES);\n"); - print(" print(\"\"\n"); + print(" print(\"\"\n"); if ($row['type'] == "TEXT") { @@ -453,7 +460,7 @@ while ($row = sqlite_fetch_array($result)) } print("\n"); -print(" db_query(\"INSERT INTO $table VALUES(0,\"\n"); +print(" db_query(\"INSERT INTO $table VALUES(NULL,\"\n"); sqlite_seek($result, 0); while ($row = sqlite_fetch_array($result)) @@ -484,14 +491,15 @@ print(" }\n"); print("\n"); print(" html_header(\"New $tname\");\n"); print("\n"); -print(" html_startlinks(1);\n"); +print(" html_start_links(1);\n"); print(" html_link(\"Return to $tname List\", \"\$PHP_SELF?L\");\n"); -print(" html_endlinks();\n"); +print(" html_end_links();\n"); print("\n"); +print(" print(\"

New $tname

\\n\");\n"); print(" print(\"\"\n"); print(" .\"

Published:\");\n"); +print(" print(\"
Published:\");\n"); print(" select_is_published(\$row['is_published']);\n"); print(" print(\"
$name:
$name:
\\n\");\n"); print("\n"); -print(" print(\"\\n\");\n"); print("\n"); @@ -512,7 +520,7 @@ while ($row = sqlite_fetch_array($result)) $form = strtoupper($row['name']); $name = ucwords(str_replace('_', ' ', $row['name'])); - print(" print(\"\"\n"); + print(" print(\"\"\n"); if ($row['type'] == "TEXT") { diff --git a/www/phplib/common.php b/www/phplib/common.php index e1b75e1..928bdb8 100644 --- a/www/phplib/common.php +++ b/www/phplib/common.php @@ -1,15 +1,16 @@ for the "is published" field... // @@ -290,6 +291,28 @@ sanitize_text($text) // I - Original text // -// End of "$Id: common.php,v 1.2 2004/05/17 20:28:52 mike Exp $". +// 'select_is_published()' - Do a "); + if ($is_published) + { + print(""); + print(""); + } + else + { + print(""); + print(""); + } + print(""); +} + + +// +// End of "$Id: common.php,v 1.3 2004/05/18 12:02:02 mike Exp $". // ?>
Published:\");\n"); +print(" print(\"
Published:\");\n"); print(" select_is_published();\n"); print(" print(\"
$name:
$name: