function nodeaccess_userreference_add_grant in Node access user reference 7.3
Same name and namespace in other branches
- 6.3 nodeaccess_userreference.module \nodeaccess_userreference_add_grant()
Add node grants in a way that prevents overriding previous iterations.
Parameters
&$grants: The grants array where the grant will be added.
$realm: The realm of this grant.
$gid: The grant ID.
$priority: The grant priority.
$settings: An settings array of boolean equivalent values with keys 'view', 'edit', and 'delete'.
1 call to nodeaccess_userreference_add_grant()
File
- ./
nodeaccess_userreference.module, line 294 - The Node access user reference module.
Code
function nodeaccess_userreference_add_grant(&$grants, $realm, $gid, $priority, $settings) {
$key = $realm . $gid;
if (!isset($grants[$key])) {
// Setup the record.
$grants[$key] = array(
'realm' => $realm,
'gid' => $gid,
'priority' => $priority,
'grant_view' => 0,
'grant_update' => 0,
'grant_delete' => 0,
);
}
// Add the grants needed, so as not to override previous iterations.
if (!empty($settings['view'])) {
$grants[$key]['grant_view'] = 1;
}
if (!empty($settings['update'])) {
$grants[$key]['grant_update'] = 1;
}
if (!empty($settings['delete'])) {
$grants[$key]['grant_delete'] = 1;
}
// Increase the priority if needed.
if ($priority > $grants[$key]['priority']) {
$grants[$key]['priority'] = $priority;
}
}