function content_access_own_op in Content Access 7
Same name and namespace in other branches
- 8 content_access.module \content_access_own_op()
- 6 content_access.module \content_access_own_op()
Determines the grant for the node author and the given allowed roles of a operation.
Parameters
$any_roles: The roles with which anybody has access (not optimized!)
$own_roles: The roles with which only the author has access (optimized!)
2 calls to content_access_own_op()
- content_access_get_type_grant in ./
content_access.module - Returns the default grants for a given node type.
- content_access_node_access_records in ./
content_access.module - Implements hook_node_access_records().
File
- ./
content_access.module, line 356 - Content access module file.
Code
function content_access_own_op($node, $any_roles, $own_roles) {
static $roles = array();
if (!isset($roles[$node->uid])) {
$roles[$node->uid] = $node->uid ? array(
DRUPAL_AUTHENTICATED_RID,
) : array(
DRUPAL_ANONYMOUS_RID,
);
$result = db_query('SELECT rid FROM {users_roles} WHERE uid = :uid', array(
':uid' => $node->uid,
));
foreach ($result as $role) {
$roles[$node->uid][] = $role->rid;
}
}
if (array_intersect($roles[$node->uid], $any_roles)) {
// If there is access due to "any permissions" there is no need to at an author grant.
return 0;
}
return array_intersect($roles[$node->uid], $own_roles) ? 1 : 0;
}