? nodeaccess-userreference-author-grants-101126-11.patch
Index: nodeaccess_userreference.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodeaccess_userreference/nodeaccess_userreference.install,v
retrieving revision 1.1.6.3
diff -u -p -r1.1.6.3 nodeaccess_userreference.install
--- nodeaccess_userreference.install	2 Jan 2011 13:09:20 -0000	1.1.6.3
+++ nodeaccess_userreference.install	4 Jan 2011 23:51:53 -0000
@@ -7,5 +7,7 @@
 function nodeaccess_userreference_uninstall() {
   variable_del('nodeaccess_userreference');
   variable_del('nodeaccess_userreference_priority');
-  variable_del('nodeaccess_userreference_author');
-}
\ No newline at end of file
+  variable_del('nodeaccess_userreference_author_view');
+  variable_del('nodeaccess_userreference_author_update');
+  variable_del('nodeaccess_userreference_author_delete');
+}
Index: nodeaccess_userreference.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodeaccess_userreference/nodeaccess_userreference.module,v
retrieving revision 1.1.2.6.2.12
diff -u -p -r1.1.2.6.2.12 nodeaccess_userreference.module
--- nodeaccess_userreference.module	2 Jan 2011 13:09:20 -0000	1.1.2.6.2.12
+++ nodeaccess_userreference.module	4 Jan 2011 23:51:53 -0000
@@ -23,7 +23,6 @@ function nodeaccess_userreference_menu()
  * System settings form for nodeaccess_userreference.
  */
 function nodeaccess_userreference_admin_settings() {
-
   $form['nodeaccess_userreference_priority'] = array(
     '#type' => 'weight',
     '#title' => t('Set node grants priority for Node Access User Reference'),
@@ -31,11 +30,23 @@ function nodeaccess_userreference_admin_
     '#description' => t('If you are only using this access control module, you can safely ignore this.
     If you are using multiple access control modules you can adjust the priority of this module.'),
   );
-  $form['nodeaccess_userreference_author'] = array(
+  $form['nodeaccess_userreference_author_view'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Grant "view" access to node author'),
+    '#default_value' => variable_get('nodeaccess_userreference_author_view', 1),
+    '#description' => t('Grants "view" access back to the author.  Use this if not using other node access modules to set author access.'),
+  );
+  $form['nodeaccess_userreference_author_update'] = array(
     '#type' => 'checkbox',
-    '#title' => t('Grant access to node author'),
-    '#default_value' => variable_get('nodeaccess_userreference_author', 1),
-    '#description' => t('Grants view access back to the author.  Use this if not using other node access modules to set author access.'),
+    '#title' => t('Grant "edit" access to node author'),
+    '#default_value' => variable_get('nodeaccess_userreference_author_update', 1),
+    '#description' => t('Grants "edit" access back to the author.  Use this if not using other node access modules to set author access.'),
+  );
+  $form['nodeaccess_userreference_author_delete'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Grant "delete" access to node author'),
+    '#default_value' => variable_get('nodeaccess_userreference_author_delete', 1),
+    '#description' => t('Grants "delete" access back to the author.  Use this if not using other node access modules to set author access.'),
   );
 
   // Add additional submit processing
@@ -155,12 +166,16 @@ function nodeaccess_userreference_node_a
       }
     }
   }
-  if (variable_get('nodeaccess_userreference_author', 1)) {
+  if (variable_get('nodeaccess_userreference_author_view', 1) ||
+      variable_get('nodeaccess_userreference_author_update', 1) ||
+      variable_get('nodeaccess_userreference_author_delete', 1)) {
     $grants[] = array(
       'realm' => 'nodeaccess_userreference_author',
       'gid' => $node->uid,
       'priority' => $priority,
-      'grant_view' => 1,
+      'grant_view' => variable_get('nodeaccess_userreference_author_view', 1),
+      'grant_update' => variable_get('nodeaccess_userreference_author_update', 1),
+      'grant_delete' => variable_get('nodeaccess_userreference_author_delete', 1),
     );
   }
   if (!empty($grants)) {
@@ -213,4 +228,4 @@ function nodeaccess_userreference_field_
   }
 
   return $data[$type_name][$field_name];
-}
\ No newline at end of file
+}
