function user_relationship_node_access_update_node in User Relationships 7
2 calls to user_relationship_node_access_update_node()
- user_relationship_node_access_node_insert in user_relationship_node_access/
user_relationship_node_access.module - Implements hook_node_insert().
- user_relationship_node_access_node_update in user_relationship_node_access/
user_relationship_node_access.module - Implements hook_node_update().
File
- user_relationship_node_access/
user_relationship_node_access.module, line 297 - Allows content posted to be shared with users in one's social network
Code
function user_relationship_node_access_update_node($node) {
global $user;
// If user is not allowed to effect perms, do not change access settings
$allowed_grants = _user_relationship_node_access_get_allowed_grants($user);
if (!count($allowed_grants)) {
return;
}
// If no content type isn't included, do not change access settings
if (!_user_relationship_node_access_node_eligible($node)) {
return;
}
$user_relationship_node_access = array();
if (!empty($node->user_relationship_node_access) && count($node->user_relationship_node_access)) {
// Reformat the array and optimize.
foreach ($node->user_relationship_node_access as $action => $permissions) {
// @todo: The new set_default button results in a warning. Find a better way to avoid a
// notice.
if (!is_array($permissions)) {
continue;
}
//if the grants actions is not set return
if (!isset($allowed_grants[$action])) {
return;
}
foreach ($permissions as $key => $permission) {
// Make sure user is allowed to set this permission
if ($allowed_grants[$action] && $permission) {
$user_relationship_node_access[$key][$action] = TRUE;
}
}
}
// Clear old settings, this will actually clear even ones that user is not
// allowed to set.
db_delete('user_relationship_node_access')
->condition('nid', $node->nid)
->execute();
// Save permissions if any are set.
db_insert('user_relationship_node_access')
->fields(array(
'nid' => $node->nid,
'permissions' => serialize($user_relationship_node_access),
))
->execute();
}
$node->user_relationship_node_access = $user_relationship_node_access;
}