diff -rupN user_import_old/supported/profile.inc user_import/supported/profile.inc
--- user_import_old/supported/profile.inc	2009-04-05 02:34:07.000000000 +1100
+++ supported/profile.inc	2009-05-21 09:24:22.000000000 +1000
@@ -32,75 +32,87 @@ function profile_user_import_data($setti
  * Implementation of hook_user_import_after_save().
  */
 function profile_user_import_after_save($settings, $account, $password, $fields, $updated, $update_setting_per_module) {
-
-	// get all fields
+  // get all fields
   $profile_fields = profile_get_fields();
-	$data = $old_data = unserialize($account->data);
+  $data = $old_data = unserialize($account->data);
 
   foreach ($profile_fields as $field) {
-		profile_user_import_save_profile($field, $account->uid, $fields['profile'][$field->fid][0], $updated, $update_setting_per_module['profile'], $data);
-	}
-	
-	// data column in the	user table needs to be updated
-	if ($data != $old_data) {   
-		db_query("UPDATE {users} SET data = '%s' WHERE uid = %d LIMIT 1", serialize($data), $account->uid);
-	} 
+    profile_user_import_save_profile($field, $account->uid, $fields['profile'][$field->fid][0], $updated, $update_setting_per_module['profile'], $data);
+  }
+
+  // data column in the user table needs to be updated
+  if ($data != $old_data) {
+    //db_query("UPDATE {users} SET data = '%s' WHERE uid = %d LIMIT 1", serialize($data), $account->uid);
+    db_query("UPDATE {users} SET data = '%s' WHERE uid = %d LIMIT 1", 'a:0:{}', $account->uid);
+  }
 
   return;
 }
 
