You are here

function nodeaccess_node_type_insert in Nodeaccess 7

Same name and namespace in other branches
  1. 8.2 nodeaccess.module \nodeaccess_node_type_insert()
  2. 8 nodeaccess.module \nodeaccess_node_type_insert()

Implements hook_node_type_insert().

Parameters

Object $info:

File

./nodeaccess.module, line 795
Provide per node access control

Code

function nodeaccess_node_type_insert($info) {

  // New node type, default to whatever is set for access content permission.
  $role_perms = user_role_permissions(array(
    1 => 1,
    2 => 2,
  ));
  $role_perms[DRUPAL_ANONYMOUS_RID]['access content'] = isset($role_perms[1]['access content']) ? intval($role_perms[1]['access content']) : 0;
  $role_perms[DRUPAL_AUTHENTICATED_RID]['access content'] = isset($role_perms[2]['access content']) ? intval($role_perms[2]['access content']) : 0;
  $grants[] = array(
    'gid' => DRUPAL_ANONYMOUS_RID,
    'realm' => 'nodeaccess_rid',
    'grant_view' => $role_perms[DRUPAL_ANONYMOUS_RID]['access content'],
    'grant_update' => 0,
    'grant_delete' => 0,
  );
  $grants[] = array(
    'gid' => DRUPAL_AUTHENTICATED_RID,
    'realm' => 'nodeaccess_rid',
    'grant_view' => $role_perms[DRUPAL_AUTHENTICATED_RID]['access content'],
    'grant_update' => 0,
    'grant_delete' => 0,
  );
  variable_set('nodeaccess_' . $info->type, $grants);

  // Add permissions for author.
  $author_prefs = variable_get('nodeaccess_authors', array());
  $author_prefs[$info->type] = array(
    'grant_view' => 0,
    'grant_update' => 0,
    'grant_delete' => 0,
  );
  variable_set('nodeaccess_authors', $author_prefs);
  node_access_needs_rebuild(TRUE);
}