function file_entity_field_attach_load in File Entity (fieldable files) 7.2
Same name and namespace in other branches
- 7.3 file_entity.module \file_entity_field_attach_load()
Implements hook_field_attach_load().
File
- ./
file_entity.module, line 2684 - Extends Drupal file entities to be fieldable and viewable.
Code
function file_entity_field_attach_load($entity_type, $entities, $age, $options) {
// Loop over all the entities looking for entities with attached images.
foreach ($entities as $entity) {
list(, , $bundle) = entity_extract_ids($entity_type, $entity);
// Examine every image field instance attached to this entity's bundle.
$instances = array_intersect_key(field_info_instances($entity_type, $bundle), _file_entity_get_fields_by_type('image'));
foreach ($instances as $field_name => $instance) {
if (!empty($entity->{$field_name})) {
foreach ($entity->{$field_name} as $langcode => $items) {
foreach ($items as $delta => $item) {
// If alt and title text is not specified, fall back to alt and
// title text on the file.
if (!empty($item['fid']) && (empty($item['alt']) || empty($item['title']))) {
$file = file_load($item['fid']);
foreach (array(
'alt',
'title',
) as $key) {
if (empty($item[$key]) && !empty($file->{$key})) {
$entity->{$field_name}[$langcode][$delta][$key] = $file->{$key};
}
}
}
}
}
}
}
}
}