diff options
author | Dries Buytaert <dries@buytaert.net> | 2001-06-10 15:01:20 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2001-06-10 15:01:20 +0000 |
commit | d397bbe93587f015cd8db0dbf16ef6d1c1aef78b (patch) | |
tree | 82b3b8dc63b04c11aeadd5b18cee796e4da43144 | |
parent | 6b34310626b960a18646259d8d7caa1b6b2da1da (diff) | |
download | brdo-d397bbe93587f015cd8db0dbf16ef6d1c1aef78b.tar.gz brdo-d397bbe93587f015cd8db0dbf16ef6d1c1aef78b.tar.bz2 |
This a rather large commit that needs a lot of fine-tuning. If you
update, you'll break your site as you need switching from structure
to index.module: so this can be considered an intermediate commit.
If you upgrade, and you are welcome to, just create a collection
called "section" (for now) and assign your nodes some attributes
in the described format.
Feedback and bugreports are welcomed. Questions will be answered.
CHANGES:
- comment system:
+ when replying to a node (rather then to a comment), that
node is displayed above the reply form.
+ when replying to a comment (rather then to a node), that
comment is displayd above the reply form.
- removed structure.inc, removed structure.module.
- node.inc:
+ added 2 new node functions called 'node_attribute_edit()' and
'node_attribute_save()' used to 'hook in' any indexing system
including your home-brewed stuff if you'd want to. Currently,
index.module is the facto default index system.
See story.module for usage.
- book.module, story.module, poll.module, page.module, forum.module:
+ added preview functionality to administration section (via node
module).
+ removed all references to structure.inc (category, topic).
- moderate.module:
+ removed all references to structure.inc (category, topic).
- book.module, story.module, page.module, forum.module:
+ increased the sizes of some textareas.
- submit.php:
+ removed all references to structure.inc (category, topic).
- marvin.theme:
+ removed dead code: function story() was depricated.
- unconed.theme:
+ removed hardcoded references to drop.org.
- marvin.theme, unconed.theme, jeroen.theme, yaroon.theme, example.theme:
+ removed all references to structure.inc (category, topic).
TODO:
- file.module, trip_link.module:
+ update preview functionality:
see story.module for example.
+ remove references to 'cid' and 'tid', use 'attribute' instead:
see story.module for example.
- extend and build upon index.module as well as making it configurable
31 files changed, 182 insertions, 469 deletions
diff --git a/includes/comment.inc b/includes/comment.inc index f7bea9ac6..0a8ea9e12 100644 --- a/includes/comment.inc +++ b/includes/comment.inc @@ -54,7 +54,10 @@ function comment_reply($pid, $id) { $item = db_fetch_object(db_query("SELECT comments.*, users.userid FROM comments LEFT JOIN users ON comments.author = users.id WHERE comments.cid = '$pid'")); comment_view(new Comment($item->userid, $item->subject, $item->comment, $item->timestamp, $item->url, $item->fake_email, comment_score($comment), $comment->votes, $item->cid, $item->lid), t("reply to this comment")); } - else $pid = 0; + else { + node_view(node_get_object(array("nid" => $id))); + $pid = 0; + } // Build reply form: $output .= "<FORM ACTION=\"$REQUEST_URI\" METHOD=\"post\">\n"; diff --git a/includes/common.inc b/includes/common.inc index 581ab3558..a60ca3236 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -258,7 +258,6 @@ function page_footer() { $conf = conf_init(); include_once "includes/$conf.php"; -include_once "includes/structure.inc"; include_once "includes/database.inc"; include_once "includes/variable.inc"; include_once "includes/comment.inc"; diff --git a/includes/node.inc b/includes/node.inc index 155ba3f00..38dd79a85 100644 --- a/includes/node.inc +++ b/includes/node.inc @@ -211,8 +211,12 @@ function node_preview($node) { return $node; } +function node_index($string) { + return $string ? implode(" / ", node_attributes_view($string)) : " "; +} + function node_attributes_edit($edit) { - return index_collection_form("section", ($edit[section] ? $edit[section] : "section:". field_get($edit[attribute], "section"))); + return index_collection_form("section", ($edit[section] ? $edit[section] : "section:". field_get($edit[attribute], "section") .";")); } function node_attributes_save($edit) { @@ -224,6 +228,16 @@ function node_attributes_save($edit) { } } +function node_attributes_view($string) { + foreach (explode(";", $string) as $data) { + $entry = explode(":", $data); + if (in_array($entry[0], array("section"))) { + $array[] = "<a href=\"?$entry[0]=$entry[1]\">$entry[1]</a>"; + } + } + return $array ? $array : array(); +} + function node_visible($node) { global $user, $status; return ($node->status == $status[posted]) || ($node->status == $status[queued] && $user->id) || user_access($user, $node->type) || user_access($user, "node"); diff --git a/includes/structure.inc b/includes/structure.inc deleted file mode 100644 index fdac8e811..000000000 --- a/includes/structure.inc +++ /dev/null @@ -1,157 +0,0 @@ -<?php - -// ----- category ----- - -function _category_get($field, $value) { - return db_query("SELECT * FROM category WHERE $field = '$value'"); -} - -// returns the category object where $field = $value: -function category_get_object($field, $value) { - return db_fetch_object(_category_get($field, $value)); -} - -// returns the category array where $field = $value: -function category_get_array($field, $value) { - return db_fetch_array(_category_get($field, $value)); -} - -// save a category: -function category_save($edit) { - if (!$edit[cid]) $edit[cid] = db_insert_id(db_query("INSERT INTO category (name) VALUES ('". check_query($edit[name])."')")); - foreach ($edit as $key=>$value) db_query("UPDATE category SET $key = '". check_query($value) ."' WHERE cid = '$edit[cid]'"); -} - - -// delete category $cid: -function category_del($cid) { - db_query("DELETE FROM category WHERE cid = '". check_query($cid) ."'"); - db_query("UPDATE node SET cid = 0 WHERE cid = '". check_query($cid) ."'"); -} - -// return post threshold: -function category_post_threshold($cid) { - $category = db_fetch_object(db_query("SELECT post AS threshold FROM category WHERE cid = '". check_query($cid) ."'")); - return $category->threshold; -} - -// return dump threshold: -function category_dump_threshold($cid) { - $category = db_fetch_object(db_query("SELECT dump AS threshold FROM category WHERE cid = '". check_query($cid) ."'")); - return $category->threshold; -} - -// return expiration threshold: -function category_expire_threshold($cid) { - $category = db_fetch_object(db_query("SELECT expire AS threshold FROM category WHERE cid = '". check_query($cid) ."'")); - return $category->threshold; -} - -// return default comment status of category $cid: -function category_comment($cid) { - $category = category_get_object("cid", $cid); - return $category->comment ? $category->comment : 0; -} - -// return default promote status of category $cid: -function category_promote($cid) { - $category = category_get_object("cid", $cid); - return $category->promote ? $category->promote : 0; -} - -// return default submission status of category $cid: -function category_submission($cid) { - $category = category_get_object("cid", $cid); - return $category->submission ? $category->submission : 0; -} - -// return linked string with name of category $cid: -function category_name($cid) { - $category = category_get_object("cid", $cid); - return ($category) ? "<A HREF=\"index.php?category=$category->cid\">$category->name</A>" : ""; -} - -function category_form_select($type, $edit = array(), $size = 1) { - $result = db_query("SELECT * FROM category WHERE type = '$type'"); - while ($category = db_fetch_object($result)) { - $options .= "<OPTION VALUE=\"$category->cid\"". ($edit[cid] == $category->cid ? "SELECTED" : "") .">". check_form($category->name) ."</OPTION>"; - } - return "<SELECT NAME=\"edit[cid]\" SIZE=\"$size\"". ($size > 1 ? "MULTIPLE" : "") .">$options</SELECT>\n"; -} - -// ----- topic ----- - -function _topic_get($field, $value) { - return db_query("SELECT * FROM topic WHERE $field = '$value'"); -} - -// returns the topic object where $field = $value: -function topic_get_object($field, $value) { - return db_fetch_object(_topic_get($field, $value)); -} - -// returns the topic array where $field = $value: -function topic_get_array($field, $value) { - return db_fetch_array(_topic_get($field, $value)); -} - -// save a topic: -function topic_save($edit) { - if (!$edit[tid]) $edit[tid] = db_insert_id(db_query("INSERT INTO topic (name) VALUES ('". check_query($edit[name])."')")); - foreach ($edit as $key=>$value) db_query("UPDATE topic SET $key = '". check_query($value) ."' WHERE tid = '$edit[tid]'"); -} - -// returns a sorted tree-representation of all topics: -function topic_tree($parent = 0, $name = "", $tree = array()) { - $result = db_query("SELECT * FROM topic WHERE pid = '$parent' ORDER BY name"); - while ($topic = db_fetch_object($result)) { - $tree[$topic->tid] = ($name ? "$name - $topic->name" : $topic->name); - $tree = topic_tree($topic->tid, $tree[$topic->tid], $tree); - } - return $tree; -} - -// delete topic $tid: -function topic_del($tid) { - db_query("DELETE FROM topic WHERE tid = '". check_query($tid) ."'"); - db_query("UPDATE node SET tid = 0 WHERE tid = '". check_query($tid) ."'"); -} - -// return linked string with name of topic $tid: -function topic_name($tid, $name = 0) { - $topic = topic_get_object("tid", $tid); - $name = $name ? "<A HREF=\"index.php?topic=$topic->tid\">$topic->name</A> - $name" : "<A HREF=\"index.php?topic=$topic->tid\">$topic->name</A>"; - return ($topic->pid) ? topic_name($topic->pid, $name) : $name; -} - -// return moderators for topic $tid: -function topic_moderate($tid) { - $topic = topic_get_object("tid", $tid); - return $topic->moderate; -} - -// renders a HTML form to select one or more topics: -function topic_form_select($edit = array(), $size = 1) { - foreach (topic_tree() as $tid=>$name) { - $options .= "<OPTION VALUE=\"$tid\"". ($edit[tid] == $tid ? "SELECTED" : "") .">". check_form($name) ."</OPTION>"; - } - return "<SELECT NAME=\"edit[tid]\" SIZE=\"$size\"". ($size > 1 ? "MULTIPLE" : "") .">$options</SELECT>\n"; -} - -// ----- structure ----- - -// add node $nid to category $cid and topic $tid: -function structure_save($nid, $cid, $tid) { - category_node($nid, $cid); - topic_node($nid, $tid); -} - -// render a HMTL selection form: -function structure_form($type, $edit = array(), $size = 1) { - $output .= "<B>Category and topic:</B><BR>\n"; - $output .= category_form_select($type, $edit, $size) ." ". topic_form_select($edit, $size) ."<BR>"; - $output .= "<SMALL><I>". t("Select the category and the topic this submission belongs in.") ."</I></SMALL><P>"; - return $output; -} - -?>
\ No newline at end of file diff --git a/includes/theme.inc b/includes/theme.inc index 7cb07bfc9..4bc6e57ea 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -1,15 +1,17 @@ <?php class BaseTheme { - function links($links = array(), $status = 0, $node = 0) { - if ($status == 1) - $links = array_merge(theme_morelink($node), $links); - foreach ($links as $link) { - $_links[] = count($link) == 2 ? "<A HREF=\"$link[0]\"><FONT COLOR=\"$theme->link\">". t($link[1]) ."</FONT></A>" : t($link[0]); - } - if ($status == 2) return ($_links ? implode(" | ", $_links) : ""); - else return ($_links ? "[ ". implode(" | ", $_links) ." ]" : ""); + function links($links = array(), $status = 0, $node = 0) { + if ($status == 1) + $links = array_merge(theme_morelink($node), $links); + + foreach ($links as $link) { + $_links[] = count($link) == 2 ? "<A HREF=\"$link[0]\"><FONT COLOR=\"$theme->link\">". t($link[1]) ."</FONT></A>" : t($link[0]); } + + if ($status == 2) return ($_links ? implode(" | ", $_links) : ""); + else return ($_links ? "[ ". implode(" | ", $_links) ." ]" : ""); + } } function theme_init() { @@ -4,16 +4,13 @@ include_once "includes/common.inc"; page_header(); -if ($category) { - $c = "AND cid = '". check_input($category) ."'"; +foreach(explode("&", $QUERY_STRING) as $attribute) { + if ($attribute) $query .= "attribute LIKE '%". check_input(strtr($attribute, "=", ":")) ."%' AND "; } -if ($topic) { - foreach (topic_tree($topic) as $key=>$value) $t .= "tid = '$key' OR "; - $t = "AND ($t tid = '". check_input($topic) ."')"; -} +$query = !$date ? $query : ""; -$result = db_query("SELECT nid, type FROM node WHERE promote = '1' AND status = '". node_status("posted") ."' AND timestamp <= '". ($date > 0 ? check_input($date) : time()) ."' $c $t ORDER BY timestamp DESC LIMIT ". ($user->nodes ? $user->nodes : variable_get(default_nodes_main, 10))); +$result = db_query("SELECT nid, type FROM node WHERE $query promote = '1' AND status = '". node_status("posted") ."' AND timestamp <= '". ($date > 0 ? check_input($date) : time()) ."' ORDER BY timestamp DESC LIMIT ". ($user->nodes ? $user->nodes : variable_get(default_nodes_main, 10))); $theme->header(); while ($node = db_fetch_object($result)) { diff --git a/modules/book.module b/modules/book.module index 319165c97..522dcdeff 100644 --- a/modules/book.module +++ b/modules/book.module @@ -108,10 +108,13 @@ function book_toc($parent = "", $indent = "", $toc = array()) { function book_form($edit = array()) { global $REQUEST_URI, $user; + if ($edit[title]) { + $form .= book_view(new Book(node_preview($edit))); + } + $form .= form_item(t("Author"), format_username(($edit[userid] ? $edit[userid] : $user->userid))); $form .= form_hidden(userid, $edit[userid]); $form .= form_textfield(t("Subject"), "title", $edit[title], 50, 64); - $form .= form_item(t("Category"), category_form_select("book", $edit)); if ($edit[pid]) { $node = node_get_object(array("nid" => $edit[pid])); @@ -122,8 +125,8 @@ function book_form($edit = array()) { $form .= form_select(t("Parent"), "parent", $edit[parent], book_toc(), t("The parent subject or category the page belongs in.")); } - $form .= form_textarea(t("Content"), "body", $edit[body], 50, 10, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); - $form .= form_textarea(t("Log message"), "log", $edit[log], 50, 5, t("An explanation of the additions or updates being made to help the group understand your motivations.")); + $form .= form_textarea(t("Content"), "body", $edit[body], 70, 20, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); + $form .= form_textarea(t("Log message"), "log", $edit[log], 70, 5, t("An explanation of the additions or updates being made to help the group understand your motivations.")); if (user_access($user, "book")) { $form .= form_select(t("Weight"), "weight", $edit[weight], array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30), t("The heavier nodes will sink and the lighter nodes will be positioned nearer the top.")); @@ -134,10 +137,7 @@ function book_form($edit = array()) { $form .= form_hidden("nid", $edit[nid]); } - if (!$edit) { - $form .= form_submit(t("Preview")); - } - else if (!$edit[title]) { + if (!$edit[title]) { $form .= "<FONT COLOR=\"red\">". t("Warning: you did not supply a title.") ."</FONT><P>\n"; $form .= form_submit(t("Preview")); } @@ -153,10 +153,10 @@ function book_save($edit) { global $status, $user; if (!$edit[nid]) { - node_save($edit, array(author => $user->id, body, cid, comment => variable_get("book_comment", 0), log, moderate => variable_get("book_moderate", ""), parent, promote => variable_get("book_promote", 0), score => 0, status => variable_get("book_status", $status[queued]), tid, timestamp => time(), title, type => "book", votes => 0, weight)); + node_save($edit, array(author => $user->id, body, comment => variable_get("book_comment", 0), log, moderate => variable_get("book_moderate", ""), parent, promote => variable_get("book_promote", 0), score => 0, status => variable_get("book_status", $status[queued]), timestamp => time(), title, type => "book", votes => 0, weight)); } else if (user_access($user)) { - node_save($edit, array(body, cid, log, parent, tid, title, type => "book", weight)); + node_save($edit, array(body, log, parent, title, type => "book", weight)); } } @@ -232,7 +232,6 @@ function book_user() { $theme->box($title, book_update($id)); break; case t("Preview"): - book_view(new Book(node_preview($edit))); $theme->box($title, book_form($edit)); break; case t("Submit"): diff --git a/modules/book/book.module b/modules/book/book.module index 319165c97..522dcdeff 100644 --- a/modules/book/book.module +++ b/modules/book/book.module @@ -108,10 +108,13 @@ function book_toc($parent = "", $indent = "", $toc = array()) { function book_form($edit = array()) { global $REQUEST_URI, $user; + if ($edit[title]) { + $form .= book_view(new Book(node_preview($edit))); + } + $form .= form_item(t("Author"), format_username(($edit[userid] ? $edit[userid] : $user->userid))); $form .= form_hidden(userid, $edit[userid]); $form .= form_textfield(t("Subject"), "title", $edit[title], 50, 64); - $form .= form_item(t("Category"), category_form_select("book", $edit)); if ($edit[pid]) { $node = node_get_object(array("nid" => $edit[pid])); @@ -122,8 +125,8 @@ function book_form($edit = array()) { $form .= form_select(t("Parent"), "parent", $edit[parent], book_toc(), t("The parent subject or category the page belongs in.")); } - $form .= form_textarea(t("Content"), "body", $edit[body], 50, 10, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); - $form .= form_textarea(t("Log message"), "log", $edit[log], 50, 5, t("An explanation of the additions or updates being made to help the group understand your motivations.")); + $form .= form_textarea(t("Content"), "body", $edit[body], 70, 20, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); + $form .= form_textarea(t("Log message"), "log", $edit[log], 70, 5, t("An explanation of the additions or updates being made to help the group understand your motivations.")); if (user_access($user, "book")) { $form .= form_select(t("Weight"), "weight", $edit[weight], array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30), t("The heavier nodes will sink and the lighter nodes will be positioned nearer the top.")); @@ -134,10 +137,7 @@ function book_form($edit = array()) { $form .= form_hidden("nid", $edit[nid]); } - if (!$edit) { - $form .= form_submit(t("Preview")); - } - else if (!$edit[title]) { + if (!$edit[title]) { $form .= "<FONT COLOR=\"red\">". t("Warning: you did not supply a title.") ."</FONT><P>\n"; $form .= form_submit(t("Preview")); } @@ -153,10 +153,10 @@ function book_save($edit) { global $status, $user; if (!$edit[nid]) { - node_save($edit, array(author => $user->id, body, cid, comment => variable_get("book_comment", 0), log, moderate => variable_get("book_moderate", ""), parent, promote => variable_get("book_promote", 0), score => 0, status => variable_get("book_status", $status[queued]), tid, timestamp => time(), title, type => "book", votes => 0, weight)); + node_save($edit, array(author => $user->id, body, comment => variable_get("book_comment", 0), log, moderate => variable_get("book_moderate", ""), parent, promote => variable_get("book_promote", 0), score => 0, status => variable_get("book_status", $status[queued]), timestamp => time(), title, type => "book", votes => 0, weight)); } else if (user_access($user)) { - node_save($edit, array(body, cid, log, parent, tid, title, type => "book", weight)); + node_save($edit, array(body, log, parent, title, type => "book", weight)); } } @@ -232,7 +232,6 @@ function book_user() { $theme->box($title, book_update($id)); break; case t("Preview"): - book_view(new Book(node_preview($edit))); $theme->box($title, book_form($edit)); break; case t("Submit"): diff --git a/modules/forum.module b/modules/forum.module index 194979ccd..61d05f561 100644 --- a/modules/forum.module +++ b/modules/forum.module @@ -14,8 +14,7 @@ function forum_form($edit = array()) { global $REQUEST_URI; $form .= form_textfield("Subject", "title", $edit[title], 50, 64); - $form .= structure_form("forum", $edit); - $form .= form_textarea("Body", "body", $edit[body], 50, 10); + $form .= form_textarea("Body", "body", $edit[body], 70, 10); $form .= form_hidden("nid", $edit[nid]); $form .= form_submit("Submit"); @@ -26,7 +25,7 @@ function forum_save($edit) { global $user, $status; if (user_access($user)) { - node_save($edit, array(author => $user->id, body, cid, comment => variable_get("forum_comment", 0), moderate => variable_get("forum_moderate", ""), promote => variable_get("forum_promote", 0), score => 0, status => $status[posted], tid, timestamp => time(), title, type => "forum", votes => 0)); + node_save($edit, array(author => $user->id, body, comment => variable_get("forum_comment", 0), moderate => variable_get("forum_moderate", ""), promote => variable_get("forum_promote", 0), score => 0, status => $status[posted], timestamp => time(), title, type => "forum", votes => 0)); } } diff --git a/modules/forum/forum.module b/modules/forum/forum.module index 194979ccd..61d05f561 100644 --- a/modules/forum/forum.module +++ b/modules/forum/forum.module @@ -14,8 +14,7 @@ function forum_form($edit = array()) { global $REQUEST_URI; $form .= form_textfield("Subject", "title", $edit[title], 50, 64); - $form .= structure_form("forum", $edit); - $form .= form_textarea("Body", "body", $edit[body], 50, 10); + $form .= form_textarea("Body", "body", $edit[body], 70, 10); $form .= form_hidden("nid", $edit[nid]); $form .= form_submit("Submit"); @@ -26,7 +25,7 @@ function forum_save($edit) { global $user, $status; if (user_access($user)) { - node_save($edit, array(author => $user->id, body, cid, comment => variable_get("forum_comment", 0), moderate => variable_get("forum_moderate", ""), promote => variable_get("forum_promote", 0), score => 0, status => $status[posted], tid, timestamp => time(), title, type => "forum", votes => 0)); + node_save($edit, array(author => $user->id, body, comment => variable_get("forum_comment", 0), moderate => variable_get("forum_moderate", ""), promote => variable_get("forum_promote", 0), score => 0, status => $status[posted], timestamp => time(), title, type => "forum", votes => 0)); } } diff --git a/modules/index.module b/modules/index.module index 592eca038..0d06a7b22 100644 --- a/modules/index.module +++ b/modules/index.module @@ -7,13 +7,13 @@ function index_get_array($id) { return db_fetch_array(db_query("SELECT * FROM entry WHERE eid = '". check_input($id) ."'")); } -function index_collection_form($name) { +function index_collection_form($name, $selected = "") { $result = db_query("SELECT * FROM entry WHERE collection = '$name'"); while ($entry = db_fetch_object($result)) { $options[$entry->keyword] = $entry->name; } - return form_select($name, $name, "", $options); + return form_select(ucfirst($name), $name, $selected, $options); } function index_collection_link($name) { diff --git a/modules/locale.module b/modules/locale.module index b4f254cc0..065468e9c 100644 --- a/modules/locale.module +++ b/modules/locale.module @@ -66,7 +66,7 @@ function locale_languages($translation) { function locale_overview() { if (variable_get("locale", 0)) { $result = db_query("SELECT * FROM locales ORDER BY string"); - + $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR><TH>string</TH><TH>languages</TH><TH COLSPAN=\"2\">operations</TH><TR>\n"; while ($locale = db_fetch_object($result)) { @@ -74,10 +74,12 @@ function locale_overview() { $output .= " <TR><TD>". check_output($locale->string) ."<BR><SMALL><I>$locale->location</I></SMALL></TD><TD ALIGN=\"center\">$languages</TD><TD><A HREF=\"admin.php?mod=locale&op=edit&id=$locale->id\">edit</A></TD><TD><A HREF=\"admin.php?mod=locale&op=delete&id=$locale->id\">delete</A></TD></TR>"; } $output .= "</TABLE>\n"; - + return $output; } - return "Locale disabled."; + else { + return status("locale disabled."); + } } function locale_admin() { diff --git a/modules/locale/locale.module b/modules/locale/locale.module index b4f254cc0..065468e9c 100644 --- a/modules/locale/locale.module +++ b/modules/locale/locale.module @@ -66,7 +66,7 @@ function locale_languages($translation) { function locale_overview() { if (variable_get("locale", 0)) { $result = db_query("SELECT * FROM locales ORDER BY string"); - + $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; $output .= " <TR><TH>string</TH><TH>languages</TH><TH COLSPAN=\"2\">operations</TH><TR>\n"; while ($locale = db_fetch_object($result)) { @@ -74,10 +74,12 @@ function locale_overview() { $output .= " <TR><TD>". check_output($locale->string) ."<BR><SMALL><I>$locale->location</I></SMALL></TD><TD ALIGN=\"center\">$languages</TD><TD><A HREF=\"admin.php?mod=locale&op=edit&id=$locale->id\">edit</A></TD><TD><A HREF=\"admin.php?mod=locale&op=delete&id=$locale->id\">delete</A></TD></TR>"; } $output .= "</TABLE>\n"; - + return $output; } - return "Locale disabled."; + else { + return status("locale disabled."); + } } function locale_admin() { diff --git a/modules/moderate.module b/modules/moderate.module index ceef124e5..c3db8abab 100644 --- a/modules/moderate.module +++ b/modules/moderate.module @@ -12,11 +12,11 @@ function moderate_overview($query = array()) { $output .= status($query[0]); $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; - $output .= " <TR><TH>node</TH><TH>category / topic</TH><TH>status</TH><TH>author</TH><TH>date</TH><TH>operations</TH></TR>\n"; + $output .= " <TR><TH>node</TH><TH>type</TH><TH>status</TH><TH>author</TH><TH>date</TH><TH>operations</TH></TR>\n"; $r1 = db_query("SELECT n.*, u.userid FROM node n LEFT JOIN users u ON n.author = u.id WHERE n.moderate LIKE '%$user->userid%' ORDER BY n.timestamp DESC LIMIT 30"); while ($node = db_fetch_object($r1)) { - $output .= " <TR><TD><A HREF=\"node.php?id=$node->nid\">". check_output($node->title) ."</A></TD><TD>". category_name($node->cid) ." / ". topic_name($node->tid) ."</TD><TD>". node_status($node->status) ."</TD><TD>". format_username($node->userid) ."</TD><TD>". format_date($node->timestamp, "small") ."</TD><TD><A HREF=\"admin.php?mod=moderate&type=node&op=edit&id=$node->nid\">edit $node->type</A></TD></TR>\n"; + $output .= " <TR><TD><A HREF=\"node.php?id=$node->nid\">". check_output($node->title) ."</A></TD><TD>$node->type</TD><TD>". node_status($node->status) ."</TD><TD>". format_username($node->userid) ."</TD><TD>". format_date($node->timestamp, "small") ."</TD><TD><A HREF=\"admin.php?mod=moderate&type=node&op=edit&id=$node->nid\">edit $node->type</A></TD></TR>\n"; $r2 = db_query("SELECT c.*, u.userid FROM comments c LEFT JOIN users u ON c.author = u.id WHERE c.lid = '$node->nid' ORDER BY c.timestamp DESC"); while ($comment = db_fetch_object($r2)) { diff --git a/modules/node.module b/modules/node.module index 959ddff19..6b1df2c82 100644 --- a/modules/node.module +++ b/modules/node.module @@ -5,9 +5,8 @@ class Node { global $user; $this->userid = $node[userid] ? $node[userid] : $user->userid; $this->title = $node[title]; + $this->timestamp = $node[attribute]; $this->timestamp = $node[timestamp] ? $node[timestamp] : time(); - $this->cid = $node[cid]; - $this->tid = $node[tid]; } } @@ -67,7 +66,7 @@ function node_overview($query) { $color = array("#ffdc9b", "#dedec4"); $query = node_query($query ? $query : 0); - $result = db_query("SELECT n.*, u.userid, c.name AS category FROM node n LEFT JOIN users u ON n.author = u.id LEFT JOIN category c ON n.cid = c.cid $query[1] LIMIT 50"); + $result = db_query("SELECT n.*, u.userid FROM node n LEFT JOIN users u ON n.author = u.id $query[1] LIMIT 50"); $output .= status($query[0]); $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; diff --git a/modules/node/node.module b/modules/node/node.module index 959ddff19..6b1df2c82 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -5,9 +5,8 @@ class Node { global $user; $this->userid = $node[userid] ? $node[userid] : $user->userid; $this->title = $node[title]; + $this->timestamp = $node[attribute]; $this->timestamp = $node[timestamp] ? $node[timestamp] : time(); - $this->cid = $node[cid]; - $this->tid = $node[tid]; } } @@ -67,7 +66,7 @@ function node_overview($query) { $color = array("#ffdc9b", "#dedec4"); $query = node_query($query ? $query : 0); - $result = db_query("SELECT n.*, u.userid, c.name AS category FROM node n LEFT JOIN users u ON n.author = u.id LEFT JOIN category c ON n.cid = c.cid $query[1] LIMIT 50"); + $result = db_query("SELECT n.*, u.userid FROM node n LEFT JOIN users u ON n.author = u.id $query[1] LIMIT 50"); $output .= status($query[0]); $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; diff --git a/modules/page.module b/modules/page.module index 946798d1b..88739cbb4 100644 --- a/modules/page.module +++ b/modules/page.module @@ -2,8 +2,16 @@ $GLOBALS[format] = array(0 => "HTML", 1 => "PHP", 2 => "text"); +class Page { + function Page($page) { + $this = new Node($page); + $this->body = $page[body]; + $this->format = $page[format]; + } +} + function page_view($node, $main = 0) { - global $format, $theme; + global $format; switch ($format[$node->format]) { case "PHP": @@ -24,13 +32,24 @@ function page_status() { } function page_form($edit = array()) { - global $format, $REQUEST_URI; + global $REQUEST_URI, $format; + + if ($edit[title]) { + $form = page_view(new Page(node_preview($edit))); + } $form .= form_textfield("Subject", "title", $edit[title], 50, 64); - $form .= form_textarea("Body", "body", $edit[body], 80, 30); + $form .= form_textarea("Body", "body", $edit[body], 70, 30); $form .= form_select("Type", "format", $edit[format], $format); $form .= form_hidden("nid", $edit[nid]); - $form .= form_submit("Submit"); + + if ($edit[title]) { + $form .= form_submit(t("Preview")); + $form .= form_submit("Submit"); + } + else { + $form .= form_submit(t("Preview")); + } return form($REQUEST_URI, $form); } diff --git a/modules/page/page.module b/modules/page/page.module index 946798d1b..88739cbb4 100644 --- a/modules/page/page.module +++ b/modules/page/page.module @@ -2,8 +2,16 @@ $GLOBALS[format] = array(0 => "HTML", 1 => "PHP", 2 => "text"); +class Page { + function Page($page) { + $this = new Node($page); + $this->body = $page[body]; + $this->format = $page[format]; + } +} + function page_view($node, $main = 0) { - global $format, $theme; + global $format; switch ($format[$node->format]) { case "PHP": @@ -24,13 +32,24 @@ function page_status() { } function page_form($edit = array()) { - global $format, $REQUEST_URI; + global $REQUEST_URI, $format; + + if ($edit[title]) { + $form = page_view(new Page(node_preview($edit))); + } $form .= form_textfield("Subject", "title", $edit[title], 50, 64); - $form .= form_textarea("Body", "body", $edit[body], 80, 30); + $form .= form_textarea("Body", "body", $edit[body], 70, 30); $form .= form_select("Type", "format", $edit[format], $format); $form .= form_hidden("nid", $edit[nid]); - $form .= form_submit("Submit"); + + if ($edit[title]) { + $form .= form_submit(t("Preview")); + $form .= form_submit("Submit"); + } + else { + $form .= form_submit(t("Preview")); + } return form($REQUEST_URI, $form); } diff --git a/modules/poll.module b/modules/poll.module index ba6a0250a..cd9e0e306 100644 --- a/modules/poll.module +++ b/modules/poll.module @@ -28,7 +28,7 @@ function poll_delete($node) { if ($node->nid) { db_query("DELETE FROM poll_choices WHERE nid='" . $node->nid . "'"); - } + } } function poll_get_choices_array($poll) { @@ -87,7 +87,7 @@ function poll_help() { ?> <p>Poll.module allows you to run simple multiple choice polls on your site. After creating the necessary categories, you can add a poll through this administration interface.</p> <p>The poll.module also has a block to show the latest poll. If you combine it with a poll category that doesn't promote to the mainpage, you'll get a side-block only poll system.</p> - <p>If you want to set a limit on the duration of a poll, use the <i>Poll Duration</i> setting. After the specified interval, the poll will automatically be closed, preventing anymore voting.</p> + <p>If you want to set a limit on the duration of a poll, use the <i>Poll Duration</i> setting. After the specified interval, the poll will automatically be closed, preventing anymore voting.</p> <?php } @@ -175,9 +175,13 @@ function poll_form($edit = array(), $nocheck = 0) { 10713600 => t("4 months"), 31536000 => t("1 year")); $active = array(0 => "Closed", 1 => "Active"); - + $admin = ($edit[nid] && user_access($user,"poll")) ? 1 : 0; - + + if ($edit[title]) { + $form .= poll_view(new Poll(node_preview($edit))); + } + if ($admin && !is_array($edit[choices])) $edit = poll_get_choices_array($edit); /* Mini-form for number of choiceboxes */ @@ -198,15 +202,14 @@ function poll_form($edit = array(), $nocheck = 0) { $form .= form_select(t("Poll duration"), "runtime", $edit[runtime] ? $edit[runtime] : t("1 week"), $duration, t("After this period, the poll will automatically be closed.")); if ($admin) $form .= form_select(t("Poll status"), "active", $edit[active], $active); - $form .= structure_form("poll", $edit); - + $form .= node_attributes_edit($edit); // hidden fields: if ($edit[nid] > 0) { $form .= form_hidden("nid", $edit[nid]); } - if ((!$edit) || ($nocheck)) { + if ($nocheck) { $form .= form_submit(t("Preview")); } else if (!$edit[title]) { @@ -229,10 +232,10 @@ function poll_save($edit) { global $status, $user; if (!$edit[nid]) { - $nid = node_save($edit, array(active => 1, author => $user->id, cid, comment => variable_get("poll_comment", 0), moderate => variable_get("poll_moderate", ""), promote => variable_get("poll_promote", 0), runtime, score => 0, status => variable_get("poll_status", $status[queued]), tid, timestamp => time(), title, type => "poll", votes => 0, voters => "")); + $nid = node_save($edit, array(active => 1, attribute => node_attributes_save($edit), author => $user->id, cid, comment => variable_get("poll_comment", 0), moderate => variable_get("poll_moderate", ""), promote => variable_get("poll_promote", 0), runtime, score => 0, status => variable_get("poll_status", $status[queued]), tid, timestamp => time(), title, type => "poll", votes => 0, voters => "")); } else if (user_access($user)) { - $nid = node_save($edit, array(active, cid, tid, runtime, title, type => "poll")); + $nid = node_save($edit, array(active, attribute => node_attributes_save($edit), cid, tid, runtime, title, type => "poll")); db_query("DELETE FROM poll_choices WHERE nid='" . $nid . "'"); } if ($nid) { @@ -270,7 +273,6 @@ function poll_user() { case t("Refresh"): $refresh = 1; case t("Preview"): - poll_view(new Poll(node_preview($edit))); $theme->box(t("Submit"), poll_form($edit, $refresh)); break; case t("Submit"): diff --git a/modules/poll/poll.module b/modules/poll/poll.module index ba6a0250a..cd9e0e306 100644 --- a/modules/poll/poll.module +++ b/modules/poll/poll.module @@ -28,7 +28,7 @@ function poll_delete($node) { if ($node->nid) { db_query("DELETE FROM poll_choices WHERE nid='" . $node->nid . "'"); - } + } } function poll_get_choices_array($poll) { @@ -87,7 +87,7 @@ function poll_help() { ?> <p>Poll.module allows you to run simple multiple choice polls on your site. After creating the necessary categories, you can add a poll through this administration interface.</p> <p>The poll.module also has a block to show the latest poll. If you combine it with a poll category that doesn't promote to the mainpage, you'll get a side-block only poll system.</p> - <p>If you want to set a limit on the duration of a poll, use the <i>Poll Duration</i> setting. After the specified interval, the poll will automatically be closed, preventing anymore voting.</p> + <p>If you want to set a limit on the duration of a poll, use the <i>Poll Duration</i> setting. After the specified interval, the poll will automatically be closed, preventing anymore voting.</p> <?php } @@ -175,9 +175,13 @@ function poll_form($edit = array(), $nocheck = 0) { 10713600 => t("4 months"), 31536000 => t("1 year")); $active = array(0 => "Closed", 1 => "Active"); - + $admin = ($edit[nid] && user_access($user,"poll")) ? 1 : 0; - + + if ($edit[title]) { + $form .= poll_view(new Poll(node_preview($edit))); + } + if ($admin && !is_array($edit[choices])) $edit = poll_get_choices_array($edit); /* Mini-form for number of choiceboxes */ @@ -198,15 +202,14 @@ function poll_form($edit = array(), $nocheck = 0) { $form .= form_select(t("Poll duration"), "runtime", $edit[runtime] ? $edit[runtime] : t("1 week"), $duration, t("After this period, the poll will automatically be closed.")); if ($admin) $form .= form_select(t("Poll status"), "active", $edit[active], $active); - $form .= structure_form("poll", $edit); - + $form .= node_attributes_edit($edit); // hidden fields: if ($edit[nid] > 0) { $form .= form_hidden("nid", $edit[nid]); } - if ((!$edit) || ($nocheck)) { + if ($nocheck) { $form .= form_submit(t("Preview")); } else if (!$edit[title]) { @@ -229,10 +232,10 @@ function poll_save($edit) { global $status, $user; if (!$edit[nid]) { - $nid = node_save($edit, array(active => 1, author => $user->id, cid, comment => variable_get("poll_comment", 0), moderate => variable_get("poll_moderate", ""), promote => variable_get("poll_promote", 0), runtime, score => 0, status => variable_get("poll_status", $status[queued]), tid, timestamp => time(), title, type => "poll", votes => 0, voters => "")); + $nid = node_save($edit, array(active => 1, attribute => node_attributes_save($edit), author => $user->id, cid, comment => variable_get("poll_comment", 0), moderate => variable_get("poll_moderate", ""), promote => variable_get("poll_promote", 0), runtime, score => 0, status => variable_get("poll_status", $status[queued]), tid, timestamp => time(), title, type => "poll", votes => 0, voters => "")); } else if (user_access($user)) { - $nid = node_save($edit, array(active, cid, tid, runtime, title, type => "poll")); + $nid = node_save($edit, array(active, attribute => node_attributes_save($edit), cid, tid, runtime, title, type => "poll")); db_query("DELETE FROM poll_choices WHERE nid='" . $nid . "'"); } if ($nid) { @@ -270,7 +273,6 @@ function poll_user() { case t("Refresh"): $refresh = 1; case t("Preview"): - poll_view(new Poll(node_preview($edit))); $theme->box(t("Submit"), poll_form($edit, $refresh)); break; case t("Submit"): diff --git a/modules/story.module b/modules/story.module index 5bb61851b..3e6f428ce 100644 --- a/modules/story.module +++ b/modules/story.module @@ -38,21 +38,22 @@ function story_view($node, $main = 0) { function story_form($edit = array()) { global $REQUEST_URI, $user; + if ($edit[title]) { + story_view(new Story(node_preview($edit))); + } + $form .= form_item(t("Your name"), format_username(($edit[userid] ? $edit[userid] : $user->userid))); $form .= form_hidden("userid", $edit[userid]); $form .= form_textfield(t("Subject"), "title", $edit[title], 50, 64); - $form .= structure_form("story", $edit); - $form .= form_textarea(t("Abstract"), "abstract", $edit[abstract], 50, 10, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); - $form .= form_textarea(t("Body"), "body", $edit[body], 50, 15, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); + $form .= node_attributes_edit($edit); + $form .= form_textarea(t("Abstract"), "abstract", $edit[abstract], 70, 10, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); + $form .= form_textarea(t("Body"), "body", $edit[body], 70, 20, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); if ($edit[nid] > 0) { $form .= form_hidden("nid", $edit[nid]); } - if (!$edit) { - $form .= form_submit(t("Preview")); - } - else if (!$edit[title]) { + if (!$edit[title]) { $form .= "<FONT COLOR=\"red\">". t("Warning: you did not supply a subject.") ."</FONT><P>\n"; $form .= form_submit(t("Preview")); } @@ -72,10 +73,10 @@ function story_save($edit) { global $status, $user; if (!$edit[nid]) { - node_save($edit, array(abstract, author => $user->id, body, cid, comment => variable_get("story_comment", 0), moderate => variable_get("story_moderate", ""), promote => variable_get("story_promote", 0), score => 0, status => variable_get("story_status", $status[queued]), tid, timestamp => time(), title, type => "story", votes => 0)); + node_save($edit, array(abstract, attribute => node_attributes_save($edit), author => $user->id, body, comment => variable_get("story_comment", 0), moderate => variable_get("story_moderate", ""), promote => variable_get("story_promote", 0), score => 0, status => variable_get("story_status", $status[queued]), timestamp => time(), title, type => "story", votes => 0)); } else if (user_access($user)) { - node_save($edit, array(abstract, body, cid, tid, title, type => "story")); + node_save($edit, array(abstract, attribute => node_attributes_save($edit), body, title, type => "story")); } } @@ -84,7 +85,6 @@ function story_user() { switch($op) { case t("Preview"): - story_view(new Story(node_preview($edit))); $theme->box(t("Submit"), story_form($edit)); break; case t("Submit"): diff --git a/modules/story/story.module b/modules/story/story.module index 5bb61851b..3e6f428ce 100644 --- a/modules/story/story.module +++ b/modules/story/story.module @@ -38,21 +38,22 @@ function story_view($node, $main = 0) { function story_form($edit = array()) { global $REQUEST_URI, $user; + if ($edit[title]) { + story_view(new Story(node_preview($edit))); + } + $form .= form_item(t("Your name"), format_username(($edit[userid] ? $edit[userid] : $user->userid))); $form .= form_hidden("userid", $edit[userid]); $form .= form_textfield(t("Subject"), "title", $edit[title], 50, 64); - $form .= structure_form("story", $edit); - $form .= form_textarea(t("Abstract"), "abstract", $edit[abstract], 50, 10, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); - $form .= form_textarea(t("Body"), "body", $edit[body], 50, 15, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); + $form .= node_attributes_edit($edit); + $form .= form_textarea(t("Abstract"), "abstract", $edit[abstract], 70, 10, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); + $form .= form_textarea(t("Body"), "body", $edit[body], 70, 20, t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", ""))); if ($edit[nid] > 0) { $form .= form_hidden("nid", $edit[nid]); } - if (!$edit) { - $form .= form_submit(t("Preview")); - } - else if (!$edit[title]) { + if (!$edit[title]) { $form .= "<FONT COLOR=\"red\">". t("Warning: you did not supply a subject.") ."</FONT><P>\n"; $form .= form_submit(t("Preview")); } @@ -72,10 +73,10 @@ function story_save($edit) { global $status, $user; if (!$edit[nid]) { - node_save($edit, array(abstract, author => $user->id, body, cid, comment => variable_get("story_comment", 0), moderate => variable_get("story_moderate", ""), promote => variable_get("story_promote", 0), score => 0, status => variable_get("story_status", $status[queued]), tid, timestamp => time(), title, type => "story", votes => 0)); + node_save($edit, array(abstract, attribute => node_attributes_save($edit), author => $user->id, body, comment => variable_get("story_comment", 0), moderate => variable_get("story_moderate", ""), promote => variable_get("story_promote", 0), score => 0, status => variable_get("story_status", $status[queued]), timestamp => time(), title, type => "story", votes => 0)); } else if (user_access($user)) { - node_save($edit, array(abstract, body, cid, tid, title, type => "story")); + node_save($edit, array(abstract, attribute => node_attributes_save($edit), body, title, type => "story")); } } @@ -84,7 +85,6 @@ function story_user() { switch($op) { case t("Preview"): - story_view(new Story(node_preview($edit))); $theme->box(t("Submit"), story_form($edit)); break; case t("Submit"): diff --git a/modules/structure.module b/modules/structure.module deleted file mode 100644 index 823da5254..000000000 --- a/modules/structure.module +++ /dev/null @@ -1,157 +0,0 @@ -<?php - -function content_types($name) { - global $types; - if (function_exists($name ."_status")) $types[$name] = $name; -} - -function category_form($edit = array()) { - global $types; - - $threshold_post = array(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 20 => 20, 25 => 25, 30 => 30, 35 => 35, 40 => 40, 45 => 45, 50 => 50, 60 => 60, 70 => 70, 80 => 80, 90 => 90, 100 => 100); - $threshold_dump = array(-1 => -1, -2 => -2, -3 => -3, -4 => -4, -5 => -5, -6 => -6, -7 => -7, -8 => -8, -9 => -9, -10 => -10, -11 => -11, -12 => -12, -13 => -13, -14 => -14, -15 => -15, -20 => -20, -25 => -25, -30 => -30); - $threshold_expire = array(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 20 => 20, 25 => 25, 30 => 30, 35 => 35, 40 => 40, 45 => 45, 50 => 50, 60 => 60, 70 => 70, 80 => 80, 90 => 90, 100 => 100); - - module_iterate("content_types"); - - $form .= form_textfield(t("Name"), "name", $edit[name], 30, 55, t("A unique name for this category like 'announcement', 'article', 'column', 'review', etc.")); - $form .= form_select(t("Content type"), "type", $edit[type], $types, t("The content type to bind or associate this category with.")); - $form .= form_select(t("Comment"), "comment", $edit[comment], node_comment_status(), t("By default, allow or dissallow users to post comments in this category.")); - $form .= form_select(t("Promote"), "promote", $edit[promote], node_promote_status(), t("By default, promote new submissions in this category to the front page.")); - - $form .= form_select(t("Submission"), "submission", $edit[submission], node_submission_status(), t("What to do with new submissions in this category?")); - $form .= form_select(t("Post threshold"), "post", $edit[post], $threshold_post, t("If new submissions are subject to moderation, select a post threshold.")); - $form .= form_select(t("Dump threshold"), "dump", $edit[dump], $threshold_dump, t("If new submissions are subject to moderation, select a dump threshold.")); - $form .= form_select(t("Expiration threshold"), "expire", $edit[expire], $threshold_expire, t("If new submissions are subject to moderation, select a expiration threshold.")); - - if ($edit[cid]) { - $form .= form_hidden("cid", $edit[cid]); - $form .= form_submit(t("Save category")); - $form .= form_submit(t("Delete category")); - } - else { - $form .= form_submit(t("Save category")); - } - - return form("admin.php?mod=structure&type=category", $form); -} - -function category_overview() { - $result = db_query("SELECT * FROM category ORDER BY name"); - - $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; - $output .= " <TR><TH>name</TH><TH>type</TH><TH>comment</TH><TH>promote</TH><TH>submissions</TH><TH>operations</TH></TR>\n"; - while ($category = db_fetch_object($result)) { - $output .= " <TR><TD>". check_output($category->name) ."</TD><TD>". check_output($category->type) ."</TD><TD>". node_comment_status($category->comment) ."</TD><TD>". node_promote_status($category->promote) ."</TD><TD>". node_submission_status($category->submission) ."". ($category->submission ? "<BR><SMALL>post: $category->post, dump: $category->dump, expire: $category->expire</SMALL>" : "") ."</TD><TD><A HREF=\"admin.php?mod=structure&type=category&op=edit&id=$category->cid\">edit category</A></TD></TR>\n"; - } - $output .= "</TABLE>\n"; - return $output; -} - -// ---- topic ---- - -function topic_form($edit = array()) { - - $result = db_query("SELECT * FROM topic WHERE name != '$edit[name]' ORDER BY name DESC"); - while ($topic = db_fetch_object($result)) { - $topics[$topic->tid] = $topic->name; - } - $topics[0] = " "; - - $form .= form_textfield(t("Name"), "name", $edit[name], 30, 55, t("A unique name for this topic like 'science', 'internet', 'culture', etc.")); - $form .= form_select(t("Parent"), "pid", $edit[pid], $topics, t("The parent topic this topic belongs in.")); - $form .= form_textfield("Moderate", "moderate", $edit[moderate], 35, 255, t("Provide a comma-seperated list of the moderators' usernames.")); - - if ($edit[tid]) { - $form .= form_hidden("tid", $edit[tid]); - $form .= form_submit(t("Save topic")); - $form .= form_submit(t("Delete topic")); - } - else { - $form .= form_submit(t("Save topic")); - } - - return form("admin.php?mod=structure&type=topic", $form); -} - -function topic_overview() { - $tree = topic_tree(); - - $output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n"; - $output .= " <TR><TH>name</TH><TH>moderators</TH><TH>operations</TH></TR>\n"; - foreach ($tree as $id=>$name) { - $topic = topic_get_object("tid", $id); - $output .= " <TR><TD>". check_output($name) ."</TD><TD>". check_output($topic->moderate) ."</TD><TD><A HREF=\"admin.php?mod=structure&type=topic&op=edit&id=$topic->tid\">edit topic</A></TD></TR>\n"; - } - $output .= "</TABLE>\n"; - return $output; -} - -// ----- structure ----- - -function structure_overview() { - $output .= "<H3>Categories</H3>\n"; - $output .= category_overview(); - $output .= "<H3>Topics</H3>\n"; - $output .= topic_overview(); - return $output; -} - -function structure_admin() { - global $id, $op, $type, $edit; - - print "<SMALL><A HREF=\"admin.php?mod=structure&type=category&op=add\">add new category</A> | <A HREF=\"admin.php?mod=structure&type=topic&op=add\">add new topic</A> | <A HREF=\"admin.php?mod=structure\">overview</A></SMALL><HR>\n"; - - switch ($type) { - case "category": - switch ($op) { - case "add": - print category_form(); - break; - case "edit": - print category_form(category_get_array("cid", $id)); - break; - case "view": - print category_view($id); - break; - case "Delete category": - print status(category_del($edit[cid])); - print structure_overview(); - break; - case "Save category": - print status(category_save($edit)); - print structure_overview(); - break; - default: - print structure_overview(); - } - break; - case "topic": - switch ($op) { - case "add": - print topic_form(); - break; - case "edit": - print topic_form(topic_get_array("tid", $id)); - break; - case "view": - print topic_view($id); - break; - case "Delete topic": - print status(topic_del($edit[tid])); - print structure_overview(); - break; - case "Save topic": - print status(topic_save($edit)); - print structure_overview(); - break; - default: - print structure_overview(); - } - break; - default: - print structure_overview(); - } -} - -?>
\ No newline at end of file diff --git a/submit.php b/submit.php index 3d5d0af19..bff09fac3 100644 --- a/submit.php +++ b/submit.php @@ -9,13 +9,11 @@ if ($user->id) { module_invoke($mod, "user"); } else { - $result = db_query("SELECT * FROM category"); - - while ($category = db_fetch_object($result)) { - if (module_hook($category->type, "user")) $options .= "<OPTION VALUE=\"$category->type\">$category->name</OPTION>"; + foreach (module_list() as $name) { + if (module_hook($name, "user")) $options .= "<OPTION VALUE=\"$name\">$name</OPTION>"; } - $form .= form_item(t("Category"), "<SELECT NAME=\"mod\">$options</SELECT>"); + $form .= form_item(t("Type"), "<SELECT NAME=\"mod\">$options</SELECT>"); $form .= form_submit(t("Next step")); $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>"; diff --git a/themes/example/example.theme b/themes/example/example.theme index ad8a92cff..caa3c9518 100644 --- a/themes/example/example.theme +++ b/themes/example/example.theme @@ -10,7 +10,7 @@ *********************************************************************/ class Theme extends BaseTheme { - // General colorset that can be used for this theme + // General colorset that can be used for this theme var $foreground = "#000000"; var $background = "#FFFFFF"; @@ -69,7 +69,7 @@ </TD> <TD ALIGN="right"> <?php - echo category_name($node->cid) ." / ". topic_name($node->tid); + echo node_index($node->attribute); ?> </TD> </TR> diff --git a/themes/goofy/goofy.theme b/themes/goofy/goofy.theme index c51d438a7..56c28dd78 100644 --- a/themes/goofy/goofy.theme +++ b/themes/goofy/goofy.theme @@ -12,7 +12,7 @@ *********************************************************************/ class Theme extends BaseTheme { - // General colorset that can be used for this theme + // General colorset that can be used for this theme var $foreground = "#000000"; var $background = "#FFFFFF"; @@ -103,13 +103,12 @@ function c(subject,mod,author,date,body) {document.writeln("<table border=\"0\" echo "\n<!-- node: \"$node->title\" -->\n"; $title = check_output($node->title); $subleft = strtr(t("Submitted by %a on %b"), array("%a" => format_username($node->userid), "%b" => format_date($node->timestamp, "large"))); - $subright = category_name($node->cid) ." / ". topic_name($node->tid); + $subright = node_index($node->attribute); $body = check_output($node->body, 1) . ($main || $links ? "<hr color=\"#404040\" size=\"1\"><div align=\"right\">" . $this->links($links, $main, $node) . "</div>" : ""); print "<script language=\"JavaScript\"><!--\ns(\"". $this->stripbreaks(addslashes($title)) ."\",\"". $this->stripbreaks(addslashes($subleft)) ."\",\"". $this->stripbreaks(addslashes($subright)) ."\",\"". $this->stripbreaks(addslashes($body)) ."\"); // -->\n</script>\n"; } // close node function - function comment($comment, $link = "") { echo "<A NAME=\"$comment->cid\"></A>\n"; @@ -125,7 +124,6 @@ function c(subject,mod,author,date,body) {document.writeln("<table border=\"0\" } // close comment function - function stripbreaks($a) { // helper function for generating the javascripted boxes return str_replace("\n","\\n",str_replace("\r","\\r",$a)); } // close stripbreaks function @@ -136,9 +134,6 @@ function c(subject,mod,author,date,body) {document.writeln("<table border=\"0\" } // close box function - - - function footer() { ?> </td> diff --git a/themes/jeroen/jeroen.theme b/themes/jeroen/jeroen.theme index 56eea6346..26bb678b5 100644 --- a/themes/jeroen/jeroen.theme +++ b/themes/jeroen/jeroen.theme @@ -10,10 +10,10 @@ *********************************************************************/ class Theme extends BaseTheme { - // General colorset that can be used for this theme + // General colorset that can be used for this theme var $foreground = "#000000"; var $background = "#E7E7E7"; - + /* I am going to use some colors throughout this theme: #000000 : black used for all links and the table in every box you'll see, I use it to create the thin black border around each. @@ -122,7 +122,7 @@ </FONT> </td> <?php - echo "<td align=\"right\" background=\"themes/jeroen/images/menutitle.gif\" nowrap><b>". category_name($node->cid) ." / ". topic_name($node->tid) ."</b>"; + echo "<td align=\"right\" background=\"themes/jeroen/images/menutitle.gif\" nowrap><b>". node_index($node->attribute) ."</b>"; ?> </td> </tr> diff --git a/themes/marvin/marvin.theme b/themes/marvin/marvin.theme index ab76f8fe1..108f4acfc 100644 --- a/themes/marvin/marvin.theme +++ b/themes/marvin/marvin.theme @@ -13,7 +13,7 @@ class Theme extends BaseTheme { var $link = "#666699"; - // General colorset that can be used for this theme + // General colorset that can be used for this theme var $foreground = "#000000"; var $background = "#EAEAEA"; @@ -48,29 +48,6 @@ <?php } - function story($story, $main = 0) { - print "\n<!-- story: \"$story->title\" -->\n"; - print "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"2\" WIDTH=\"100%\">\n"; - print " <TR><TD COLSPAN=\"2\"><IMG SRC=\"themes/marvin/images/drop.gif\" ALT=\"\"> <B>". check_output($story->title) ."</B></TD></TR>\n"; - print " <TR VALIGN=\"bottom\"><TD COLSPAN=\"2\" BGCOLOR=\"#000000\" WIDTH=\"100%\"><IMG SRC=\"themes/marvin/images/pixel.gif\" WIDTH=\"1\" HEIGHT=\"0\" ALT=\"\"></TD></TR>\n"; - print " <TR>\n"; - print " <TD>\n"; - print " <FONT COLOR=\"#7C7C7C\"><SMALL>". strtr(t("Submitted by %a on %b"), array("%a" => format_username($story->userid), "%b" => format_date($story->timestamp, "large"))); ?><?php print "</SMALL></FONT></TD><TD ALIGN=\"right\" VALIGN=\"top\" NOWRAP><SMALL>". category_name($story->cid) ." / ". topic_name($story->tid) ."</SMALL>\n"; - print " </TD>\n"; - print " </TR>\n"; - print " <TR><TD COLSPAN=\"2\"> </TD></TR>\n"; - print " <TR>\n"; - print " <TD COLSPAN=\"2\">\n"; - if ($story->abstract) print "<P>". check_output($story->abstract, 1) ."</P>\n"; - if (!$main && $story->body) print " <P>". check_output($story->body, 1) ."</P>\n"; - print " </TD>\n"; - print " </TR>\n"; - print " <TR><TD COLSPAN=\"2\"> </TD></TR>\n"; - if ($main || $links) print " <TR><TD COLSPAN=\"2\">". $this->links($links, $main, $node) ."</TD></TR>\n"; - print "</TABLE>\n"; - print "<BR><BR>\n\n"; - } - function node($node, $main = 0, $links = 0) { print "\n<!-- node: \"$node->title\" -->\n"; print "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"2\" WIDTH=\"100%\">\n"; @@ -78,7 +55,7 @@ print " <TR VALIGN=\"bottom\"><TD COLSPAN=\"2\" BGCOLOR=\"#000000\" WIDTH=\"100%\"><IMG SRC=\"themes/marvin/images/pixel.gif\" WIDTH=\"1\" HEIGHT=\"0\" ALT=\"\"></TD></TR>\n"; print " <TR>\n"; print " <TD>\n"; - print " <FONT COLOR=\"#7C7C7C\"><SMALL>". strtr(t("Submitted by %a on %b"), array("%a" => format_username($node->userid), "%b" => format_date($node->timestamp, "large"))); ?><?php print "</SMALL></FONT></TD><TD ALIGN=\"right\" VALIGN=\"top\" NOWRAP><SMALL>". category_name($node->cid) ." / ". topic_name($node->tid) ."</SMALL>\n"; + print " <FONT COLOR=\"#7C7C7C\"><SMALL>". strtr(t("Submitted by %a on %b"), array("%a" => format_username($node->userid), "%b" => format_date($node->timestamp, "large"))); ?><?php print "</SMALL></FONT></TD><TD ALIGN=\"right\" VALIGN=\"top\" NOWRAP><SMALL>". node_index($node->attribute) ."</SMALL>\n"; print " </TD>\n"; print " </TR>\n"; print " <TR><TD COLSPAN=\"2\"> </TD></TR>\n"; diff --git a/themes/unconed/unconed.theme b/themes/unconed/unconed.theme index 54c938dd5..cd20fe3ab 100644 --- a/themes/unconed/unconed.theme +++ b/themes/unconed/unconed.theme @@ -42,8 +42,6 @@ <HTML> <HEAD> <TITLE><?php echo variable_get(site_name, "drupal"); ?></TITLE> - <META NAME="description" CONTENT="drop.org"> - <META NAME="keywords" CONTENT="drop, weblog, portal, community, news, article, announcements, stories, story, computer, science, space, hype, cult, geek, nerd, foo, bar"> </HEAD> <STYLE type="text/css"> <!-- @@ -91,7 +89,7 @@ <TR><TD COLSPAN="2" BGCOLOR="<?php echo $this->bgcolor1; ?>" WIDTH="100%"><table width="100%" cellpadding="0" cellspacing="0"><tr><td width="100%"><FONT COLOR="<?php echo $this->fgcolor1; ?>"><B><?php echo "". check_output($node->title) .""; ?></B></FONT></td><td valign="middle" align="center"><IMG SRC="themes/<?php print $this->themename; ?>/images/icon.gif" valign="middle"></td></tr></table></TD></TR> <TR BGCOLOR="<?php echo $this->bgcolor2; ?>"> <?php - print "<TD WIDTH=\"70%\" BGCOLOR=\"$this->bgcolor2\"><SMALL>" . strtr(t("Submitted by %a on %b"), array("%a" => format_username($node->userid), "%b" => format_date($node->timestamp, "large"))) . "</TD><TD WIDTH=\"30%\" BGCOLOR=\"$this->bgcolor2\" ALIGN=\"center\" NOWRAP><B>". category_name($node->cid) ." / ". topic_name($node->tid) ."</B>"; + print "<TD WIDTH=\"70%\" BGCOLOR=\"$this->bgcolor2\"><SMALL>" . strtr(t("Submitted by %a on %b"), array("%a" => format_username($node->userid), "%b" => format_date($node->timestamp, "large"))) . "</TD><TD WIDTH=\"30%\" BGCOLOR=\"$this->bgcolor2\" ALIGN=\"center\" NOWRAP><B>". node_index($node->attribute) ."</B>"; ?> </TD> </TR> diff --git a/themes/yaroon/yaroon.theme b/themes/yaroon/yaroon.theme index d509606bf..4aefd8a1a 100644 --- a/themes/yaroon/yaroon.theme +++ b/themes/yaroon/yaroon.theme @@ -12,7 +12,7 @@ class Theme extends BaseTheme { var $foreground = "#000000"; var $background = "#F0F0F0"; - + function header() { global $PHP_SELF, $REQUEST_URI, $cid, $id; @@ -110,7 +110,7 @@ <?php } // close header function - + function node($node, $main = 0, $links = 0) { diff --git a/updates/2.00-to-x.xx.sql b/updates/2.00-to-x.xx.sql index c0c1890ce..da1b0bd05 100644 --- a/updates/2.00-to-x.xx.sql +++ b/updates/2.00-to-x.xx.sql @@ -215,3 +215,7 @@ ALTER TABLE node ADD timestamp_posted int(11) NOT NULL; ALTER TABLE node ADD timestamp_queued int(11) NOT NULL; ALTER TABLE node ADD timestamp_hidden int(11) NOT NULL; ALTER TABLE node ADD attribute varchar(255) DEFAULT '' NOT NULL; + +# 10/06/01 +ALTER TABLE node DROP cid; +ALTER TABLE node DROP tid; |