Index: simplenews_register.module =================================================================== --- simplenews_register.module (revision 189) +++ simplenews_register.module (revision 190) @@ -38,6 +38,13 @@ function simplenews_register_form_alter( '#weight' => 1, ); + $form['simplenews_register_options']['simplenews_register_weight'] = array( + '#type' => 'weight', + '#title' => t('Weight'), + '#default_value' => variable_get('simplenews_register_weight', 5), + '#description' => t('Heavier items will appear below lighter ones in the account registration form. Useful if you have profile fields or other elements in the user registration form.') + ); + foreach (taxonomy_get_tree(_simplenews_get_vid()) as $term) { $form['simplenews_register_options']['simplenews_register_'. $term->tid .'_newsletter'] = array( '#value' => check_plain($term->name), @@ -74,7 +81,8 @@ function theme_simplenews_register_admin $rows[] = $row; } $header = array(t('Newsletter'), t('Show'), t('Opt-out'), t('Email confirmation')); - $output = theme('table', $header, $rows); + $output = drupal_render($form['simplenews_register_weight']); + $output .= theme('table', $header, $rows); return $output; } @@ -88,7 +96,7 @@ function simplenews_register_user($op, & $form['simplenews'] = array( '#type' => 'fieldset', '#title' => t('Newsletters'), - '#weight' => 5, + '#weight' => variable_get('simplenews_register_weight', 5), ); foreach (taxonomy_get_tree(_simplenews_get_vid()) as $term) { @@ -96,6 +104,7 @@ function simplenews_register_user($op, & $form['simplenews']['simplenews-'. $term->tid] = array( '#type' => 'checkbox', '#title' => t('Subscribe to !newsletter', array('!newsletter' => $term->name)), + '#description' => $term->description, '#default_value' => isset($edit['simplenews-'. $term->tid]) ? $edit['simplenews-'. $term->tid] : variable_get('simplenews_register_'. $term->tid .'_optout', FALSE), ); }