--- pop_links.module.linkedstats	2008-08-09 18:14:00.000000000 +1000
+++ pop_links.module	2008-08-09 18:16:29.000000000 +1000
@@ -90,6 +90,15 @@
     //'menu_name' => 'pop_links',
   );
 
+  $items['admin/reports/pop_links_summary'] = array(
+    'title' => 'External Link Popularity Summary',
+    'description' => 'External Link Popularity Summary',
+    'page callback' => 'pop_links_summary',
+    'access callback' => 'user_access',
+    'access arguments' => array('access link popularity stats'),
+    //'menu_name' => 'pop_links',
+  );
+
   return $items;
 }
 
@@ -271,6 +280,29 @@
   return $output;
 }
 
+function pop_links_summary() {
+  $header = array(
+    array('data' => t('Node'), 'field' => 'n.title'),
+    array('data' => t('Link'), 'field' => 'p.url'),
+    array('data' => t('Count'), 'field' => 'cnt', 'sort' => 'desc')
+  );
+
+  $sql = "SELECT n.nid, n.title, p.url, COUNT(*) as cnt FROM {pop_links_stats} p LEFT JOIN {users} u ON u.uid = p.uid LEFT JOIN {node} n ON n.nid = p.nid GROUP BY n.nid, p.url" . tablesort_sql($header);
+
+  $result = pager_query(db_rewrite_sql($sql), 30);
+  while ($click_data = db_fetch_object($result)) {
+    $rows[] = array(
+      _pop_links_format_item_node($click_data->nid, $click_data->title),
+      _pop_links_format_item_link($click_data->url),
+      $click_data->cnt);
+  }
+
+  $output = theme('table', $header, $rows);
+  $output .= theme('pager', NULL, 30, 0);
+
+  return $output;
+}
+
 /**
  * format table column with the node-title and hyperlink (if present)
  */
