$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); } } /** * Implementation of hook_filter(). */ 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 = '\[([^\|\]\n]+)(?>\|?)([^\]\n]*)\]'; // $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".')); } ?>