--- clipper.module Sun Mar 05 20:21:46 2006 +++ clipper.module Sun Mar 05 21:27:40 2006 @@ -44,6 +44,13 @@ function clipper_menu($may_cache) { } /** + * Implementation of hook_perm(). + */ +function clipper_perm() { + return array('view clipper relations', 'add clipper relations'); +} + +/** * Implementation of form_alter */ function clipper_form_alter($form_id, &$form) { @@ -70,7 +77,9 @@ function clipper_nodeapi(&$node, $op) { clipper_validate($node); break; case 'insert': - clipper_insert($node); + if (user_access('add clipper relations') || user_access('administer nodes')) { + clipper_insert($node); + } break; case 'update': clipper_update($node); @@ -81,7 +90,9 @@ function clipper_nodeapi(&$node, $op) { case 'load': return clipper_load($node); case 'view': - $node->body .= theme('clipper_view', $node); + if (user_access('view clipper relations') || user_access('administer nodes')) { + $node->body .= theme('clipper_view', $node); + } break; } } @@ -145,6 +156,7 @@ function clipper_load($node) { * NodeAPI: Adds a parent selector to the node editing form. */ function clipper_form($node) { + if (!(user_access('add clipper relations') || user_access('administer nodes'))) { return; } // determine what content types this node can relate to. $relatable_types = variable_get('clipper_'. $node->type .'_relatable', array()); @@ -334,6 +346,7 @@ function clipper_get_parents($node) { */ function clipper_link($type, $node = NULL, $teaser = FALSE) { if ($type != 'node' || $teaser) { return; } + if (!(user_access('add clipper relations') || user_access('administer nodes'))) { return; } // since we only want to display "add child content-type" links // for those type that allow THIS node to be its parent, we have