Commit 1f798630 authored by Dries's avatar Dries

- large commit of everything else that has been queued in my backlog:
  it's not 100% stable yet
parent d3075189
drupal x.xx, xx/xx/xxxx
-----------------------
- major overhaul of the underlying design:
* everything is based on nodes
* introduced links / drupal tags
- refactored submission / moderation queue
- added a "wiki module"
- various updates:
* added preview functionality when submitting new content (such as a story) from the administration pages.
* made the administration section only show those links a user has access to.
drupal 2.00, 15/03/2001
-----------------------
- rewrote the comment/discussion code:
......
This diff is collapsed.
......@@ -58,8 +58,8 @@ $themes = array("UnConeD" => array(
#
# Submission moderation votes:
# The keys of this associative array are displayed in each submission's selection box whereas the corresponding values represent the mathematical calculation to be performed to update a comment's value.
# Warning: changing $submission_votes will affect the integrity of all pending stories in the open submission queue. Do not change this setting unless there are no pending stories in the submission queue or unless you know what you are doing.
$submission_votes = array("neutral (+0)" => "+ 0",
# Warning: changing $moderation_votes will affect the integrity of all pending stories in the open submission queue. Do not change this setting unless there are no pending stories in the submission queue or unless you know what you are doing.
$moderation_votes = array("neutral (+0)" => "+ 0",
"post it (+1)" => "+ 1",
"dump it (-1)" => "- 1");
......
<?php
$status = array(dumped => 0, expired => 1, queued => 2, posted => 3, scheduled => 4);
function _node_get($field, $value) {
$result = db_query("SELECT lid, type FROM nodes WHERE $field = '$value'");
if ($node = db_fetch_object($result)) {
......@@ -32,9 +34,9 @@ function node_del_array($field, $value) {
}
function node_save($node) {
global $user;
global $user, $status;
$rows = array(nid, lid, type, title, score, votes, author, status, timestamp);
$rows = array(nid, pid, lid, log, type, title, score, votes, author, status, timestamp);
// insert or update node:
if ($node[nid]) {
......@@ -55,10 +57,12 @@ function node_save($node) {
db_query("UPDATE nodes SET $u1 WHERE nid = '$node[nid]'");
db_query("UPDATE $node[type] SET $u2 WHERE node = '$node[nid]'");
watchdog("message", "modified node '$node[title]'");
}
else {
// setup default values:
$node = array_merge(array(type => "?", title => "?", score => 0, votes => 0, author => $user->id, status => 1, timestamp => time()), $node);
$node = array_merge(array(title => "?", author => $user->id, type => "?", pid => 0, log => "node created", status => $status[queued], score => 0, votes => 0, timestamp => time()), $node);
// prepare queries:
$f1 = array();
......@@ -82,28 +86,36 @@ function node_save($node) {
$f2 = implode(", ", $f2);
$v2 = implode(", ", $v2);
// if (!_node_get("title = $node[title] AND timestamp < ". time() ." - 60")) {
db_query("INSERT INTO nodes ($f1) VALUES ($v1)");
if ($nid = db_insert_id()) {
$lid = db_query("INSERT INTO $node[type] ($f2, node) VALUES ($v2, $nid)");
if ($lid = db_insert_id()) {
db_query("UPDATE nodes SET lid = '$lid' WHERE nid = '$nid'");
}
else {
db_query("DELETE FROM nodes WHERE nid = '$nid'");
}
db_query("INSERT INTO nodes ($f1) VALUES ($v1)");
if ($nid = db_insert_id()) {
$lid = db_query("INSERT INTO $node[type] ($f2, node) VALUES ($v2, $nid)");
if ($lid = db_insert_id()) {
db_query("UPDATE nodes SET lid = '$lid' WHERE nid = '$nid'");
}
else {
db_query("DELETE FROM nodes WHERE nid = '$nid'");
}
// }
}
watchdog("message", "added node '$node[title]'");
}
if (($node[pid]) && ($node[status] == $status[posted])) {
db_query("UPDATE nodes SET status = '$status[expired]' WHERE nid = '$node[pid]'");
}
}
function node_view($node, $page = 0) {
function node_view($node, $page) {
if ($node->type) {
$function = $node->type ."_view";
$function($node);
return $function($node, $page);
}
else {
print "not found";
}
function node_form($node) {
if ($node[type]) {
$function = $node[type] ."_form";
return $function($node);
}
}
......@@ -122,7 +134,7 @@ function visit(site) {
</SCRIPT>
<?php
$choices = array("/node.php?id=$node->nid" => t("view node"), "/node.php?op=update&id=$node->nid" => t("suggest update"), "/node.php?op=history&id=$node->nid" => t("view history"), "/node.php?op=referer&id=$node->nid" => t("view referers"));
$choices = array("/node.php?id=$node->nid" => t("view node"), "/submit.php?mod=$node->type&op=update&id=$node->nid" => t("suggest update"), "/node.php?op=history&id=$node->nid" => t("view history"));
$output .= "<FORM METHOD=\"get\" ACTION=\"\">\n";
foreach ($choices as $key => $value) $options .= "<OPTION VALUE=\"$key\"". ($key == $REQUEST_URI ? " SELECTED" : "") .">". check_select($value) ."</OPTION>\n";
......@@ -133,8 +145,8 @@ function visit(site) {
}
function node_visible($node) {
global $user;
return ($node->status == 2) || ($node->status == 1 && $user->id) || user_access($user, "node");
global $user, $status;
return ($node->status == $status[posted]) || ($node->status == $status[queued] && $user->id) || user_access($user, "node");
}
function node_post_threshold($node, $threshold = 5) {
......
......@@ -14,7 +14,7 @@ function search_data($keys, $type) {
$result = module_execute($type, "find", $keys);
foreach ($result as $entry) {
$output .= "<P>\n";
$output .= " <B><U><A HREF=\"$entry[link]\">$entry[subject]</A></U></B><BR>";
$output .= " <B><U><A HREF=\"$entry[link]\">$entry[title]</A></U></B><BR>";
$output .= " <SMALL>$site_url$entry[link]". ($entry[user] ? " - ". format_username($entry[user]) : "") ."". ($entry[date] ? " - ". format_date($entry[date], "small") : "") ."</SMALL>";
$output .= "</P>\n";
}
......
......@@ -75,13 +75,13 @@ function theme_account($theme) {
function theme_blocks($region, $theme) {
global $id, $PHP_SELF, $user;
global $id, $PHP_SELF, $status, $user;
switch (strrchr($PHP_SELF, "/")) {
case "/node.php":
if ($region != "left") {
if ($user->id) $node = db_fetch_object(db_query("SELECT * FROM nodes WHERE nid = '$id'"));
if ($node->status == 1) theme_moderation_results($theme, $node);
if ($node->status == $status[queued]) theme_moderation_results($theme, $node);
// else theme_new_headlines($theme);
}
break;
......@@ -113,6 +113,10 @@ function theme_moderation_results($theme, $node) {
}
}
/*
//
// depricated -> new block strategy
//
function theme_new_headlines($theme, $num = 10) {
$result = db_query("SELECT nid, title FROM nodes WHERE status = 2 AND type = 'story' ORDER BY nid DESC LIMIT $num");
while ($node = db_fetch_object($result)) $content .= "<LI><A HREF=\"node.php?id=$node->nid\">". check_output($node->title) ."</A></LI>\n";
......@@ -132,5 +136,6 @@ function theme_old_headlines($theme, $num = 10) {
}
$theme->box(t("Older headlines"), $content);
}
*/
?>
......@@ -7,7 +7,7 @@
$date = ($date > 0) ? $date : time();
// Perform query:
$result = db_query("SELECT n.*, s.*, u.userid, COUNT(c.lid) AS comments FROM nodes n LEFT JOIN story s ON n.nid = s.node LEFT JOIN comments c ON n.nid = c.lid LEFT JOIN users u ON n.author = u.id WHERE n.status = 2 AND n.type = 'story' ". ($section ? "AND s.section = '$section' " : "") ."AND n.timestamp <= $date GROUP BY n.nid ORDER BY n.timestamp DESC LIMIT $number");
$result = db_query("SELECT n.*, s.*, u.userid, COUNT(c.lid) AS comments FROM nodes n LEFT JOIN story s ON n.nid = s.node LEFT JOIN comments c ON n.nid = c.lid LEFT JOIN users u ON n.author = u.id WHERE n.status = '$status[posted]' AND n.type = 'story' ". ($section ? "AND s.section = '$section' " : "") ."AND n.timestamp <= $date GROUP BY n.nid ORDER BY n.timestamp DESC LIMIT $number");
// Display nodes:
$theme->header();
......
......@@ -58,18 +58,18 @@ function account_blocks($id) {
return $output;
}
function account_stories($id) {
$result = db_query("SELECT * FROM stories WHERE author = $id ORDER BY timestamp DESC");
while ($story = db_fetch_object($result)) {
$output .= "<LI><A HREF=\"story.php?id=$story->id\">$story->subject</A></LI>\n";
function account_nodes($id) {
$result = db_query("SELECT * FROM nodes WHERE author = $id ORDER BY timestamp DESC");
while ($node = db_fetch_object($result)) {
$output .= "<LI><A HREF=\"node.php?id=$node->nid\">$node->title</A> ($node->type)</LI>\n";
}
return $output;
}
function account_comments($id) {
$result = db_query("SELECT * FROM comments WHERE link = 'story' AND author = '$id' ORDER BY timestamp DESC");
$result = db_query("SELECT * FROM comments WHERE author = '$id' ORDER BY timestamp DESC");
while ($comment = db_fetch_object($result)) {
$output .= "<LI><A HREF=\"story.php?id=$comment->lid&cid=$comment->cid&pid=$comment->pid#$comment->cid\">$comment->subject</A></LI>\n";
$output .= "<LI><A HREF=\"node.php?id=$comment->lid&cid=$comment->cid&pid=$comment->pid#$comment->cid\">$comment->subject</A></LI>\n";
}
return $output;
}
......@@ -153,7 +153,7 @@ function account_view($name) {
$output .= " <TR><TH>Theme:</TH><TD>". check_output($account->theme) ."</TD></TR>\n";
$output .= " <TR><TH>Timezone:</TH><TD>". check_output($account->timezone / 3600) ."</TD></TR>\n";
$output .= " <TR><TH>Selected blocks:</TH><TD>". check_output(account_blocks($account->id)) ."</TD></TR>\n";
$output .= " <TR><TH>Submitted stories:</TH><TD>". check_output(account_stories($account->id)) ."</TD></TR>\n";
$output .= " <TR><TH>Submitted nodes:</TH><TD>". check_output(account_nodes($account->id)) ."</TD></TR>\n";
$output .= " <TR><TH>Submitted comments:</TH><TD>". check_output(account_comments($account->id)) ."</TD></TR>\n";
$output .= " <TR><TD ALIGN=\"center\" COLSPAN=\"2\"><INPUT TYPE=\"hidden\" NAME=\"name\" VALUE=\"$account->userid\"><INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Edit account\"><INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Delete account\"></TD></TR>\n";
$output .= "</TABLE>\n";
......
......@@ -15,7 +15,7 @@ function affiliate_block() {
$result = db_query("SELECT * FROM affiliates ORDER BY name");
$content .= "<SCRIPT TYPE=\"\">\n";
$content .= "<SCRIPT>\n";
$content .= " <!--//\n";
$content .= " function gotosite(site) {\n";
$content .= " if (site != \"\") {\n";
......
This diff is collapsed.
This diff is collapsed.
......@@ -8,7 +8,7 @@ function drupal_block() {
$result = db_query("SELECT * FROM drupals ORDER BY name");
$content .= "<SCRIPT TYPE=\"\">\n";
$content .= "<SCRIPT>\n";
$content .= " <!--//\n";
$content .= " function gotosite(site) {\n";
$content .= " if (site != \"\") {\n";
......
......@@ -4,13 +4,15 @@
"page" => "moderation_page");
include_once "includes/common.inc";
include_once "includes/node.inc";
function moderation_menu() {
return array("<A HREF=\"module.php?mod=moderation\">". t("moderation queue") ."</A> (<FONT COLOR=\"red\">". moderation_count() ."</FONT>)");
}
function moderation_count() {
$result = db_query("SELECT COUNT(nid) FROM nodes WHERE status = 1");
global $status;
$result = db_query("SELECT COUNT(nid) FROM nodes WHERE status = '$status[queued]'");
return ($result) ? db_result($result, 0) : 0;
}
......@@ -20,7 +22,7 @@ function moderation_score($id) {
}
function moderation_vote($id, $vote) {
global $user;
global $status, $user;
if (!user_get($user, "history", "n$id")) {
// Update submission's score- and votes-field:
......@@ -29,28 +31,27 @@ function moderation_vote($id, $vote) {
// Update user's history record:
$user = user_set($user, "history", "n$id", $vote);
$result = db_query("SELECT * FROM nodes WHERE nid = $id");
if ($node = db_fetch_object($result)) {
if ($node = node_get_object(nid, $id)) {
if (node_post_threshold($node) <= $node->score) {
db_query("UPDATE nodes SET status = 2, timestamp = '". time() ."' WHERE nid = $id");
watchdog("message", "posted node '$node->subject'");
node_save(array(nid => $id, pid => $node->pid, type => $node->type, status => $status[posted]));
watchdog("message", "posted node '$node->title'");
}
else if (node_dump_threshold($node) >= $node->score) {
db_query("UPDATE nodes SET status = 0, timestamp = '". time() ."' WHERE nid = $id");
watchdog("message", "dumped node '$node->subject'");
node_save(array(nid => $id, pid => $node->pid, type => $node->type, status => $status[dumped]));
watchdog("message", "dumped node '$node->title'");
}
else if (node_timout_threshold($node) <= $node->votes) {
db_query("UPDATE nodes SET status = 0, timestamp = '". time() ."' WHERE nid = $id");
watchdog("message", "expired node '$node->subject'");
node_save(array(nid => $id, pid => $node->pid, type => $node->type, status => $status[expired]));
watchdog("message", "expired node '$node->title'");
}
}
}
}
function moderation_overview() {
global $theme, $user;
global $status, $theme, $user;
$result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN users u ON n.author = u.id WHERE n.status = 1");
$result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN users u ON n.author = u.id WHERE n.status = '$status[queued]'");
$content .= "<TABLE BORDER=\"0\" CELLSPACING=\"4\" CELLPADDING=\"4\">\n";
$content .= " <TR BGCOLOR=\"$bgcolor1\"><TH>". t("Subject") ."</TH><TH>". t("Author") ."</TH><TH>". t("Type") ."</TH><TH>". t("Score") ."</TH></TR>\n";
......@@ -74,6 +75,11 @@ function moderation_node($id) {
header("Location: node.php?id=$node->nid");
}
else {
if ($node->pid && $n = node_get_object("nid", $node->pid)) {
if ($node->pid) $output .= " ". t("The above node is a suggested update for an existing node:") ." \"<A HREF=\"node.php?id=$n->nid\">". check_output($n->title) ."</A>\".";
if ($node->log) $output .= " ". t("The log message to accompany this update is given below:") ."<P>". check_output($node->log, 1) ."</P>";
}
// moderation form:
$output .= "<FORM ACTION=\"module.php?mod=moderation\" METHOD=\"post\">\n";
foreach ($moderation_votes as $key=>$value) $options .= " <OPTION VALUE=\"$value\">$key</OPTION>\n";
......@@ -83,7 +89,7 @@ function moderation_node($id) {
$output .= "</FORM>\n";
$theme->header();
node_view($node, 1);
node_view($node, 0);
$theme->box(t("Moderate"), $output);
$theme->footer();
}
......
This diff is collapsed.
This diff is collapsed.
......@@ -2,30 +2,32 @@
include "includes/common.inc";
function node_update($node) {
}
function node_history($node) {
global $status;
if ($node->status == $status[expired] || $node->status == $status[posted]) {
$output .= "<DT><B>". format_date($node->timestamp) ." by ". format_username($node->userid) .":</B></DT><DD>". check_output($node->log, 1) ."<P></DD>";
}
if ($node->pid) {
$output .= node_history(node_get_object("nid", $node->pid));
}
return $output;
}
function node_refers($node) {
print "under construction";
}
$node = ($title ? node_get_object(title, check_input($title)) : node_get_object(nid, check_input($id)));
if ($node && node_visible($node)) {
switch ($op) {
case "update":
// node_update($node);
// break;
case "history":
// node_history($node);
// break;
case "referers":
// node_referers($node);
// break;
$theme->header();
$theme->box(t("History"), node_info($node) ."<DL>". node_history($node) ."</DL>");
$theme->footer();
break;
default:
node_view($node);
node_view($node, 1);
}
}
else {
......
......@@ -2,121 +2,36 @@
include_once "includes/common.inc";
function submit_enter() {
global $anonymous, $allowed_html, $theme, $user;
// Guidlines:
$output .= "<P>". t("Got some news or some thoughts you would like to share? Fill out this form and they will automatically get whisked away to our submission queue where our moderators will frown at it, poke at it and hopefully post it. Every registered user is automatically a moderator and can vote whether or not your sumbission should be carried to the front page for discussion.") ."</P>\n";
$output .= "<P>". t("Note that we do not revamp or extend your submission so it is up to you to make sure your submission is well-written: if you don't care enough to be clear and complete, your submission is likely to be moderated down by our army of moderators. Try to be complete, aim for clarity, organize and structure your text, and try to carry out your statements with examples. It is also encouraged to extend your submission with arguments that flow from your unique intellectual capability and experience: offer some insight or explanation as to why you think your submission is interesting. Make sure your submission has some meat on it!") ."</P>\n";
$output .= "<P>". t("However, if you have bugs to report, complaints, personal questions or anything besides a public submission, we would prefer you to mail us instead, or your message is likely to get lost.") ."</P>\n";
// Submission form:
$output .= "<FORM ACTION=\"submit.php\" METHOD=\"post\">\n";
$output .= "<B>". t("Your name") .":</B><BR>\n";
$output .= format_username($user->userid) ."<P>\n";
$output .= "<B>". t("Subject") .":</B><BR>\n";
$output .= "<INPUT TYPE=\"text\" NAME=\"subject\" SIZE=\"50\" MAXLENGTH=\"60\"><P>\n";
$output .= "<B>". t("Section") .":</B><BR>\n";
foreach ($sections = section_get() as $value) $options .= " <OPTION VALUE=\"$value\">$value</OPTION>\n";
$output .= "<SELECT NAME=\"section\">$options</SELECT><P>\n";
$output .= "<B>". t("Abstract") .":</B><BR>\n";
$output .= "<TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"10\" NAME=\"abstract\" MAXLENGTH=\"20\"></TEXTAREA><BR>\n";
$output .= "<SMALL><I>". t("Allowed HTML tags") .": ". htmlspecialchars($allowed_html) .".</I></SMALL><P>\n";
$output .= "<B>". t("Extended story") .":</B><BR>\n";
$output .= "<TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"15\" NAME=\"article\"></TEXTAREA><BR>\n";
$output .= "<SMALL><I>". t("Allowed HTML tags") .": ". htmlspecialchars($allowed_html) .".</I></SMALL><P>\n";
$output .= "<SMALL><I>". t("You must preview at least once before you can submit") .":</I></SMALL><BR>\n";
$output .= "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"". t("Preview submission") ."\"><P>\n";
$output .= "</FORM>\n";
$theme->header();
$theme->box(t("New submission"), $output);
$theme->footer();
function submit_type($name, $module) {
global $modules;
if ($module[user]) $modules = array_merge(($modules ? $modules : array()), array($name => $name));
}
function submit_preview($subject, $abstract, $article, $section) {
global $allowed_html, $theme, $user;
include "includes/story.inc";
$output .= "<FORM ACTION=\"submit.php\" METHOD=\"post\">\n";
$output .= "<B>". t("Your name") .":</B><BR>\n";
$output .= format_username($user->userid) ."<P>";
$theme->header();
$output .= "<B>". t("Subject") .":</B><BR>\n";
$output .= "<INPUT TYPE=\"text\" NAME=\"subject\" SIZE=\"50\" MAXLENGTH=\"60\" VALUE=\"". check_textfield($subject) ."\"><P>\n";
$output .= "<B>". t("Section") .":</B><BR>\n";
foreach ($sections = section_get() as $value) $options .= " <OPTION VALUE=\"$value\"". ($section == $value ? " SELECTED" : "") .">$value</OPTION>\n";
$output .= "<SELECT NAME=\"section\">$options</SELECT><P>\n";
$output .= "<B>". t("Abstract") .":</B><BR>\n";
$output .= "<TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"10\" NAME=\"abstract\">". check_textarea($abstract) ."</TEXTAREA><BR>\n";
$output .= "<SMALL><I>". t("Allowed HTML tags") .": ". htmlspecialchars($allowed_html) .".</I></SMALL><P>\n";
$output .= "<B>". t("Extended story") .":</B><BR>\n";
$output .= "<TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"15\" NAME=\"article\">". check_textarea($article) ."</TEXTAREA><BR>\n";
$output .= "<SMALL><I>". t("Allowed HTML tags") .": ". htmlspecialchars($allowed_html) .".</I></SMALL><P>\n";
$duplicate = db_result(db_query("SELECT COUNT(id) FROM stories WHERE subject = '". check_input($subject) ."'"));
if (empty($subject)) {
$output .= "<FONT COLOR=\"red\">". t("Warning: you did not supply a subject.") ."</FONT><P>\n";
$output .= "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"". t("Preview submission") ."\">\n";
}
else if (empty($abstract)) {
$output .= "<FONT COLOR=\"red\">". t("Warning: you did not supply an abstract.") ."</FONT><P>\n";
$output .= "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"". t("Preview submission") ."\">\n";
}
else if ($duplicate) {
$output .= "<FONT COLOR=\"red\">". t("Warning: there is already a story with that subject.") ."</FONT><P>\n";
$output .= "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"". t("Preview submission") ."\">\n";
if ($user->id) {
if ($mod) {
module_execute($mod, "user");
}
else {
$output .= "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"". t("Preview submission") ."\">\n";
$output .= "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"". t("Submit submission") ."\">\n";
}
$output .= "</FORM>\n";
$theme->header();
$theme->story(new Story($user->userid, $subject, $abstract, $article, $section, time()), "[ ". t("reply to this story") ." ]");
$theme->box(t("Submit a story"), $output);
$theme->footer();
}
module_iterate("submit_type");
function submit_submit($subject, $abstract, $article, $section) {
global $user, $theme;
$output .= "<P>". t("If you have written something or if you have some news or thoughts that you would like to share, then this is the place where you can submit new content. Fill out this form and your contribution will automatically get whisked away to our submission queue where our moderators will frown at it, poke at it and hopefully post it.") ."</P>";
// Add log entry:
watchdog("story", "story: added '$subject'");
$output .= "<FORM ACTION=\"submit.php\" METHOD=\"get\">\n";
$output .= "<B>". t("Submission type") .":</B><BR>\n";
foreach ($modules as $key => $value) $options .= "<OPTION VALUE=\"$key\">$value</OPTION>";
$output .= "<SELECT NAME=\"mod\">$options</SELECT><P>\n";
$output .= "<INPUT NAME=\"op\" TYPE=\"submit\" VALUE=\"". t("Next step") ."\">\n";
// Add submission to SQL table:
db_query("INSERT INTO stories (author, subject, abstract, article, section, timestamp) VALUES ('$user->id', '$subject', '$abstract', '$article', '$section', '". time() ."')");
// reset
// Display confirmation message:
$theme->header();
$theme->box(t("Submission completed"), t("Thank you for your submission. Your submission has been whisked away to our submission queue where our registered users will frown at it, poke at it and hopefully carry it to the front page for discussion."));
$theme->footer();
$theme->box("Submit", $output);
}
}
switch($op) {
case t("Preview submission"):
submit_preview(($subject ? check_output($subject) : ""), ($abstract ? check_output($abstract) : ""), ($article ? check_output($article) : ""), check_output($section));
break;
case t("Submit submission"):
submit_submit(check_input($subject), check_input($abstract), check_input($article), check_input($section));
break;
default:
submit_enter();
break;
else {
$theme->box("Submit", t("This page requires a valid user account. Please <A HREF=\"account.php\">login</A> prior to accessing it."));
}
$theme->footer();
?>
......@@ -128,7 +128,7 @@ function comment($comment, $link = "") {
// Author and date:
echo " <TR>";
echo " <TD>";
echo " <TD>";
echo t("Author") .":";
echo " </TD>";
echo " <TD COLSPAN=\"2\">";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment