function node_import_check_node_reference in Node import 6
Check if the value is a valid node reference (by nid or title).
Uses: $field['output_format']. Either 'nid' (default) or 'title'.
Related topics
1 string reference to 'node_import_check_node_reference'
- node_import_fields in ./
node_import.inc - Returns a list of available content fields for given node_import type.
File
- ./
node_import.inc, line 1265 - Public API of the Node import module.
Code
function node_import_check_node_reference(&$value, $field, $options, $preview) {
if (($nid = node_import_get_object('node', $value)) !== NULL || ($nid = db_result(db_query("SELECT nid FROM {node} WHERE nid = %d OR LOWER(title) = '%s' LIMIT 1", is_numeric($value) && intval($value) > 0 ? $value : -1, drupal_strtolower($value))))) {
node_import_set_object('node', $value, $nid);
$value = $nid;
$field['output_format'] = isset($field['output_format']) ? $field['output_format'] : 'nid';
switch ($field['output_format']) {
case 'title':
if (($title = node_import_get_object('node:title', $nid)) || ($title = db_result(db_query("SELECT title FROM {node} WHERE nid = %d LIMIT 1", $nid)))) {
$value = $title;
node_import_set_object('node:title', $nid, $title);
}
break;
case 'nid':
default:
break;
}
return TRUE;
}
node_import_input_error(t('Input error: %value is not allowed for %name (not a node reference).', array(
'%value' => $value,
'%name' => $field['title'],
)));
return FALSE;
}