--- /Users/vfilby/Downloads/sf_import/sf_import.module	2009-06-23 17:59:36.000000000 -0400
+++ sf_import.module	2009-10-22 12:54:33.000000000 -0400
@@ -15,16 +15,13 @@ function sf_import_menu() {
 }
 
 function sf_import_create(&$form_state, $ongoing = 0) {
-  // Allow admin to do a one-time import of SF records to drupal.
-  
-  $options = array();
-  // Loop through all the indexed field maps.
-  for ($i = 1; $i <= variable_get('salesforce_fieldmap_index', 0); $i++) {
-    // Load the map for this index.
-    $map = variable_get('salesforce_fieldmap_'. $i, array());
-    // If it actually existed...
-    if (!empty($map)) {
-      $options['salesforce_fieldmap_' . $i] = 
+ 
+  $fieldmapsCountQuery = 'SELECT fieldmap FROM {salesforce_field_map}';
+  $results = db_query( $fieldmapsCountQuery );
+  while( $row = db_fetch_array( $results ) ) {
+    $fieldmap_id = $row['fieldmap'];
+    if ($map = module_invoke( 'salesforce_api', 'fieldmap_load', $fieldmap_id ) ) {
+      $options[$fieldmap_id] = 
         salesforce_api_fieldmap_object_label('salesforce', $map['salesforce']) . ' => ' .
         salesforce_api_fieldmap_object_label('drupal', $map['drupal']);
     }
@@ -92,7 +89,7 @@ function sf_import_batchjob($fieldmap_ke
     // Do this on the first run.
     $context['sandbox'] = array();
     $context['sandbox']['progress'] = 0;
-    $map = variable_get($fieldmap_key, array());
+    $map = salesforce_api_fieldmap_load( $fieldmap_key );
     if(empty($map)) {
       $context['finished'] = 1;
       $context['message'] = t('Invalid fieldmap.');
@@ -106,10 +103,10 @@ function sf_import_batchjob($fieldmap_ke
       salesforce_api_fieldmap_objects_load('drupal', $map['drupal']);
     // $context['sandbox']['salesforce']['salesforce_object'] = 
     //   salesforce_api_fieldmap_objects_load('salesforce', $map['salesforce']);
-    $sql = 'SELECT drupal_id, sfid FROM {salesforce_ids} WHERE fieldmap = %d';
-    $result = db_query($sql, $map['index']);
+    $sql = 'SELECT drupal_id, sfid FROM {salesforce_object_map} WHERE fieldmap = %d';
+    $result = db_query($sql, $map['fieldmap']);
     while($row = db_fetch_array($result)) {
-      $context['sandbox']['salesforce']['existing'][$row['sfid']] = $row['drupal_id'];
+      $context['sandbox']['salesforce']['existing'][$row['sfid']] = $row['oid'];
     }
     $soql = 'SELECT Id, ' 
       . implode(', ', array_keys($map['fields'])) 
@@ -169,7 +166,7 @@ function sf_import_batchjob($fieldmap_ke
     $record = get_object_vars($record);
   }
   $created = isset($existing[$record['Id']]);
-  $nid = sf_node_import($record['Id'], $map['index'], $existing[$record['Id']], (object)$record);
+  $nid = sf_node_import($record['Id'], $map['fieldmap'], $existing[$record['Id']], (object)$record);
   $context['results'][] = ($created ? 'Created' : 'Updated') . ' ' . l('node ' . $nid, 'node/' . $node->nid);
   if($nid) {
     $context['sandbox']['imported']++;
