Index: nodereferrer.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodereferrer/nodereferrer.module,v
retrieving revision 1.4
diff -u -p -r1.4 nodereferrer.module
--- nodereferrer.module	17 Jan 2007 23:03:03 -0000	1.4
+++ nodereferrer.module	21 Aug 2007 07:46:10 -0000
@@ -40,9 +40,9 @@ function nodereferrer_field_settings($op
         '#title' => t('Referring Node Types'),
         '#multiple' => TRUE,
         '#default_value' => isset($field['referrer_types']) ? $field['referrer_types'] : array(),
-        '#options' => node_get_types(),
+        '#options' => node_get_types('names'),
       );
-
+      
       $options = array(); 
       $types = content_fields();
       foreach($types as $type) {
@@ -101,8 +101,8 @@ function nodereferrer_field($op, &$node,
       // clear any modules referring to me as my title or other data may change. 
       // and nodereference doesn't clear the cache yet.
       foreach (nodereferrer_referrers($node->nid, $fields, $types) as $delta => $item) {
-        $cid = 'content:'. $item->nid .':'. $item->vid;
-        cache_clear_all($cid);
+        $cid = 'content:'. $item['nid'] .':'. $item['vid'];
+        cache_clear_all($cid, 'cache_page');
       }
       return;
   }
@@ -130,10 +130,10 @@ function nodereferrer_field_formatter_in
 function nodereferrer_field_formatter($field, $item, $formatter, $node) {
   switch ($formatter) {
     case 'plain':
-      return strip_tags($item->title);
+      return strip_tags($item['title']);
     
     default:
-      return l($item->title, 'node/'. $item->nid);
+      return l($item['title'], 'node/'. $item['nid']);
   }
 }
 
@@ -162,9 +162,14 @@ function nodereferrer_widget($op, &$node
 
   switch ($op) {
     case 'form':
+      // fixes issue with pathauto, sends an acceptable array here
       $form[$field['field_name']] = array(
-          '#type' => 'hidden',
-          '#value' => 'nodereferrer',
+        '#tree' => TRUE,
+        '#value' => 'nodereferrer',
+      );
+      $form[$field['field_name']][0]['value'] = array(
+        '#type' => 'hidden',
+        '#title' => t($field['widget']['label']),
       );
       return $form;
   }
@@ -206,9 +211,9 @@ function nodereferrer_referrers($nid,  $
       $query = db_rewrite_sql($query);
       $result = db_query($query, $nid); 
 
-      while ($value = db_fetch_object($result)) {
+      while ($value = db_fetch_array($result)) {
         // avoid duplicate referrers by using nid as key
-        $values[$value->nid] = $value;
+        $values[$value['nid']] = $value;
       }
     }
   }
@@ -243,7 +248,8 @@ function nodereferrer_nodeapi($node, $op
 
       foreach ($nids as $nid) {
         $cid = "content:$nid:";
-        cache_clear_all($cid, TRUE);
+        // define a table to delete from or else this complains
+        cache_clear_all($cid, 'cache_content', TRUE);
       }      
   }
 }
