$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'.")); } ?>