You are here

function _entity_rules_menu_access_settings in Entity Rules 7

Utility function to create 'access' property for hook_menu.

Used to define permission on the bundle management pages

Parameters

$entity_type:

$bundle_name:

$bundle_info:

Return value

array

1 call to _entity_rules_menu_access_settings()
entity_rules_menu in ./entity_rules.module
Implements hook_menu().

File

./entity_rules.module, line 282
Module file for the Entity Rules.

Code

function _entity_rules_menu_access_settings($entity_type, $bundle_name, $bundle_info) {
  $permission = variable_get('entity_rules_permissions', ENTITY_RULES_DEFAULT_PERMISSIONS);
  if ($permission == 'none') {
    $access = array_intersect_key($bundle_info['admin'], drupal_map_assoc(array(
      'access callback',
      'access arguments',
    )));
    $access += array(
      'access callback' => 'user_access',
      'access arguments' => array(
        'administer site configuration',
      ),
    );
  }
  if ($permission == 'single') {
    $access = array(
      'access callback' => 'user_access',
      'access arguments' => array(
        'administer entity_rules settings',
      ),
    );
  }
  if ($permission == 'entity_type') {
    $access = array(
      'access callback' => 'user_access',
      'access arguments' => array(
        "administer {$entity_type} entity_rules settings",
      ),
    );
  }
  return $access;
}