$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; } }