Index: casetracker.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/casetracker/casetracker.module,v
retrieving revision 1.7
diff -u -p -r1.7 casetracker.module
--- casetracker.module	24 Feb 2006 09:23:45 -0000	1.7
+++ casetracker.module	24 Feb 2006 19:31:16 -0000
@@ -1181,12 +1182,12 @@ function casetracker_search($op = 'searc
       $select2 = (count($ranking) ? implode(' + ', $ranking) : 'i.relevance') . ' AS score';
       // Do search
       //var_dump($keys);
-      $find = do_search($keys, 'node', 'INNER JOIN {node} n ON n.nid = i.sid '. $join1 .' INNER JOIN {users} u ON n.uid = u.uid', $conditions1 . (empty($where1) ? '' : ' AND '. $where1), $arguments1, $select2, $join2, $arguments2);
+      $find = do_search($keys, 'node', 'INNER JOIN {node} n ON n.nid = i.sid '. $join1 .' INNER JOIN {users} u ON n.uid = u.uid', $conditions1 . (empty($where1) ? '' : ' AND '. $where1), $arguments1, $select2, $join2, $arguments2, tablesort_sql(casetracker_search_page_header()));
       //var_dump($find);
       // Load results
       $results = array();
       foreach ($find as $item) {
-        $node = node_load($item);
+        $node = node_load($item->sid);
         // Get node output (filtered and with module-specific fields).
         if (node_hook($node, 'view')) {
           node_invoke($node, 'view', false, false);
@@ -1199,15 +1200,15 @@ function casetracker_search($op = 'searc
 
         // Fetch comments for snippet
         $node->body .= module_invoke('comment', 'nodeapi', $node, 'update index');
-
         $extra = node_invoke_nodeapi($node, 'search result');
-        $results[] = array('link' => url('node/'. $item),
+        $results[] = array('link' => url('node/'. $item->sid),
                            'type' => node_get_name($node),
                            'title' => $node->title,
                            'user' => theme('username', $node),
                            'date' => $node->changed,
                            'node' => $node,
                            'extra' => $extra,
+                           'score' => $item->score,
                            'snippet' => search_excerpt($keys, $node->body));
       }
       return $results;
@@ -1389,3 +1390,25 @@ function casetracker_date_options($low,$
   return $options;
 }
 
+function casetracker_search_page($results) {
+  if (count($results)) {
+    $rows = array();
+    foreach ($results as $entry) {
+      $rows[] = array($entry['score'], $entry['title']);
+    }
+
+    $output = theme('table', casetracker_search_page_header(), $rows);
+    $output .= theme('pager', NULL, 15, 0, tablesort_pager());
+
+    return $output;
+  }
+}
+
+function casetracker_search_page_header() {
+  $header = array(
+    array('data' => t('Score'), 'field' => 'score', 'sort' => 'desc'),
+    array('data' => t('Title'), 'field' => 'n.title'),
+    //    array('data' => t('Status'), 'field' => 'cs.casetracker_case_status')
+  );
+  return $header;
+}
