You are here

function content_access_action_grant_node_permissions in Content Access 7

Same name and namespace in other branches
  1. 6 content_access.rules.inc \content_access_action_grant_node_permissions()

Action implementation: Grant permissions for a node.

File

content_access_rules/content_access_rules.rules.inc, line 263
Rules specific functions that expose content_access' API.

Code

function content_access_action_grant_node_permissions($node, $permissions) {
  if (!empty($node->nid) && _content_access_rules_check_setting($node)) {

    // Transform the value to the content-access format.
    $settings = content_access_rules_transform_rules_value($permissions);
    $ca_settings = array();
    foreach (_content_access_get_operations() as $op => $label) {

      // Merge in the array of role-ids for each operation.
      $settings += array(
        $op => array(),
      );
      $ca_settings[$op] = array_keys(array_flip(content_access_per_node_setting($op, $node)) + array_flip($settings[$op]));
    }
    content_access_save_per_node_settings($node, $ca_settings);
    content_access_action_aquire_grants($node);
  }
}