--- /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']++;