rendered paste body<?phpfunction custom_form_alter($form_id, &$form) { $arg0 = ''; $nid = ''; $arg0 = arg(0); if ($arg0 == 'node') { $nid = arg(1); } else if ($arg0 == 'comment') { $nid = arg(1); } if ($arg0 != '' && $nid != '' && $form_id == 'comment_form') { $case_node = node_load(array('nid' => $nid)); if (!custom_user_oneof_owner($case_node->assign_to, $case_node->uid, $case_node->pid)) { return drupal_access_denied(); } }} function custom_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) { switch ($op) { case 'view': if ($node->case_status_id == 6 && !custom_user_oneof_owner($node->assign_to, $node->uid, $node->pid) && $node->type == 'casetracker_basic_case') { return drupal_access_denied(); } break; }} function custom_user_oneof_owner($aid, $cuid, $pid) { global $user; $project_node = node_load(array('nid' => $pid)); if ($user->uid == $project_node->uid || $user->uid == $cuid || $user->uid == $aid || $user->uid == 1) { return true; } else { return false; }}