public function MigrateContentTaxonomyFieldHandler::prepare in Migrate Extras 6.2
File
- ./
content_taxonomy.inc, line 41 - Migrate plugin for the Content Taxonomy module as a destination.
Class
- MigrateContentTaxonomyFieldHandler
- Field handler.
Code
public function prepare($entity, array $instance, array $values) {
$mode = $values['arguments']['mode'];
$vid = $values['arguments']['vid'];
//remove arguments or they will be searched too
unset($values['arguments']);
$values = array_values($values);
$return = array();
// Setup the standard Field API array for saving.
$delta = 0;
foreach ($values as $value) {
if ($mode == 'name') {
if ($vid > 0) {
$query = db_select('term_data', 'td')
->fields('td', array(
'tid',
))
->condition('name', $value, '=')
->condition('vid', $vid, '=');
}
else {
$query = db_select('term_data', 'td')
->fields('td', array(
'tid',
))
->condition('name', $value, '=');
}
$result = $query
->execute();
$record = $result
->fetchAssoc();
if ($record['tid'] == 0) {
//dvm('Term not found: '.$value);
continue;
}
$value = $record['tid'];
}
$item = array();
$item['value'] = $value;
$return[$delta] = $item;
$delta++;
}
return empty($return) ? NULL : $return;
}