You are here

function _sf_node_import_cck_content_taxonomy in Salesforce Suite 6.2

File

sf_contrib/sf_contrib.module, line 364
Provides integration with Location and CCK.

Code

function _sf_node_import_cck_content_taxonomy(&$object, $drupal_fieldname, $drupal_field_definition, $sf_data, $sf_fieldname, $sf_field_definition) {
  if (empty($sf_data->{$sf_fieldname})) {
    return;
  }
  $info = _content_type_info();
  $info = $info['content types'][$object->type]['fields'][$drupal_fieldname];
  if (strpos($sf_data->{$sf_fieldname}, ';') === FALSE) {
    $tid = db_result(db_query('SELECT tid FROM {term_data} WHERE name = "%s" AND vid = %d', $sf_data->{$sf_fieldname}, $info['vid']));
    $object->{$drupal_fieldname} = array(
      array(
        'value' => $tid,
      ),
    );
  }
  else {
    $terms = str_replace(array(
      '"',
    ), array(
      '\\"',
    ), $sf_data->{$sf_fieldname});
    $terms = explode(';', $terms);
    $ph = db_placeholders($terms, 'text');
    $sql = 'SELECT tid FROM {term_data}
      WHERE vid = ' . $info['vid'] . ' AND name in ("' . implode('", "', $terms) . '")';
    $result = db_query($sql);
    $object->{$drupal_fieldname} = array();
    while ($row = db_fetch_array($result)) {
      $object->{$drupal_fieldname}[] = array(
        'value' => $row['tid'],
      );
    }
  }
}