Commit a5b0525a authored by Dries's avatar Dries
Browse files

- Forum module improvements.
parent 9c044fff
...@@ -232,7 +232,7 @@ function _forum_last_reply($nid) { ...@@ -232,7 +232,7 @@ function _forum_last_reply($nid) {
function _forum_format($topic) { function _forum_format($topic) {
if ($topic) { if ($topic) {
return t("%date<br />by %author", array("%date" => format_date($topic->timestamp, "small"), "%author" => format_name($topic))); return t("%time ago<br />by %author", array("%time" => format_interval(time() - $topic->timestamp), "%author" => format_name($topic)));
} }
else { else {
return message_na(); return message_na();
...@@ -517,47 +517,51 @@ function theme_forum_list($forums, $parents, $tid) { ...@@ -517,47 +517,51 @@ function theme_forum_list($forums, $parents, $tid) {
foreach ($forums as $forum) { foreach ($forums as $forum) {
if ($forum->container) { if ($forum->container) {
$forum->num_topics = ""; $description = "<div style=\"margin-left: ". ($forum->depth * 30) ."px;\">\n";
$forum->num_posts = ""; $description .= " <div class=\"name\">". l($forum->name, "forum/$forum->tid") ."</div>\n";
$forum->last_post = "";
$new_topics = 0; if ($forum->description) {
$links = array(); $description .= " <div class=\"description\">$forum->description</div>\n";
}
$description .= "</div>\n";
$rows[] = array(array("data" => $description, "class" => "container", "colspan" => 4));
} }
else { else {
if ($user->uid) { if ($user->uid) {
$new_topics = $forum->num_topics - $forum->old_topics; $new_topics = $forum->num_topics - $forum->old_topics;
} }
else {
$new_topics = 0;
}
$links = array(); $links = array();
if ($forum->last_post) {
$links[] = l(t("the most recent topic"), "node/view/". $forum->last_post->nid);
}
if ($new_topics) { if ($new_topics) {
$links[] = l(t("the first new topic"), "forum/$forum->tid/new"); $links[] = l(t("newest topic"), "forum/$forum->tid/new");
} }
}
$description = "<div class=\"forum\" style=\"margin-left: ". ($forum->depth * 30) ."px;\">\n"; if ($forum->last_post) {
$description .= " <div class=\"name\">". l($forum->name, "forum/$forum->tid") ."</div>\n"; $links[] = l(t("active topic"), "node/view/". $forum->last_post->nid);
}
if ($forum->description) {
$description .= " <div class=\"description\">$forum->description</div>\n";
}
if ($links) {
$description .= " <div class=\"navigation\">". t("Jump to: %links", array("%links" => implode(", ", $links))) .".</div>\n";
}
$description .= "</div>\n";
$rows[] = array( $description = "<div style=\"margin-left: ". ($forum->depth * 30) ."px;\">\n";
array("data" => $description, "class" => "description"), $description .= " <div class=\"name\">". l($forum->name, "forum/$forum->tid") ."</div>\n";
array("data" => $forum->num_topics . ($new_topics ? "<br />(". t("%a new", array("%a" => $new_topics)) .")" : ""), "class" => "topics"),
array("data" => $forum->num_posts, "class" => "posts"),
array("data" => ($forum->container ? "" : _forum_format($forum->last_post)), "class" => "last-reply")
); if ($forum->description) {
$description .= " <div class=\"description\">$forum->description</div>\n";
}
if ($links) {
$description .= " <div class=\"links\">". t("Jump to: %links", array("%links" => implode(", ", $links))) .".</div>\n";
}
$description .= "</div>\n";
$rows[] = array(
array("data" => $description, "class" => "forum"),
array("data" => $forum->num_topics . ($new_topics ? "<br />(". t("%a new", array("%a" => $new_topics)) .")" : ""), "class" => "topics"),
array("data" => $forum->num_posts, "class" => "posts"),
array("data" => _forum_format($forum->last_post), "class" => "last-reply"));
}
} }
} }
......
...@@ -232,7 +232,7 @@ function _forum_last_reply($nid) { ...@@ -232,7 +232,7 @@ function _forum_last_reply($nid) {
function _forum_format($topic) { function _forum_format($topic) {
if ($topic) { if ($topic) {
return t("%date<br />by %author", array("%date" => format_date($topic->timestamp, "small"), "%author" => format_name($topic))); return t("%time ago<br />by %author", array("%time" => format_interval(time() - $topic->timestamp), "%author" => format_name($topic)));
} }
else { else {
return message_na(); return message_na();
...@@ -517,47 +517,51 @@ function theme_forum_list($forums, $parents, $tid) { ...@@ -517,47 +517,51 @@ function theme_forum_list($forums, $parents, $tid) {
foreach ($forums as $forum) { foreach ($forums as $forum) {
if ($forum->container) { if ($forum->container) {
$forum->num_topics = ""; $description = "<div style=\"margin-left: ". ($forum->depth * 30) ."px;\">\n";
$forum->num_posts = ""; $description .= " <div class=\"name\">". l($forum->name, "forum/$forum->tid") ."</div>\n";
$forum->last_post = "";
$new_topics = 0; if ($forum->description) {
$links = array(); $description .= " <div class=\"description\">$forum->description</div>\n";
}
$description .= "</div>\n";
$rows[] = array(array("data" => $description, "class" => "container", "colspan" => 4));
} }
else { else {
if ($user->uid) { if ($user->uid) {
$new_topics = $forum->num_topics - $forum->old_topics; $new_topics = $forum->num_topics - $forum->old_topics;
} }
else {
$new_topics = 0;
}
$links = array(); $links = array();
if ($forum->last_post) {
$links[] = l(t("the most recent topic"), "node/view/". $forum->last_post->nid);
}
if ($new_topics) { if ($new_topics) {
$links[] = l(t("the first new topic"), "forum/$forum->tid/new"); $links[] = l(t("newest topic"), "forum/$forum->tid/new");
} }
}
$description = "<div class=\"forum\" style=\"margin-left: ". ($forum->depth * 30) ."px;\">\n"; if ($forum->last_post) {
$description .= " <div class=\"name\">". l($forum->name, "forum/$forum->tid") ."</div>\n"; $links[] = l(t("active topic"), "node/view/". $forum->last_post->nid);
}
if ($forum->description) {
$description .= " <div class=\"description\">$forum->description</div>\n";
}
if ($links) {
$description .= " <div class=\"navigation\">". t("Jump to: %links", array("%links" => implode(", ", $links))) .".</div>\n";
}
$description .= "</div>\n";
$rows[] = array( $description = "<div style=\"margin-left: ". ($forum->depth * 30) ."px;\">\n";
array("data" => $description, "class" => "description"), $description .= " <div class=\"name\">". l($forum->name, "forum/$forum->tid") ."</div>\n";
array("data" => $forum->num_topics . ($new_topics ? "<br />(". t("%a new", array("%a" => $new_topics)) .")" : ""), "class" => "topics"),
array("data" => $forum->num_posts, "class" => "posts"),
array("data" => ($forum->container ? "" : _forum_format($forum->last_post)), "class" => "last-reply")
); if ($forum->description) {
$description .= " <div class=\"description\">$forum->description</div>\n";
}
if ($links) {
$description .= " <div class=\"links\">". t("Jump to: %links", array("%links" => implode(", ", $links))) .".</div>\n";
}
$description .= "</div>\n";
$rows[] = array(
array("data" => $description, "class" => "forum"),
array("data" => $forum->num_topics . ($new_topics ? "<br />(". t("%a new", array("%a" => $new_topics)) .")" : ""), "class" => "topics"),
array("data" => $forum->num_posts, "class" => "posts"),
array("data" => _forum_format($forum->last_post), "class" => "last-reply"));
}
} }
} }
......
...@@ -60,7 +60,7 @@ pre { ...@@ -60,7 +60,7 @@ pre {
} }
table { table {
/* make <td> sizes relative to body size! */ /* make <td> sizes relative to body size! */
font-size: 1em; /* font-size: 1em; */
} }
.form-item { .form-item {
margin-top: 1em; margin-top: 1em;
...@@ -269,15 +269,31 @@ table { ...@@ -269,15 +269,31 @@ table {
#tracker td { #tracker td {
vertical-align: top; vertical-align: top;
padding: 1em 1em 1em 0; padding: 1em 1em 1em 0;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #bbb;
} }
#forum td { #forum td {
padding: 0.5em 0.5em 0.5em 0.5em; padding: 0.5em 0.5em 0.5em 0.5em;
} }
#forum td.container {
background-color: #ccc;
}
#forum td.container a {
color: #555;
}
#forum td.statistics, #forum td.settings, #forum td.pager { #forum td.statistics, #forum td.settings, #forum td.pager {
height: 1.5em; height: 1.5em;
border: 1px solid #bbb; border: 1px solid #bbb;
} }
#forum td .name {
color: #96c;
}
#forum td .links {
padding-top: 0.7em;
font-size: 0.9em;
}
#forum td .links a {
color: #77a;
}
.block-forum h3 { .block-forum h3 {
margin-bottom: .5em; margin-bottom: .5em;
} }
......
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