You are here

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));
    }
  }
}