Index: nodereferrer_create.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/nodereferrer_create/nodereferrer_create.module,v
retrieving revision 1.2.4.5
diff -u -r1.2.4.5 nodereferrer_create.module
--- nodereferrer_create.module	10 Oct 2008 13:02:53 -0000	1.2.4.5
+++ nodereferrer_create.module	22 Oct 2010 17:08:36 -0000
@@ -197,7 +197,7 @@
   foreach($node->reference_fields as $i => $ref) {
     $multiple = $ref['multiple'] == 1;
     $items = array();
-    
+     
     foreach (array_filter($ref['referenceable_types']) as $referenceable_type) {
       $type_info = content_types($referenceable_type);
       if ($multiple) {
@@ -205,19 +205,35 @@
           $text = t(variable_get('nodereferrer_create_reference_label', 'Create new @type'),
             array('@type' => $type_info['name']));
           $url = 'node/'.$node->nid.'/create_reference/'.$i.'/'.$referenceable_type;
-          $items[] = l($text, $url);
+          if (module_exists('og')) {
+            $group = og_get_group_context(); 
+            if ($group && og_is_group_post_type($referenceable_type)) {
+              $options = array (
+                'query' => 'gids[]=' . $group->nid ,
+              ) ;
+            }
+          }
+          $items[] = l($text, $url, $options);
         }
         
         $text = t(variable_get('nodereferrer_create_reference_label_add', 'Add existing @type'),
           array('@type' => $type_info['name']));
-        $url = 'node/'.$node->nid.'/add_reference/'.$i.'/'.$referenceable_type;
+        $url = 'node/'.$node->nid.'/add_reference/'.$i.'/'.$referenceable_type;  
         $items[] = l($text, $url);
       } else {
         if (node_access('create', $referenceable_type)) {
           $text = t(variable_get('nodereferrer_create_reference_label_single', 'Replace with new @type'),
             array('@type' => $type_info['name']));
           $url = 'node/'.$node->nid.'/create_reference/'.$i.'/'.$referenceable_type;
-          $items[] = l($text, $url);
+          if (module_exists('og')) {
+            $group = og_get_group_context(); 
+            if ($group && og_is_group_post_type($referenceable_type)) {
+              $options = array (
+                'query' => 'gids[]=' . $group->nid ,
+              ) ;
+            }
+          }          
+          $items[] = l($text, $url, $options);
         }
         
         $text = t(variable_get('nodereferrer_create_reference_label_add_single', 'Replace with existing @type'),
@@ -348,4 +364,3 @@
       'arguments' => array('title' => '', 'items' => array())),
   );
 }
-
