function user_relationship_node_access_nodeapi in User Relationships 5.3
Same name and namespace in other branches
- 5.2 plugins/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
- user_relationship_node_access/
user_relationship_node_access.module, line 111
Code
function user_relationship_node_access_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
global $user;
if ($node->uid != $user->uid) {
return;
}
switch ($op) {
case 'insert':
case 'update':
if (isset($node->user_relationship_node_access)) {
// 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;
}
}