You are here

function power_menu_entity_info in Power Menu 7.2

Implements hook_entity_info().

File

./power_menu.module, line 725

Code

function power_menu_entity_info() {

  // Add a bundle for every activated menu in the fields settings
  $menus = variable_get('power_menu_fields_menus', array());
  $bundles = array();
  foreach ($menus as $key => $value) {

    // Allways use underscores for menu key hyphens, because hyphens are not allowed for bundle names.
    $value = power_menu_create_machine_name($value);
    $bundles[$value] = array(
      'admin' => array(
        'path' => 'admin/config/search/power_menu/fields/' . $value,
        'access arguments' => array(
          'administer power menu',
        ),
      ),
      'label' => $value,
    );
  }
  $info['power_menu_fields'] = array(
    'label' => t('Power Menu fields'),
    'controller class' => 'EntityAPIController',
    'base table' => 'power_menu_fields',
    'uri callback' => 'entity_class_uri',
    'fieldable' => TRUE,
    'entity keys' => array(
      'id' => 'id',
      'bundle' => 'menu_name',
    ),
    'bundle keys' => array(
      'bundle' => 'menu_name',
    ),
    'bundles' => $bundles,
    // Additional entity API keys
    'entity class' => 'Entity',
    'module' => 'power_menu',
  );
  return $info;
}