function _flexiaccess_create_acl_rows in Flexi Access 7
Just make sure that the ACLs exist in the DB.
This is just for code re-use.
Parameters
int $nid: Node id.
3 calls to _flexiaccess_create_acl_rows()
- flexiaccess_create_acl in ./
flexiaccess.nodes.inc - Create an ACL for the node.
- flexiaccess_node_insert in ./
flexiaccess.module - Implements hook_node_insert().
- flexiaccess_user_submit in ./
flexiaccess.users.inc - Commit updates from user page.
File
- ./
flexiaccess.module, line 250 - Main hooks for per user access control.
Code
function _flexiaccess_create_acl_rows($nid) {
global $user;
if (module_exists('acl')) {
foreach (array(
'view',
'update',
'delete',
) as $op) {
$acl_id = acl_get_id_by_name('flexiaccess', $op . '_' . $nid);
if (!$acl_id) {
$acl_id = acl_create_acl('flexiaccess', $op . '_' . $nid);
}
if ('view' == $op || user_access('flexiaccess ' . $op)) {
acl_add_user($acl_id, $user->uid);
}
acl_node_add_acl($nid, $acl_id, (int) ($op == 'view'), (int) ($op == 'update'), (int) ($op == 'delete'), variable_get('flexiaccess_priority', 0));
}
}
}