Index: signup.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/signup/signup.module,v
retrieving revision 1.187
diff -u -p -r1.187 signup.module
--- signup.module	10 Nov 2008 16:04:10 -0000	1.187
+++ signup.module	12 Nov 2008 00:16:51 -0000
@@ -601,13 +601,14 @@ function signup_alter_node_form(&$form, 
   else {
     $node = NULL;
   }
+  $node_type = $form['type']['#value'];
 
-  $signup_type_default = variable_get('signup_node_default_state_'. $form['type']['#value'], 'disabled');
+  $signup_type_default = variable_get('signup_node_default_state_'. $node_type, 'disabled');
   if (!empty($node)) {
     $node_scheduler = _signup_get_node_scheduler($node);
   }
   else {
-    $node_scheduler = _signup_get_node_type_scheduler($form['type']['#value']);
+    $node_scheduler = _signup_get_node_type_scheduler($node_type);
   }
   $node_has_date = $node_scheduler != 'none';
 
@@ -653,7 +654,7 @@ function signup_alter_node_form(&$form, 
       $default_option = $signup_type_default == 'enabled_on' ? 1 : 0;
     }
     if ($default_option == 1) {
-      $hint = t('If enabled, you can control whether users may sign up by visiting the !signups tab and toggling if signups are %open or %closed for this @node_type.', array('!signups' => !empty($node) ? l(t('Signups'), 'node/'. $node->nid .'/signups') : theme('placeholder', t('Signups')), '%open' => t('open'), '%closed' => t('closed'), '@node_type' => drupal_strtolower(node_get_types('name', $form['type']['#value']))));
+      $hint = t('If enabled, you can control whether users may sign up by visiting the !signups tab and toggling if signups are %open or %closed for this %node_type.', array('!signups' => !empty($node) ? l(t('Signups'), 'node/'. $node->nid .'/signups') : theme('placeholder', t('Signups')), '%open' => t('open'), '%closed' => t('closed'), '%node_type' => node_get_types('name', $node_type)));
     }
     else {
       $hint = '';
@@ -683,7 +684,7 @@ function signup_alter_node_form(&$form, 
       '#prefix' => '<div class="'. $settings_class .'">',
       '#suffix' => '</div>',
     );
-    $form['signup']['node_settings']['settings'] = _signup_admin_form(array(), $node, $node_has_date);
+    $form['signup']['node_settings']['settings'] = signup_node_settings_form(array(), $node, $node_type, $node_has_date);
   }
 }
 
@@ -1653,7 +1654,7 @@ function signup_settings_page() {
     '#description' => t('New signup-enabled nodes will start with these settings.'),
     '#collapsible' => TRUE,
   );
-  $form['node_defaults']['_signup_admin_form'] = _signup_admin_form(array(), NULL, signup_site_has_dates());
+  $form['node_defaults']['signup_node_settings_form'] = signup_node_settings_form(array(), NULL, NULL, signup_site_has_dates());
 
   $form['adv_settings'] = array(
     '#type' => 'fieldset',
@@ -1857,7 +1858,7 @@ function signup_settings_page_submit($fo
   foreach ($settings as $setting) {
     unset($form_state['values'][$setting]);
   }
-  // Remove the hidden element from _signup_admin_form(), too.
+  // Remove the hidden element from signup_node_settings_form(), too.
   unset($form_state['values']['signup']);
 
   // Finally, let system_settings_form_submit() do its magic with the
@@ -2317,6 +2318,9 @@ function signup_validate_anon_email($nid
  *
  * @param $node
  *   The fully loaded node object if we've got it.
+ * @param $node_type
+ *   The type of the node.  When creating new content, the caller can know the
+ *   node type, even if $node is NULL.
  * @param $has_date
  *   Boolean flag indicating if this node (or site) has signup-aware
  *   date functionality, which is required for reminder emails to be in
@@ -2327,7 +2331,7 @@ function signup_validate_anon_email($nid
  *
  * @ingroup signup_internal
  */
-function _signup_admin_form($form_state, $node = NULL, $has_date = FALSE) {
+function signup_node_settings_form($form_state, $node = NULL, $node_type = NULL, $has_date = FALSE) {
   if (module_exists('token')) {
     $signup_token_description = t('Supported string substitutions: %node_title, %node_url, %node_start_time, %user_name, %user_mail, %user_signup_info (additional information from the signup form), and any tokens in the %replacement_tokens list.', array('%replacement_tokens' => t('Replacement tokens')));
   }
@@ -2386,19 +2390,19 @@ function _signup_admin_form($form_state,
     for ($i = 1; $i <= 60; $i++) {
       $options[$i] = $i;
     }
-    $node_type_name = node_get_types('name', $node->type);
+    $node_type_name = isset($node_type) ? node_get_types('name', $node_type) : '';
     $form['signup_reminder']['signup_reminder_days_before'] = array(
       '#type' => 'select',
       '#default_value' => $node->signup_reminder_days_before,
       '#options' => $options,
-      '#suffix' => t('day(s) before %node_type', array('%node_type' => $node_type_name)),
+      '#suffix' => !empty($node_type_name) ? t('day(s) before this %node_type', array('%node_type' => $node_type_name)) : t('day(s) before start time'),
     );
     $form['signup_reminder_email'] = array(
       '#type' => 'textarea',
       '#title' => t('Reminder email'),
       '#default_value' => $node->signup_reminder_email,
       '#cols' => 40, '#rows' => 6,
-      '#description' => t('Email sent to user as a reminder before the %node_type starts. !token_description', array('%node_type' => $node_type_name, '!token_description' => $signup_token_description)),
+      '#description' =>  !empty($node_type_name) ? t('Email sent to user as a reminder before the %node_type starts. !token_description', array('%node_type' => $node_type_name, '!token_description' => $signup_token_description)) : t('Email sent to user as a reminder before the start time. !token_description', array('!token_description' => $signup_token_description)),
     );
     if (module_exists('token')) {
       _signup_token_help($form, 'signup_reminder_token_fieldset');
@@ -2595,7 +2599,7 @@ function signup_broadcast_form($form_sta
   $addresses = signup_get_email_addresses($node->nid);
   if (empty($addresses)) {
     $form['no_users'] = array(
-      '#value' => t('No users have signup up for this @node_type.', array('@node_type' => $node->type)),
+      '#value' => t('No users have signup up for this %node_type.', array('%node_type' => node_get_types('name', $node->type))),
     );
     return $form;
   }
@@ -2619,7 +2623,7 @@ function signup_broadcast_form($form_sta
     '#type' => 'textarea',
     '#title' => t('Message body'),
     '#required' => TRUE,
-    '#description' => t('Body of the email message you wish to send to all users who have signed up for this @node_type. !token_description', array('@node_type' => $node->type, '!token_description' => $token_text)),
+    '#description' => t('Body of the email message you wish to send to all users who have signed up for this %node_type. !token_description', array('%node_type' => node_get_types('name', $node->type), '!token_description' => $token_text)),
     '#rows' => 10,
   );
 
