function theme_account($theme) {
global $user, $site_name;
if ($user->id) {
function submission_number() {
$result = db_query("SELECT COUNT(id) FROM stories WHERE status = 1");
return ($result) ? db_result($result, 0) : 0;
}
### Display account settings:
$content .= "
track your comments \n";
$content .= "track your stories \n";
$content .= "track $site_name \n";
$content .= "\n";
$content .= "
submission queue (". submission_number() ." ) \n";
$content .= "\n";
$content .= "
edit your diary \n";
$content .= "edit user settings \n";
$content .= "edit site settings \n";
$content .= "edit content settings \n";
$content .= "\n";
$content .= "
view your diary \n";
$content .= "view user settings \n";
$content .= "\n";
$content .= "
logout \n";
$theme->box("$user->userid's configuration", "$content");
}
else {
$output .= "\n";
$output .= " \n";
$output .= " \n";
$theme->box("Login", $output);
}
}
function theme_main_blocks($theme) {
global $PHP_SELF, $user, $id;
switch (strtok($PHP_SELF, ".")) {
case "/discussion":
if ($user->id) $story = db_fetch_object(db_query("SELECT * FROM stories WHERE id = '$id'"));
if ($story->status == 1) theme_moderation_results($theme, $story);
else theme_new_headlines($theme);
break;
default:
theme_account($theme);
}
}
function theme_user_blocks($theme) {
global $PHP_SELF, $repository, $user;
if ($user->id && strstr($PHP_SELF, "index.php")) {
$result = db_query("SELECT * FROM layout l LEFT JOIN blocks b ON l.block = b.name WHERE l.user = '$user->id' AND l.weight > 0 AND b.status = '1' ORDER BY weight");
while ($block = db_fetch_object($result)) {
$blocks = module_execute($block->module, "block");
$theme->box($blocks[$block->offset]["subject"], $blocks[$block->offset]["content"]);
}
}
}
function theme_morelink($theme, $story) {
return ($story->article) ? "[ id\">hlcolor2\">read more | ". strlen($story->article) ." bytes | id\">hlcolor2\">". format_plural($story->comments, "comment", "comments") ." ]" : "[ id\">hlcolor2\">". format_plural($story->comments, "comment", "comments") ." ]";
}
function theme_moderation_results($theme, $story) {
global $user;
if ($user->id && $story->id && $vote = user_getHistory($user->history, "s$story->id")) {
$output .= "You voted `$vote'.
\n";
$output .= "\n";
$output .= "Other people voted: \n";
$result = db_query("SELECT * FROM users WHERE id != $user->id AND history LIKE '%s$story->id%'");
while ($account = db_fetch_object($result)) {
$output .= "". format_username($account->userid) ." voted `". user_getHistory($account->history, "s$story->id") ."'. ";
}
$theme->box("Moderation results", $output);
}
}
function theme_related_links($theme, $story) {
### Parse story for -tags:
$text = stripslashes("$story->abstract $story->updates $story->article");
while ($text = stristr($text, " ") + 4);
$text = stristr($text, " ");
if (!stristr($link, "mailto:")) $content .= "
$link ";
}
### Stories in the same category:
$content .= " More about category) ."\">$story->category . ";
### Stories from the same author:
if ($story->userid) $content .= " Also by userid) ."\">$story->userid . ";
$theme->box("Related links", $content);
}
function theme_old_headlines($theme, $num = 10) {
global $user;
if ($user->stories) $result = db_query("SELECT id, subject, timestamp FROM stories WHERE status = 2 ORDER BY timestamp DESC LIMIT $user->stories, $num");
else $result = db_query("SELECT id, subject, timestamp FROM stories WHERE status = 2 ORDER BY timestamp DESC LIMIT $num, $num");
while ($story = db_fetch_object($result)) {
if ($time != date("F jS", $story->timestamp)) {
$content .= "". date("l, M jS", $story->timestamp) ."
\n";
$time = date("F jS", $story->timestamp);
}
$content .= "id\">$story->subject \n";
}
$content .= "[ hlcolor2\">more ]
";
$theme->box("Older headlines", $content);
}
function theme_comment_moderation($id, $author, $score, $votes) {
global $user, $comment_votes;
if ($user->id && $user->userid != $author && !user_getHistory($user->history, "c$id")) {
$output .= "\n";
foreach ($comment_votes as $key=>$value) $output .= " $key \n";
$output .= " \n";
}
else {
$output .= "score: ". format_data($score) ." votes: ". format_data($votes) ."
";
}
return $output;
}
function theme_new_headlines($theme, $num = 10) {
global $user;
$content = "";
$result = db_query("SELECT id, subject FROM stories WHERE status = 2 ORDER BY id DESC LIMIT $num");
while ($story = db_fetch_object($result)) $content .= "id\">$story->subject \n";
$content .= "[ hlcolor2\">more ]
";
$theme->box("Latest headlines", $content);
}
?>