Index: admin.system.inc
===================================================================
--- admin.system.inc	(revision 668)
+++ admin.system.inc	(working copy)
@@ -185,7 +185,7 @@
 		'#type' => 'textarea',
 		'#title' => t('Extra Fields'),
 		'#description' => t("Specify the names for your extra fields, if found in your form these will be sent to the API, you should define these in the format FirstName:ActualFieldname and separate with a comma. You will only need to change the second value to match your form fieldnames eg. ActualFieldname"),
-		'#default_value' => variable_get('constant_contact_extra_field_mappings',array()),
+		'#default_value' => variable_get('constant_contact_extra_field_mappings',''),
 		'#rows' => 3, 
 	);
 	
@@ -227,11 +227,11 @@
 	$extra_fields = variable_get('constant_contact_extra_fields', array());
 	
 	$form['constant_contact']['block']['constant_contact_form_block_fields'] = array(
-		'#type' => 'checkboxes',
-		'#title' => t('Extra Form Fields'),
-		'#description' => t('Select which extra fields you would like to display in the form, these will be sent along to Constant Contact with the subscribers email'),
-		'#default_value' => variable_get('constant_contact_form_block_fields', array()),
-		'#options' => array_combine(array_values($extra_fields), array_values($extra_fields)),
+		'#type' => 'textarea',
+		'#title' => t('Extra Fields'),
+		'#description' => t("Specify the names for your extra fields, if found in your form these will be sent to the API, you should define these in the format FirstName:ActualFieldname and separate with a comma. You will only need to change the second value to match your form fieldnames eg. ActualFieldname"),
+		'#default_value' => variable_get('constant_contact_form_block_fields',''),
+		'#rows' => 3, 
 	);
 	
 	$form['#redirect'] = 'admin/settings/constant_contact/intro';
Index: constant_contact.module
===================================================================
--- constant_contact.module	(revision 668)
+++ constant_contact.module	(working copy)
@@ -430,7 +430,7 @@
 		if($edit['cc_newsletter']):
 			$lists = variable_get('constant_contact_lists','');
 			$fields = variable_get('constant_contact_extra_fields',array());
-			$field_mappings = constant_contact_build_field_mappings();
+			$field_mappings = constant_contact_explode_mappings(variable_get('constant_contact_extra_field_mappings',''));
 			
 			if($show_lists_selection && is_array($lists)):
 				$lists = $edit['cc_newsletter_lists'];
@@ -527,7 +527,7 @@
 		endif;
 		
 		$fields = variable_get('constant_contact_extra_fields',array());
-		$field_mappings = constant_contact_build_field_mappings();
+		$field_mappings = constant_contact_explode_mappings(variable_get('constant_contact_extra_field_mappings',''));
 		
 		if($show_lists_selection):
 			if($category == 'account'):
@@ -745,7 +745,7 @@
 	
 	$form = array();
 	$show_lists_selection = variable_get('constant_contact_show_list_selection',CONSTANT_CONTACT_SHOW_LIST_SELECTION);
-	$form_block_fields = variable_get('constant_contact_form_block_fields', array());
+	$form_block_fields = constant_contact_explode_mappings(variable_get('constant_contact_form_block_fields', ''));
 	
 	$form['cc_email'] = array(
 		'#type' => 'textfield',
@@ -755,18 +755,15 @@
 	);
 	
 	if(is_array($form_block_fields)):
-	foreach($form_block_fields as $field => $enabled):
-		if($enabled):
-			$fieldname = str_replace(' ','', $field);
-			$form["cc_$fieldname"] = array(
+		foreach($form_block_fields as $fieldname => $actualfield):
+			$form["cc_$actualfield"] = array(
 				'#type' => 'textfield',
-				'#title' => $field,
+				'#title' => $fieldname,
 				'#size' => 30,
 				'#required' => true,
-				'#default_value' => $form_state['values']["cc_$fieldname"],
+				'#default_value' => $form_state['values']["cc_$actualfield"],
 			);
-		endif;
-	endforeach;
+		endforeach;
 	endif;
 	
 	if($show_lists_selection && is_object($cc)):
@@ -849,13 +846,12 @@
 		$lists = array();
 	endif;
 		
-	$form_block_fields = variable_get('constant_contact_form_block_fields', array());
+	$form_block_fields = constant_contact_explode_mappings(variable_get('constant_contact_form_block_fields', ''));
 	
 	if(is_array($form_block_fields)):
-		foreach($form_block_fields as $field => $enabled):
-			$fieldname = str_replace(' ','', $field);
-			if($enabled && isset($form_state['values']["cc_$fieldname"])):
-				$fields[$fieldname] = $form_state['values']["cc_$fieldname"];
+		foreach($form_block_fields as $fieldname => $actualfield):
+			if(isset($form_state['values']["cc_$actualfield"])):
+				$fields[$actualfield] = $form_state['values']["cc_$actualfield"];
 			endif;
 		endforeach;
 	endif;
@@ -1066,9 +1062,8 @@
 /**
  * Build the field mappings into nice array
  */
-function constant_contact_build_field_mappings()
+function constant_contact_explode_mappings($field_mappings)
 {
-	$field_mappings = variable_get('constant_contact_extra_field_mappings',array());
 	$field_mappings = explode(',', $field_mappings);
 	
 	$mappings = array();
@@ -1133,4 +1128,5 @@
 	endif;
 	
 	return false;
-}
\ No newline at end of file
+}
+
