You are here

function eck__entity_type__list in Entity Construction Kit (ECK) 7.2

Same name and namespace in other branches
  1. 7.3 eck.entity_type.inc \eck__entity_type__list()

Callback for the entity_type overview.

1 string reference to 'eck__entity_type__list'
eck__entity_type__menu in ./eck.entity_type.inc
Passthrough from hook_menu().

File

./eck.entity_type.inc, line 69
ENTITY TYPE.

Code

function eck__entity_type__list() {
  $path = eck__entity_type__path();
  $header = array(
    t('Entity type'),
    array(
      'data' => t('Operations'),
      'colspan' => '1',
    ),
  );
  $rows = array();
  $entity_types = EntityType::loadAll();
  usort($entity_types, 'eck_alphabetical_cmp');
  foreach ($entity_types as $entity_type) {
    $allowed_operations = '';

    // Check that the user has permissions to delete:
    if (eck__multiple_access_check(array(
      'eck administer entity types',
      'eck delete entity types',
    ))) {
      $allowed_operations = l(t("delete"), "{$path}/{$entity_type->name}/delete");
    }
    if (eck__multiple_access_check(array(
      'eck administer bundles',
      'eck list bundles',
      "eck administer {$entity_type->name} bundles",
      "eck list {$entity_type->name} bundles",
    ))) {
      $label = l(t("@el", array(
        "@el" => $entity_type->label,
      )), "{$path}/{$entity_type->name}");
    }
    else {
      $label = t("@el", array(
        "@el" => $entity_type->label,
      ));
    }
    $rows[] = array(
      $label,
      $allowed_operations,
    );
  }
  $build['entity_table'] = array(
    '#theme' => 'table',
    '#header' => $header,
    '#rows' => $rows,
  );
  return $build;
}