function user_relationship_node_access_nodeapi in User Relationships 5.2
Same name and namespace in other branches
- 5.3 user_relationship_node_access/user_relationship_node_access.module \user_relationship_node_access_nodeapi()
- 6 user_relationship_node_access/user_relationship_node_access.module \user_relationship_node_access_nodeapi()
File
- plugins/
user_relationship_node_access/ user_relationship_node_access.module, line 133
Code
function user_relationship_node_access_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
if (!user_access('ur grant node access')) {
return;
}
switch ($op) {
case 'insert':
case 'update':
// reformat the array and optimize
$user_relationship_node_access = array();
foreach ($node->user_relationship_node_access as $action => $permissions) {
foreach ($permissions as $key => $permission) {
if ($permission) {
$user_relationship_node_access[$key][$action] = TRUE;
}
}
}
db_query("DELETE FROM {user_relationship_node_access} WHERE nid = %d", $node->nid);
db_query("INSERT INTO {user_relationship_node_access} (nid, permissions) VALUES (%d, '%s')", $node->nid, serialize($user_relationship_node_access));
$node->user_relationship_node_access = $user_relationship_node_access;
break;
case 'load':
$node->user_relationship_node_access = unserialize(db_result(db_query("SELECT permissions FROM {user_relationship_node_access} WHERE nid = %d", $node->nid)));
break;
case 'delete':
db_query("DELETE FROM {user_relationship_node_access} WHERE nid = %d", $node->nid);
break;
}
}