? simplenews_autosubscribe.diff
Index: simplenews.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/simplenews/simplenews.module,v
retrieving revision 1.71
diff -u -p -r1.71 simplenews.module
--- simplenews.module	17 Dec 2007 19:25:09 -0000	1.71
+++ simplenews.module	20 Dec 2007 15:28:09 -0000
@@ -486,6 +486,11 @@ function simplenews_user($op, &$edit, &$
         if ($result = db_fetch_object(db_query($query, $edit['mail']))) {
           db_query("UPDATE {simplenews_subscriptions} SET uid = %d WHERE snid = %d", $edit['uid'], $result->snid);
         }
+
+        $tid = variable_get('simplenews_autosubscribe_newsletter', 0);
+        if ($tid > 0) {
+          simplenews_subscribe_user($account->mail, $tid, FALSE);
+        }
       }
       break;
     case 'update':
@@ -2209,6 +2214,22 @@ function simplenews_admin_settings($tid 
       '#options' => $throttle,
       '#default_value' => variable_get('simplenews_throttle', 20),
     );
+
+    $form['simplenews_autosubscribe'] = array('#type' => 'fieldset',
+      '#title' => t('Autosubscription'),
+      '#collapsible' => TRUE,
+      '#collapsed' => TRUE,
+      '#description' => t('Automaticaly subscribe new users to a newsletter of choice.'),
+    );
+    $options[0] = '--';
+    foreach (taxonomy_get_tree(_simplenews_get_vid()) as $newsletter) {
+      $options[$newsletter->tid] = $newsletter->name;
+    }
+    $form['simplenews_autosubscribe']['simplenews_autosubscribe_newsletter'] = array('#type' => 'select',
+      '#title' => t('Newsletter'),
+      '#options' => $options,
+      '#default_value' => variable_get('simplenews_autosubscribe_newsletter', 0),
+    );
   }
   return system_settings_form($form);
 }
