You are here

function eck_revision_permission in ECK Revision 7

Implements hook_permission().

File

./eck_revision.module, line 21
ECK Revision module.

Code

function eck_revision_permission() {
  module_load_include('inc', 'eck', 'eck.entity_type');
  module_load_include('inc', 'eck', 'eck.bundle');
  $perms = array();
  foreach (EntityType::loadAll() as $entity_type) {
    $entity_type_info = entity_get_info($entity_type->name);

    // Verify if revision are enabled.
    if (isset($entity_type_info['revision table']) && !empty($entity_type_info['revision table'])) {
      $perms["eck view {$entity_type->name} entity revisions"] = array(
        'title' => t("View {$entity_type->label} entity revisions"),
      );
      $perms["eck revert {$entity_type->name} entity revisions"] = array(
        'title' => t("Revert {$entity_type->label} entity revisions"),
      );
      $perms["eck delete {$entity_type->name} entity revisions"] = array(
        'title' => t("Delete {$entity_type->label} entity revisions"),
      );
      foreach (Bundle::loadByEntityType($entity_type) as $bundle) {
        $perms["eck view {$entity_type->name} {$bundle->name} entity revisions"] = array(
          'title' => t("View {$entity_type->label} {$bundle->label} entity revisions"),
        );
        $perms["eck revert {$entity_type->name} {$bundle->name} entity revisions"] = array(
          'title' => t("Revert {$entity_type->label} {$bundle->label} entity revisions"),
        );
        $perms["eck delete {$entity_type->name} {$bundle->name} entity revisions"] = array(
          'title' => t("Delete {$entity_type->label} {$bundle->label} entity revisions"),
        );
      }
    }
  }
  return $perms;
}