--- tarballs/simplenews/simplenews.module	Fri Feb 17 20:08:38 2006
+++ simplenews/simplenews.module	Sun Mar 19 13:30:32 2006
@@ -581,6 +581,7 @@
   $snid_obj = db_fetch_object($snid_result);
   $name_default = variable_get('site_name', 'drupal');
   $newsletter = taxonomy_get_term($tid);
+  module_invoke_all('process_subscription', $newsletter, $snid_result, $sub);
     if ($sub == 'Subscribe') {
       if (!db_num_rows($snid_result)) {
         $query = "SELECT uid FROM {users} WHERE mail = '%s'";
@@ -928,7 +929,7 @@
     $term = taxonomy_get_term($nid->tid);
     $node = simplenews_node_prepare($nid->nid, $nid->tid);
     $node->title = "[$term->name] ".$node->title;
-    $result2 = db_query('SELECT s.mail, s.snid FROM {sn_subscriptions} s INNER JOIN {sn_snid_tid} t ON s.snid = t.snid WHERE s.s_status = %d AND s.a_status = %d AND t.tid = %d ORDER BY s.snid ASC', 0, 1, $nid->tid);
+    $result2 = db_query('SELECT DISTINCT s.mail, s.snid FROM {sn_subscriptions} s INNER JOIN {sn_snid_tid} t ON s.snid = t.snid WHERE s.s_status = %d AND s.a_status = %d AND t.tid = %d ORDER BY s.snid ASC', 0, 1, $nid->tid);
     while ($mail = db_fetch_object($result2)) {
       $md5 = md5($mail->mail . simplenews_private_key());
       $h = drupal_substr($md5, 0, 10).$mail->snid.'t'.$nid->tid;
