? cancel.txt
? content_generate.info
? content_generate.module
? content_permissions.install
? content_permissions.install.txt
? mw.patch
? tests_bak
Index: content_permissions.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/cck/content_permissions.module,v
retrieving revision 1.1
diff -u -F^f -r1.1 content_permissions.module
--- content_permissions.module	28 Mar 2008 16:01:12 -0000	1.1
+++ content_permissions.module	17 Apr 2008 20:33:52 -0000
@@ -1,13 +1,6 @@
 <?php
 
 /**
- * TODO:
- *   Views access implementation
- *   Fieldgroups
- */
-
-
-/**
  *  Implementation of hook_perm().
  */
 function content_permissions_perm() {
@@ -19,7 +12,7 @@ function content_permissions_perm() {
 }
 
 /**
- *  Implementation of hook_form_alter().
+ *  Implementation of hook_form_alter(). Remove inaccessible fields from node form.
  */
 function content_permissions_form_alter(&$form, $form_state, $form_id) {
   if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] .'_node_form' == $form_id) {
@@ -33,7 +26,7 @@ function content_permissions_form_alter(
 }
 
 /**
- *  Implementation of hook_nodeapi().
+ *  Implementation of hook_nodeapi().Remove inaccessible fields from node display.
  */
 function content_permissions_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
   if ($op == 'view') {
@@ -47,8 +40,10 @@ function content_permissions_nodeapi(&$n
 }
 
 /**
- *  Implementation of hook_content_views_access().
+ *  The default field access callback. Remove inaccessible fields from Views.
+ * 
+ * @see content_views_field_views_data(). 
  */
-function content_permissions_content_views_access($field_name) {
-  return user_access('view '. $field_name);
+function content_views_access_callback($field) {
+  return user_access('view '. $field['field_name']);
 }
\ No newline at end of file
Index: content_views.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/cck/content_views.inc,v
retrieving revision 1.61
diff -u -F^f -r1.61 content_views.inc
--- content_views.inc	13 Apr 2008 19:43:23 -0000	1.61
+++ content_views.inc	17 Apr 2008 20:33:53 -0000
@@ -102,6 +102,9 @@ function content_views_field_views_data(
         'additional fields' => $columns,
         'content_field_name' => $field['field_name'],
         'allow_empty' => TRUE,
+        // Access control modules should implement content_views_access_callback().
+        'access callback' => 'content_views_access_callback',
+        'access arguments' => array($field),
       ),
       'argument' => array(
         'field' => $columns[0],
@@ -260,21 +263,6 @@ function content_views_field_views_data(
     $this->content_field = content_fields($this->definition['content_field_name']);
   }
 
-  /**
-   * This provides a method of controlling field-level access in Views.
-   */
-  function access() {
-    // Avoid FALSE returns for non-existant hooks by using module_implements()
-    // to check only modules that implement the hook.
-    $modules = module_implements('content_views_access');
-    foreach ($modules as $module) {
-      if (module_invoke($module, 'content_views_access', $this->definition['content_field_name']) === FALSE) {
-        return FALSE;
-      }
-    }
-    return parent::access();
-  }
-
   function options(&$options) {
     parent::options($options);
     $field = $this->content_field;