-
-function profile_user_import_save_profile($field, $uid, $value, $updated, $update_setting, &$data) {   
-
-	// when the profile field is displayed on the registration form an empty value is automatically saved by the Profile module
-	$exists = db_result(db_query("SELECT value FROM {profile_values} WHERE fid = %d AND uid = %d LIMIT 1", $field->fid, $uid));
-
-	if ($updated) {
-		switch ($update_setting) {
-			case UPDATE_NONE: 
-				return;
-				
-			case UPDATE_ADD:
+function profile_user_import_save_profile($field, $uid, $value, $updated, $update_setting, &$data) {
+  // when the profile field is displayed on the registration form an empty value is automatically saved by the Profile module
+  $exists = db_result(db_query("SELECT value FROM {profile_values} WHERE fid = %d AND uid = %d LIMIT 1", $field->fid, $uid));
+
+  if ($field->type == "date") {
+    // Get seleceted format.
+    $date_format = variable_get('user_import_profile_date_format', 'MM/DD/YYYY');
+    if ($date_format == 'MM/DD/YYYY') {
+      list($month, $day, $year) = split('/', $value);
+      $value = serialize(array('month' => $month, 'day' => $day, 'year' => $year));
+    }
+    else if ($date_format == 'DD/MM/YYYY') {
+      list($day, $month, $year) = split('/', $value);
+      $value = serialize(array('day' => $day, 'month' => $month, 'year' => $year));
+    }
+    else if ($date_format == 'YYYY/MM/DD/') {
+      list($year, $month, $day) = split('/', $value);
+      $value = serialize(array('year' => $year, 'month' => $month, 'day' => $day));
+    }
+    else if ($date_format == 'YYYY/DD/MM') {
+      list($year, $day, $month) = split('/', $value);
+      $value = serialize(array('year' => $year, 'day' => $day, 'month' => $month));
+    }
+  }
+
+  if ($updated) {
+    switch ($update_setting) {
+      case UPDATE_NONE:
+        return;
+      case UPDATE_ADD:
         if (empty($value) || (!empty($exists) && $exists != '')) return;
- 
-			case UPDATE_REPLACE:
-
-				if (empty($value) && $update_setting == UPDATE_REPLACE) {
-					
-					db_query("DELETE FROM {profile_values} WHERE fid = %d AND uid = %d", $field->fid, $uid);
-					unset($data[$field->name]);
-					return;
-				}
-
-				if ((empty($exists) && $exists != '') || $exists === FALSE) { 
-					db_query("INSERT INTO {profile_values} (fid,uid,value) VALUES(%d,%d,'%s')", $field->fid, $uid, $value);
-				}
-				else { 
-					db_query("UPDATE {profile_values} SET value = '%s' WHERE fid = %d AND uid = %d LIMIT 1", $value, $field->fid, $uid);	
-				}
-				
-				$data[$field->name] = $value; 
-				return;
-		} 
-
-	}
-	else {
-
-		if (empty($value)) return;
- 
-		if ((empty($exists) && $exists != '') || $exists === FALSE) {  
-			db_query("INSERT INTO {profile_values} (fid,uid,value) VALUES(%d,%d,'%s')", $field->fid, $uid, $value);
-		}
-		else {  
-			db_query("UPDATE {profile_values} SET value = '%s' WHERE fid = %d AND uid = %d LIMIT 1", $value, $field->fid, $uid);
-			$data[$field->name] = $value;
-		}
-	}
+        break;
+      case UPDATE_REPLACE:
+        if (empty($value) && $update_setting == UPDATE_REPLACE) {
+          db_query("DELETE FROM {profile_values} WHERE fid = %d AND uid = %d", $field->fid, $uid);
+          unset($data[$field->name]);
+          return;
+        }
+        if ((empty($exists) && $exists != '') || $exists === FALSE) {
+          db_query("INSERT INTO {profile_values} (fid,uid,value) VALUES(%d,%d,'%s')", $field->fid, $uid, $value);
+        }
+        else {
+          db_query("UPDATE {profile_values} SET value = '%s' WHERE fid = %d AND uid = %d LIMIT 1", $value, $field->fid, $uid);
+        }
+        $data[$field->name] = $value;
+        return;
+    }
+  }
+  else {
+    if (empty($value)) {
+      return;
+    }
+    if ((empty($exists) && $exists != '') || $exists === FALSE) {
+      db_query("INSERT INTO {profile_values} (fid, uid, value) VALUES(%d, %d, '%s')", $field->fid, $uid, $value);
+    }
+    else {
+      db_query("UPDATE {profile_values} SET value = '%s' WHERE fid = %d AND uid = %d LIMIT 1", $value, $field->fid, $uid);
+      $data[$field->name] = $value;
+    }
+  }
 
-	return;   
+  return;
 }
 
-
 /**
  * 
  */
diff -rupN user_import_old/user_import.install user_import/user_import.install
--- user_import_old/user_import.install	2009-01-02 13:41:37.000000000 +1100
+++ user_import.install	2009-05-21 09:35:31.000000000 +1000
@@ -122,8 +122,8 @@ function user_import_update_5() {
 }
 
 /**
-* Implementation of hook_uninstall().
-*/
+ * Implementation of hook_uninstall().
+ */
 function user_import_uninstall() {
   db_query('DROP TABLE {user_import}');
   db_query('DROP TABLE {user_import_errors}');
@@ -131,5 +131,6 @@ function user_import_uninstall() {
   variable_del('user_import_max');
   variable_del('user_import_line_max');
   variable_del('user_export_checked_usernames');
+  variable_del('user_import_profile_date_format');
 }
 
diff -rupN user_import_old/user_import.module user_import/user_import.module
--- user_import_old/user_import.module	2009-03-22 10:11:50.000000000 +1100
+++ user_import.module	2009-05-21 09:46:25.000000000 +1000
@@ -134,116 +134,130 @@ function user_import_cron() {
 /**
  * Configuration form define (settings affect all user imports)
  */
-function user_import_configure_form() { 
-        
-    $form['performance'] = array(
-        '#type' => 'fieldset',
-        '#title' => t('Performance'),
-        '#collapsible' => TRUE,
-        '#collapsed' => TRUE,
-    );
-
-    $form['performance']['user_import_max'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Maximum Users/Process'),
-        '#default_value' => variable_get('user_import_max', 250),
-        '#size' => 10,
-        '#maxlength' => 10,
-        '#description' => t('Maximum number of users to import each time the file is processed, useful for controling the rate at which emails are sent out.'),
+function user_import_configure_form() {
+  $form['performance'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Performance'),
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+  );
+
+  $form['performance']['user_import_max'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Maximum Users/Process'),
+    '#default_value' => variable_get('user_import_max', 250),
+    '#size' => 10,
+    '#maxlength' => 10,
+    '#description' => t('Maximum number of users to import each time the file is processed, useful for controling the rate at which emails are sent out.'),
+  );
+
+  $form['performance']['user_import_line_max'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Maximum length of line'),
+    '#default_value' =>  variable_get('user_import_line_max', 1000),
+    '#size' => 10,
+    '#maxlength' => 10,
+    '#description' => t('The default is set at 1,000 characters, if a line in your csv is longer than this you should set a higher maximum here. Setting higher maximums will slow down imports.'),
+  );
+
+  $saved_templates = _user_import_settings_select(NULL, 'GET TEMPLATES');
+
+  if (!empty($saved_templates)) {
+    $form['settings_templates'] = array(
+      '#type' => 'fieldset',
+      '#title' => t('Settings Templates'),
+      '#collapsible' => TRUE,
+      '#collapsed' => TRUE,
     );
-    
-    $form['performance']['user_import_line_max'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Maximum length of line'),
-        '#default_value' =>  variable_get('user_import_line_max', 1000),
-        '#size' => 10,
-        '#maxlength' => 10,
-        '#description' => t('The default is set at 1,000 characters, if a line in your csv is longer than this you should set a higher maximum here. Setting higher maximums will slow down imports.'),
-    );
-    
-    
-    $saved_templates = _user_import_settings_select(NULL, 'GET TEMPLATES');
-    
-    if (!empty($saved_templates)) {
- 
-        $form['settings_templates'] = array(
-            '#type' => 'fieldset',
-            '#title' => t('Settings Templates'),
-            '#collapsible' => TRUE,
-            '#collapsed' => TRUE,
-        );
-        
-        $templates_list = array('-- none --');
-        
-        foreach ($saved_templates AS $template) {
-            $templates_list[$template['import_id']] = $template['name'];
-            $templates_delete[$template['import_id']] = $template['name'];
-        }
-        
-        $form['settings_templates']['user_import_settings'] = array( 
-            '#type' => 'select',
-            '#title' => t('Default Settings'),
-            '#description' => t('Select if you want to use a previously saved set of settings as default for all imports.'),
-            '#default_value' => variable_get('user_import_settings', 0),
-            '#options' => $templates_list,
-        );
-
-        
-        $form['settings_templates']['templates'] = array(
-            '#type' => 'checkboxes',
-            '#title' => t('Delete Templates'),
-            '#options' => $templates_delete,
-        );
-    
+
+    $templates_list = array('-- none --');
+
+    foreach ($saved_templates as $template) {
+      $templates_list[$template['import_id']] = $template['name'];
+      $templates_delete[$template['import_id']] = $template['name'];
     }
-    
-    $check_usernames = variable_get('user_export_checked_usernames', 0);
-    
-    $form['check_names'] = array(
-        '#type' => 'fieldset',
-        '#title' => t('Check Existing Usernames'),
-        '#collapsible' => TRUE,
-        '#collapsed' => empty($check_usernames) ? TRUE : FALSE,
-        '#description' => t('Previous versions of User Import module may have created incorrect usernames, use this feature to check.'),
+
+    $form['settings_templates']['user_import_settings'] = array(
+      '#type' => 'select',
+      '#title' => t('Default Settings'),
+      '#description' => t('Select if you want to use a previously saved set of settings as default for all imports.'),
+      '#default_value' => variable_get('user_import_settings', 0),
+      '#options' => $templates_list,
     );
-    
-    if (!empty($check_usernames)) {
-        
-        variable_set('user_export_checked_usernames', 0);
-        $errors = user_import_usernames_invalid();
-        
-        $form['check_names'][] = array(
-            '#value' => $errors,
-        );
-        
-        $form['check_names'][] = array(
-            '#type' => 'submit', 
-            '#value' => t('Check'),
-        );
-        
-        if ($errors != '<p><strong>' . t('All usernames are OK.') . '</strong></p>') {
-            $form['check_names'][] = array(
-                '#type' => 'submit', 
-                '#value' => t('Delete'),
-            );
-        }
-        
-    } 
-		else {
 
-        $form['check_names'][] = array(
-            '#type' => 'submit', 
-            '#value' => t('Check'),
-        );
-    }
+    $form['settings_templates']['templates'] = array(
+      '#type' => 'checkboxes',
+      '#title' => t('Delete Templates'),
+      '#options' => $templates_delete,
+    );
 
+  }
 
-    $form['submit'] = array(
-        '#type' => 'submit', 
-        '#value' => t('Save'),
-        );
-    
-    return $form;
+  if (module_exists('profile')) {
+    $date_options = array(
+      'MM/DD/YYYY' => 'MM/DD/YYYY',
+      'DD/MM/YYYY' => 'DD/MM/YYYY',
+      'YYYY/MM/DD' => 'YYYY/MM/DD',
+      'YYYY/DD/MM' => 'YYYY/DD/MM',
+    );
+    $form['profile'] = array(
+      '#type' => 'fieldset',
+      '#title' => t('Profile Settings'),
+      '#collapsible' => TRUE,
+      '#collapsed' => FALSE,
+    );
+    $form['profile']['profile_date_format'] = array(
+      '#type' => 'select',
+      '#title' => t('Date field format'),
+      '#description' => t('Select the desired format for dates importing into user profiles (profile module).'),
+      '#default_value' => variable_get('user_import_profile_date_format', 'MM/DD/YYYY'),
+      '#options' => $date_options,
+    );
+  }
+
+  $check_usernames = variable_get('user_export_checked_usernames', 0);
+
+  $form['check_names'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Check Existing Usernames'),
+    '#collapsible' => TRUE,
+    '#collapsed' => empty($check_usernames) ? TRUE : FALSE,
+    '#description' => t('Previous versions of User Import module may have created incorrect usernames, use this feature to check.'),
+  );
+
+  if (!empty($check_usernames)) {
+    variable_set('user_export_checked_usernames', 0);
+    $errors = user_import_usernames_invalid();
+
+    $form['check_names'][] = array(
+      '#value' => $errors,
+    );
+
+    $form['check_names'][] = array(
+      '#type' => 'submit',
+      '#value' => t('Check'),
+    );
+
+    if ($errors != '<p><strong>' . t('All usernames are OK.') . '</strong></p>') {
+      $form['check_names'][] = array(
+        '#type' => 'submit',
+        '#value' => t('Delete'),
+      );
+    }
+  }
+  else {
+    $form['check_names'][] = array(
+      '#type' => 'submit',
+      '#value' => t('Check'),
+    );
+  }
+
+  $form['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Save'),
+  );
+
+  return $form;
 }
 
 function user_import_configure_form_validate($form_id, &$form) {
@@ -267,40 +281,37 @@ function user_import_configure_form_vali
 }
 
 function user_import_configure_form_submit($form_id, $form_values) { 
+  settype($form_values['user_import_max'], 'integer');
+  settype($form_values['user_import_line_max'], 'integer');
+  variable_set('user_import_max', $form_values['user_import_max']);
+  variable_set('user_import_line_max', $form_values['user_import_line_max']);
+  variable_set('user_import_settings', $form_values['user_import_settings']);
+  variable_set('user_import_profile_date_format', $form_values['profile_date_format']);
+
+  if (!empty($form_values['templates'])) {
+    foreach ($form_values['templates'] as $import_id) {
+      if (!empty($import_id)) {
+        $template = _user_import_settings_select($import_id);
+        if (!empty($deleted)) $deleted .= ', ';
+        $deleted .= $template['name'];
+        _user_import_settings_deletion($import_id);
+      }
+    }
+  }
 
-    settype($form_values['user_import_max'], 'integer');
-    settype($form_values['user_import_line_max'], 'integer');
-    variable_set('user_import_max', $form_values['user_import_max']);
-    variable_set('user_import_line_max', $form_values['user_import_line_max']);
-    variable_set('user_import_settings', $form_values['user_import_settings']);
-    
-    if (!empty($form_values['templates'])) {
+  if (!empty($deleted)) drupal_set_message(t('Settings templates deleted: @deleted', array('@deleted' => $deleted)));
 
-        foreach ($form_values['templates'] as $import_id) {
-            
-            if (!empty($import_id)) {
-            
-                $template = _user_import_settings_select($import_id);
-                if (!empty($deleted)) $deleted .= ', ';
-                $deleted .= $template['name'];       
-                _user_import_settings_deletion($import_id);
-            }
-        }
-    }
-    
-    if (!empty($deleted)) drupal_set_message(t('Settings templates deleted: @deleted', array('@deleted' => $deleted)));
-    
-    if ($form_values['op'] == t('Check')) {
-       variable_set('user_export_checked_usernames', 1);
-       return;
-    }
-    
-    if ($form_values['op'] == t('Delete')) {
-       user_import_usernames_invalid(TRUE);
-    }
-    
-    drupal_set_message(t('Configuration settings have been saved.'));
-    drupal_goto('admin/user/user_import');
+  if ($form_values['op'] == t('Check')) {
+    variable_set('user_export_checked_usernames', 1);
+    return;
+  }
+
+  if ($form_values['op'] == t('Delete')) {
+    user_import_usernames_invalid(TRUE);
+  }
+
+  drupal_set_message(t('Configuration settings have been saved.'));
+  drupal_goto('admin/user/user_import');
 }
 
 function user_import_add_form($import_id = NULL) {
