$node->nid));
print theme("page", node_show($node, NULL), $node->title);
}
else {
$header = array(t("Type"), t("Title"), t("Author"));
while ($node = db_fetch_object($result)) {
$type = ucfirst(module_invoke($node->type, "node", "name"));
$title = l($node->title, "node/view/$node->nid");
$author = format_name($node);
$rows[] = array(array("data" => $type, "class" => "type"), array("data" => $title, "class" => "content"), array("data" => $author, "class" => "author"));
}
$output = "
";
$output .= theme("table", $header, $rows);
$output .= "
";
drupal_set_title(t("Matching Posts"));
print theme("page", $output);
}
}
else {
print theme("page", message_access());
}
}
function title_filter($op, $text = "") {
switch ($op) {
case "name":
return t("Title filter");
case "process":
return _title_filter_process($text);
case "settings":
return _title_filter_settings($text);
default:
return $text;
}
}
// filter [node title|description] links. '|description' is optional.
function _title_filter_process($text) {
$pattern = '\[([^\|\]]+)(?>\|?)(.*?)\]'; // $1 == title: matches at least 1 char up to the first '|' or ']'
// $2 == text: matches all after a following '|' (if there is) up to the next ']'. may include '|'s.
$replacement = 'l("$2" ? "$2" : "$1", "title/". urlencode("$1"))';
return preg_replace("/$pattern/e", $replacement, $text);
}
function _title_filter_settings() {
return form_group(t("Title filter"), t("Wiki-like [node title|text] links are enabled. These shortcuts generate a link labeled 'text' to the node with the title 'node title'. If you omit '|text', the label becomes 'node title'. You may use a substring of a node title if desired. When multiple matching titles are found, a list of matching nodes will be displayed. If no matching titles are found, a full-text search is returned."));
}
function title_compose_tips() {
return array(t("You may quickly link to another node using this syntax: [node title|text]. This will generate a link labeled 'text' to the node with the title 'node title'. If you omit '|text', the label becomes 'node title'."));
}
?>