You are here

function title_field_ui_menu in Title field UI 7

Implements hook_menu().

File

./title_field_ui.module, line 13
Allows administrators to configure the title field from the Field UI.

Code

function title_field_ui_menu() {
  $items = array();

  // Ensure the following is not executed until field_bundles is working and
  // tables are updated. Needed to avoid errors on initial installation.
  if (defined('MAINTENANCE_MODE')) {
    return $items;
  }
  $entity_type = 'node';
  $info = entity_get_info($entity_type);
  foreach ($info['bundles'] as $bundle_name => $bundle_info) {
    if (empty($bundle_info['admin']['real path'])) {
      continue;
    }
    $path = $bundle_info['admin']['real path'];

    // Extract access information, providing defaults.
    $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',
      ),
    );
    $items["{$path}/fields/title"] = array(
      'title' => 'Title',
      'page callback' => 'drupal_get_form',
      'page arguments' => array(
        'title_field_ui_edit_form',
        $entity_type,
        $bundle_name,
      ),
      'file' => 'title_field_ui.admin.inc',
    ) + $access;
    $items["{$path}/fields/title/edit"] = array(
      'title' => 'Edit',
      'page callback' => 'drupal_get_form',
      'page arguments' => array(
        'title_field_ui_edit_form',
        $entity_type,
        $bundle_name,
      ),
      'type' => MENU_DEFAULT_LOCAL_TASK,
      'file' => 'title_field_ui.admin.inc',
    ) + $access;
    $items["{$path}/fields/title/disable"] = array(
      'title' => 'Disable',
      'page callback' => 'drupal_get_form',
      'page arguments' => array(
        'title_field_ui_disable_form',
        $entity_type,
        $bundle_name,
      ),
      'type' => MENU_LOCAL_TASK,
      'weight' => 10,
      'file' => 'title_field_ui.admin.inc',
    ) + $access;
  }
  return $items;
}