function FieldInfo::getFields
Returns all active fields, including deleted ones.
Return value
An array of field definitions, keyed by field ID.
1 call to FieldInfo::getFields()
- FieldInfo::getInstances in modules/
field/ field.info.class.inc - Retrieves all active, non-deleted instances definitions.
File
-
modules/
field/ field.info.class.inc, line 163
Class
- FieldInfo
- Provides field and instance definitions for the current runtime environment.
Code
public function getFields() {
// Read from the "static" cache.
if ($this->loadedAllFields) {
return $this->fieldsById;
}
// Read from persistent cache.
if ($cached = cache_get('field_info:fields', 'cache_field')) {
$this->fieldsById = $cached->data;
}
else {
// Collect and prepare fields.
foreach (field_read_fields(array(), array(
'include_deleted' => TRUE,
)) as $field) {
$this->fieldsById[$field['id']] = $this->prepareField($field);
}
// Store in persistent cache.
if (lock_acquire('field_info:fields')) {
cache_set('field_info:fields', $this->fieldsById, 'cache_field');
lock_release('field_info:fields');
}
}
// Fill the name/ID map.
foreach ($this->fieldsById as $field) {
if (!$field['deleted']) {
$this->fieldIdsByName[$field['field_name']] = $field['id'];
}
}
$this->loadedAllFields = TRUE;
return $this->fieldsById;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.