function workflow_access_node_access_records in Workflow 5.2
Same name and namespace in other branches
- 8 modules/workflow_access/workflow_access.module \workflow_access_node_access_records()
- 5 workflow_access.module \workflow_access_node_access_records()
- 6.2 workflow_access/workflow_access.module \workflow_access_node_access_records()
- 6 workflow_access/workflow_access.module \workflow_access_node_access_records()
- 7.2 workflow_access/workflow_access.module \workflow_access_node_access_records()
- 7 workflow_access/workflow_access.module \workflow_access_node_access_records()
Implementation of hook_node_access_records().
Returns a list of grant records for the passed in node object.
File
- ./
workflow_access.module, line 57 - Provides node access permissions based on workflow states.
Code
function workflow_access_node_access_records($node) {
if (workflow_access_disabling()) {
return;
}
$grants = array();
$sid = db_result(db_query("SELECT sid FROM {workflow_node} WHERE nid = %d", $node->nid));
// We have state information about this node, so get permissions for this state.
if (is_numeric($sid)) {
$result = db_query('SELECT * FROM {workflow_access} WHERE sid = %d', $sid);
while ($grant = db_fetch_object($result)) {
$grants[] = array(
'realm' => $grant->rid == -1 ? 'workflow_access_owner' : 'workflow_access',
'gid' => $grant->rid == -1 ? $node->uid : $grant->rid,
'grant_view' => $grant->grant_view,
'grant_update' => $grant->grant_update,
'grant_delete' => $grant->grant_delete,
);
}
}
return $grants;
}