diff -urp nodereferrer_create/create_referrer.php nodereferrer_create_new/create_referrer.php --- nodereferrer_create/create_referrer.php 2008-09-09 13:11:13.000000000 +0200 +++ nodereferrer_create_new/create_referrer.php 2009-01-30 13:35:06.000000000 +0100 @@ -78,15 +78,24 @@ function _nodereferrer_create_referrer_a if (!$signal['add'] && isset($form[$signal['field']]['#default_value'])) { $form[$signal['field']]['#default_value'] = array('nid' => $signal['nid']); } else { + $field_location = &$form; + if(!isset($field_location[$signal['field']]) && module_exists('fieldgroup')) + { + $group = fieldgroup_get_group($form['#node']->type, $signal['field']); + if ($group) + { + $field_location = &$form[$group]; + } + } $idx = -1; - while(isset($form[$signal['field']][$idx+1])) { + while(isset($field_location[$signal['field']][$idx+1])) { $idx = $idx+1; } if ($idx >= 0) { if (!$signal['add'] && $idx > 0) { $idx = $idx - 1; } - $form[$signal['field']][$idx]['#default_value'] = array('nid' => $signal['nid']); + $field_location[$signal['field']][$idx]['#default_value'] = array('nid' => $signal['nid']); } } diff -urp nodereferrer_create/nodereferrer_create.module nodereferrer_create_new/nodereferrer_create.module --- nodereferrer_create/nodereferrer_create.module 2008-10-10 15:02:53.000000000 +0200 +++ nodereferrer_create_new/nodereferrer_create.module 2009-01-29 02:52:54.000000000 +0100 @@ -162,13 +162,20 @@ function _nodereferrer_create_nodeapi_vi // Make inline menu if requried if (variable_get('nodereferrer_create_inline', 1) && $has_values) { - $new_field = $node->content[$field_name]; - unset($node->content[$field_name]); - + $field_location = &$node->content; + if (!isset($field_location[$field_name]) && module_exists('fieldgroup')) + { + $group = fieldgroup_get_group($node->type, $field_name); + if ($group) + { + $field_location = &$node->content[$group]['group']; + } + } + $new_field = &$field_location[$field_name]; + unset($field_location[$field_name]); $new_weight = $new_field['#weight']; $new_field['#weight'] = 0; - - $node->content['nodereferrer_create_'.$field_name] = array( + $field_location['nodereferrer_create_'.$field_name] = array( '#weight' => $new_weight, 'children' => array( $new_field, @@ -237,13 +244,22 @@ function _nodereferrer_create_nodeapi_vi // Make inline menu if requried if (variable_get('nodereferrer_create_inline', 1) && $has_values) { - $new_field = $node->content[$field_name]; - unset($node->content[$field_name]); - + + $field_location = &$node->content; + if (!isset($field_location[$field_name]) && module_exists('fieldgroup')) + { + $group = fieldgroup_get_group($node->type, $field_name); + if ($group) + { + $field_location = &$node->content[$group]['group']; + } + } + $new_field = &$field_location[$field_name]; + unset($field_location[$field_name]); $new_weight = $new_field['#weight']; $new_field['#weight'] = 0; - $node->content['nodereferrer_create_'.$field_name] = array( + $field_location['nodereferrer_create_'.$field_name] = array( '#weight' => $new_weight, 'children' => array( $new_field,