function field_tools_field_instances_list in Field tools 7
Same name and namespace in other branches
- 8 field_tools.admin.inc \field_tools_field_instances_list()
Helper to format a nested list of field instances, grouped by entity type.
@todo: make this a theme function?
Parameters
$field: A field definition array.
Return value
A nested list of entities and bundles that this field has instances on.
3 calls to field_tools_field_instances_list()
- field_tools_field_edit_form in ./
field_tools.admin.inc - Form to edit all instances of a field.
- field_tools_field_overview in ./
field_tools.admin.inc - Page callback for the field overview list.
- field_tools_field_references_overview in ./
field_tools.admin.inc - Page callback for the field references overview list.
File
- ./
field_tools.admin.inc, line 1340 - Contains admin callbacks for the Field tools module.
Code
function field_tools_field_instances_list($field) {
$entity_info = entity_get_info();
$items_entities = array();
foreach ($field['bundles'] as $entity_type => $field_bundle_names) {
// Fields may exist for entities that no longer do.
if (!isset($entity_info[$entity_type])) {
continue;
}
$items_bundles = array();
foreach ($field_bundle_names as $bundle) {
if (!isset($entity_info[$entity_type]['bundles'][$bundle])) {
continue;
}
// @todo: sort these.
$admin_path = _field_ui_bundle_admin_path($entity_type, $bundle);
$bundle_label = $entity_info[$entity_type]['bundles'][$bundle]['label'];
$items_bundles[$bundle_label] = $admin_path ? l($bundle_label, $admin_path . '/fields/' . $field['field_name']) : $bundle_label;
}
ksort($items_bundles);
$entity_label = $entity_info[$entity_type]['label'];
$items_entities[$entity_label] = $entity_label . theme('item_list', array(
'items' => $items_bundles,
));
}
ksort($items_entities);
return theme('item_list', array(
'items' => $items_entities,
));
}