theme && file_exists($themes[$user->theme][0])) {
include_once $themes[$user->theme][0];
}
else {
include_once $themes[variable_get("theme_default", key($themes))][0];
}
return new Theme();
}
function theme_link($separator = " | ") {
$links[] = "". t("home") ."";
$links[] = "". t("search") ."";
$links[] = "". t("submit") ."";
$links[] = "". t("account") ."";
foreach (module_list() as $name) {
if (module_hook($name, "page")) $links[] = "".t($name) ."";
}
// if (module_exist("forum")) $links[] = "".t("forum") ."";
// if (module_exist("diary")) $links[] = "". t("diary") ."";
// if (module_exist("book")) $links[] = "". t("handbook") ."";
return implode($separator, $links);
}
function theme_account($theme) {
global $user;
if ($user->id) {
// Display account settings:
$content .= "
". t("track your comments") ."\n";
$content .= "". t("track your nodes") ."\n";
$content .= "". strtr(t("track %a"), array("%a" => variable_get("site_name", "drupal"))) ."\n";
$content .= "\n";
$content .= "
". t("edit your information") ."\n";
$content .= "". t("edit your preferences") ."\n";
$content .= "". t("edit your content") ."\n";
$content .= "\n";
if (user_access($user)) {
$content .= "
administer ". variable_get("site_name", "drupal") ."\n";
$content .= "\n";
}
foreach (module_list() as $name) {
if ($links = module_invoke($name, "menu")) {
foreach ($links as $link) $content .= "
$link\n";
}
}
if ($link) $content .= "\n";
$content .= "
". t("logout") ."\n";
$theme->box(strtr(t("%a's configuration"), array("%a" => $user->userid)), "$content");
}
else {
$output .= "\n";
$output .= "
\n";
$output .= "
\n";
$theme->box(t("Login"), $output);
}
}
function theme_blocks($region, $theme) {
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 node WHERE nid = '$id'"));
if ($node->status == $status[queued]) theme_moderation_results($theme, $node);
// else theme_new_headlines($theme);
}
break;
case "/index.php":
if ($user->id) $result = db_query("SELECT * FROM blocks b LEFT JOIN layout l ON b.name = l.block WHERE (b.status = 2 OR (b.status = 1 AND l.user = '$user->id'))". (($region == "left" || $region == "right") ? ($region == "left" ? " AND b.region = 0" : " AND b.region = 1") : "") ." ORDER BY weight");
else $result = db_query("SELECT * FROM blocks WHERE status = 2". (($region == "left" || $region == "right") ? ($region == "left" ? " AND region = 0" : " AND region = 1") : "") ." ORDER BY weight");
while ($block = db_fetch_object($result)) {
$blocks = module_invoke($block->module, "block");
$theme->box(t($blocks[$block->offset]["subject"]), $blocks[$block->offset]["content"]);
}
break;
}
}
function theme_morelink($theme, $node) {
return ($node->body) ? "[ nid\">link\">". t("read more") ." | ". sizeof(explode(" ", $node->body)) ." ". t("words") ." | nid\">link\">". format_plural(node_get_comments($node->nid), "comment", "comments") ." ]" : "[ nid\">link\">". format_plural(node_get_comments($node->nid), "comment", "comments") ." ]";
}
function theme_moderation_results($theme, $node) {
foreach (explode(";", $node->users) as $vote) {
if ($vote) {
$data = explode(":", $vote);
$output .= format_username($data[0]) ." voted '$data[1]'.
";
}
}
$theme->box(t("Moderation results"), ($output ? $output : t("This node has not been moderated yet.")));
}
/*
//
// depricated -> new block strategy
//
function theme_new_headlines($theme, $num = 10) {
$result = db_query("SELECT nid, title FROM node WHERE status = 2 AND type = 'story' ORDER BY nid DESC LIMIT $num");
while ($node = db_fetch_object($result)) $content .= "nid\">". check_output($node->title) ."\n";
$theme->box(t("Latest headlines"), $content);
}
function theme_old_headlines($theme, $num = 10) {
global $user;
$result = db_query("SELECT id, subject, timestamp FROM story WHERE status = 2 ORDER BY timestamp DESC LIMIT ". ($user->nodes ? $user->nodes : $num) .", $num");
while ($node = db_fetch_object($result)) {
if ($time != date("F jS", $node->timestamp)) {
$content .= "". date("l, M jS", $node->timestamp) ."
\n";
$time = date("F jS", $node->timestamp);
}
$content .= "nid\">". check_output($node->title) ."\n";
}
$theme->box(t("Older headlines"), $content);
}
*/
?>