? relativity-541618.patch
Index: relativity.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/relativity/relativity.module,v
retrieving revision 1.46.2.8
diff -u -p -r1.46.2.8 relativity.module
--- relativity.module	15 Nov 2009 14:33:25 -0000	1.46.2.8
+++ relativity.module	4 Jul 2010 16:35:51 -0000
@@ -43,21 +43,15 @@ function relativity_node_list($use_blank
  *   with various filters for restricting what is seen.  Someday, maybe :)
  *   javanaut
  */
-function relativity_list_possible_children($type='', $parent_nid='') {
-  if (!$type && !$parent_nid) {
-    $type = arg(2);
-    $parent_nid = is_numeric(arg(4)) ? arg(4) : NULL;
-  }
-
+function relativity_list_possible_children($type, $parent) {
   $links = array();
-  $parent = node_load($parent_nid);
   $relativity_query = variable_get('relativity_child_query_'. $parent->type .'_'. $type, NULL);
   $common_children_reqd = variable_get('relativity_common_child_'. $parent->type .'_'. $type, array());
   if ($relativity_query && $query = node_load($relativity_query)) {
     //drupal_set_message("executing query ". print_r($query, 1));
-    foreach (relativity_execute_query($query, NULL, $parent_nid) as $chnid => $child) {
+    foreach (relativity_execute_query($query, NULL, $parent->nid) as $chnid => $child) {
       if ($child->type == $type) {
-        $links[] = theme('relativity_link', $child->title, "addparent/$child->nid/parent/$parent_nid", $parent_nid, ' '. theme_relativity_trace($child->relativity_trace));
+        $links[] = theme('relativity_link', $child->title, "addparent/$child->nid/parent/$parent->nid", $parent->nid, ' '. theme_relativity_trace($child->relativity_trace));
       }
     }
   }
@@ -66,14 +60,14 @@ function relativity_list_possible_childr
 
     foreach ($otherparents as $childparent) {
       if (node_access("view", $childparent)) {
-        $links[] = theme('relativity_link', $childparent->title, "addparent/$childparent->nid/parent/$parent_nid", $parent_nid, 'common child required');
+        $links[] = theme('relativity_link', $childparent->title, "addparent/$childparent->nid/parent/$parent->nid", $parent->nid, 'common child required');
       }
     }
   }
   else {
     // So, look up all valid nids attached to this parent_node already..
-    $result = db_query('SELECT n.nid FROM {node} n LEFT OUTER JOIN {relativity} r ON n.nid=r.nid WHERE n.type = \'%s\' AND r.parent_nid=%d', $type, $parent_nid);
-    $excluded_nids = array($parent_nid);
+    $result = db_query('SELECT n.nid FROM {node} n LEFT OUTER JOIN {relativity} r ON n.nid=r.nid WHERE n.type = \'%s\' AND r.parent_nid=%d', $type, $parent->nid);
+    $excluded_nids = array($parent->nid);
     // The number of nids returned by this array should be reasonably small.
     // It's the number of nodes attached to a given node already.
     while ($existing_nid = db_fetch_object($result)) {
@@ -107,10 +101,10 @@ function relativity_list_possible_childr
               $key .= $parent_tree[$i]->tid .';';
             }
           }
-          $links[$key][] = array('title' => $child_node->title, 'child_node' => $child_node->nid, 'parent_node' => $parent_nid);
+          $links[$key][] = array('title' => $child_node->title, 'child_node' => $child_node->nid, 'parent_node' => $parent->nid);
         }
         else {
-          $links[] = theme('relativity_link', $child_node->title, "addparent/$child_node->nid/parent/$parent_nid", $parent_nid);
+          $links[] = theme('relativity_link', $child_node->title, "addparent/$child_node->nid/parent/$parent->nid", $parent->nid);
         }
       }
   }
@@ -125,7 +119,7 @@ function relativity_list_possible_childr
   }
   else {
     drupal_set_message(t('There are no available !s items to attach', array('!s' => node_get_types('name', $type))));
-    drupal_goto("node/$parent_nid");
+    drupal_goto("node/$parent->nid");
   }
 }
 
@@ -265,7 +259,7 @@ function relativity_addparent_multiple()
 function relativity_menu() {
   $items = array();
 
-    $items['relativity/listnodes/%relativity_node_list/parent/%'] = array(
+    $items['relativity/listnodes/%relativity_node_list/parent/%node'] = array(
       'title' => 'list of !type nodes to attach',
       'title arguments' => array('!type' => node_get_types('name', arg(2))),
       'load arguments' => array(4),
