1 |
31a5a6d6
|
Assos Assos
|
<?php
|
2 |
|
|
|
3 |
|
|
/**
|
4 |
|
|
* @file
|
5 |
|
|
* Provides the field_collection module admin pages.
|
6 |
|
|
*/
|
7 |
|
|
|
8 |
|
|
/**
|
9 |
|
|
* Menu callback; list all field collections on this site.
|
10 |
|
|
*/
|
11 |
|
|
function field_collections_overview() {
|
12 |
|
|
$instances = field_info_instances();
|
13 |
|
|
$field_types = field_info_field_types();
|
14 |
|
|
$bundles = field_info_bundles();
|
15 |
950416da
|
Assos Assos
|
$header = array(
|
16 |
|
|
t('Field name'),
|
17 |
|
|
t('Used in'),
|
18 |
|
|
array('data' => t('Operations'), 'colspan' => '2'),
|
19 |
|
|
);
|
20 |
31a5a6d6
|
Assos Assos
|
$rows = array();
|
21 |
|
|
foreach ($instances as $entity_type => $type_bundles) {
|
22 |
|
|
foreach ($type_bundles as $bundle => $bundle_instances) {
|
23 |
|
|
foreach ($bundle_instances as $field_name => $instance) {
|
24 |
|
|
$field = field_info_field($field_name);
|
25 |
|
|
if ($field['type'] == 'field_collection') {
|
26 |
|
|
$admin_path = _field_ui_bundle_admin_path($entity_type, $bundle);
|
27 |
|
|
$rows[$field_name]['class'] = $field['locked'] ? array('menu-disabled') : array('');
|
28 |
|
|
|
29 |
|
|
$rows[$field_name]['data'][0] = $field['locked'] ? t('@field_name (Locked)', array('@field_name' => $field_name)) : $field_name;
|
30 |
|
|
$rows[$field_name]['data'][1][] = l($bundles[$entity_type][$bundle]['label'], $admin_path . '/fields');
|
31 |
|
|
}
|
32 |
|
|
}
|
33 |
|
|
}
|
34 |
|
|
}
|
35 |
|
|
foreach ($rows as $field_name => $cell) {
|
36 |
|
|
$rows[$field_name]['data'][1] = implode(', ', $cell['data'][1]);
|
37 |
|
|
|
38 |
|
|
$field_name_url_str = strtr($field_name, array('_' => '-'));
|
39 |
|
|
$rows[$field_name]['data'][2] = l(t('manage fields'), 'admin/structure/field-collections/' . $field_name_url_str . '/fields');
|
40 |
|
|
$rows[$field_name]['data'][3] = l(t('manage display'), 'admin/structure/field-collections/' . $field_name_url_str . '/display');
|
41 |
|
|
}
|
42 |
|
|
if (empty($rows)) {
|
43 |
|
|
$output = t('No field collections have been defined yet. To do so attach a field collection field to any entity.');
|
44 |
|
|
}
|
45 |
|
|
else {
|
46 |
|
|
// Sort rows by field name.
|
47 |
|
|
ksort($rows);
|
48 |
|
|
$output = theme('table', array('header' => $header, 'rows' => $rows));
|
49 |
|
|
}
|
50 |
|
|
return $output;
|
51 |
|
|
} |