? 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),