| Versionen | |
|---|---|
| drupal7 | _field_info_collate_fields($reset = FALSE) |
Collate all information on existing fields and instances.
$reset If TRUE, clear the cache. The information will be rebuilt from the database next time it is needed. Defaults to FALSE.
If $reset is TRUE, nothing. If $reset is FALSE, an array containing the following elements:
modules/
<?php
function _field_info_collate_fields($reset = FALSE) {
static $info;
if ($reset) {
$info = NULL;
cache_clear_all('field_info_fields', 'cache_field');
return;
}
if (!isset($info)) {
if ($cached = cache_get('field_info_fields', 'cache_field')) {
$info = $cached->data;
}
else {
$info = array(
'fields' => field_read_fields(),
'instances' => array_fill_keys(array_keys(field_info_bundles()), array()),
);
// Populate instances.
$instances = field_read_instances();
foreach ($instances as $instance) {
$info['instances'][$instance['bundle']][$instance['field_name']] = $instance;
$info['fields'][$instance['field_name']]['bundles'][] = $instance['bundle'];
}
cache_set('field_info_fields', $info, 'cache_field');
}
}
return $info;
}
?>
Kommentare
Kommentar hinzufügen