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 .= " ". t("Username") .":

    \n"; $output .= " ". t("Password") .":

    \n"; $output .= "
    \n"; $output .= " ". t("REGISTER") ."\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); } */ ?>