You are here

function entity_rules_permission in Entity Rules 7

Implements hook_permission().

File

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

Code

function entity_rules_permission() {
  $return = array();
  $permissions = variable_get('entity_rules_permissions', ENTITY_RULES_DEFAULT_PERMISSIONS);
  $enabled_types = variable_get('entity_rules_types', explode(',', ENTITY_RULES_DEFAULT_TYPES));
  switch ($permissions) {
    case 'single':
      $return = array(
        'administer entity_rules settings' => array(
          'title' => t('Administer Entity Rules'),
        ),
      );
      break;
    case 'entity_type':
      $entity_infos = entity_get_info();
      $entity_infos = array_intersect_key($entity_infos, array_flip($enabled_types));
      foreach ($entity_infos as $entity_type => $info) {
        if ($info['fieldable']) {
          $return["administer {$entity_type} entity_rules settings"] = array(
            'title' => t('%entity_type Administer Entity Rules', array(
              '%entity_type' => $info['label'],
            )),
          );
        }
      }
      break;
  }
  return $return;
}