function link_node_import_fields in Node import 6
Implementation of hook_node_import_fields().
File
- supported/
link/ link.inc, line 11 - Support file for the CCK Link module.
Code
function link_node_import_fields($type) {
$fields = array();
foreach (node_import_cck_fields($type, 'link') as $fieldname => $fieldinfo) {
foreach ($fieldinfo['columns'] as $colname => $colinfo) {
$cck_fieldname = node_import_cck_name($fieldname, $colname);
switch ($colname) {
case 'title':
if ($fieldinfo['title'] !== 'none' && $fieldinfo['title'] !== 'value') {
$fields[$cck_fieldname] = node_import_cck_field_defaults($fieldinfo);
$fields[$cck_fieldname]['title'] = $fieldinfo['widget']['label'] . ' - ' . t('Title');
$fields[$cck_fieldname]['map_required'] = $fieldinfo['title'] === 'required' ? $fieldinfo['required'] : FALSE;
//TODO
}
break;
case 'url':
$fields[$cck_fieldname] = node_import_cck_field_defaults($fieldinfo);
$fields[$cck_fieldname]['title'] = $fieldinfo['widget']['label'] . ' - ' . t('URL');
$fields[$cck_fieldname]['map_required'] = $fieldinfo['url'] === 'optional' ? $fieldinfo['required'] : FALSE;
//TODO
break;
case 'attributes':
// We don't allow users to import attributes (as it is not shown
// on the edit form either).
$fields[$cck_fieldname] = node_import_cck_field_defaults($fieldinfo);
$fields[$cck_fieldname]['is_mappable'] = FALSE;
//TODO: users can set the target attribute if so configured.
break;
default:
$fields[$cck_fieldname] = node_import_cck_field_defaults($fieldinfo);
$fields[$cck_fieldname]['title'] = t('Unsupported: ') . $fieldinfo['widget']['label'] . ' - ' . $colname;
break;
}
}
}
if (count($fields) <= 1) {
foreach ($fields as $fieldname => $fieldinfo) {
unset($fields[$fieldname]['group']);
}
}
return $fields;
}