Parameters
string $object_type:
object $node:
array $exif_fields:
array $image_fields:
1 call to _exif_get_image_fields_metadata()
- _exif_node_insert_update in ./
exif.module - Main entrypoint of the module.
File
-
./
exif.module, line 158
Code
function _exif_get_image_fields_metadata($object_type, $node, array &$exif_fields, array $image_fields) {
$result = array();
if (empty($exif_fields)) {
return TRUE;
}
if (empty($image_fields)) {
return FALSE;
}
$exif = _exif_get_class();
foreach ($exif_fields as $drupal_field => $metadata_settings) {
$field_image_name = $metadata_settings['image_field'];
if (empty($image_fields[$field_image_name])) {
$result[$field_image_name] = array();
}
else {
$images_descriptor = _exif_get_file_uri_and_language($node, $field_image_name, $object_type);
$fullmetadata = array();
if (!empty($images_descriptor)) {
foreach ($images_descriptor as $index => $image_descriptor) {
$fullmetadata[$index] = _exif_get_data_from_file_uri($exif, $image_descriptor['uri']);
}
}
$result[$field_image_name] = $fullmetadata;
// @todo This was failing because the image_descriptor variable didn't
// exist. Track down where this came from and work out why it's was
// written this way; it might have just been an oversight.
if (isset($image_descriptor['language'])) {
$exif_fields[$drupal_field]['language'] = $image_descriptor['language'];
}
else {
$exif_fields[$drupal_field]['language'] = LANGUAGE_NONE;
}
}
}
return $result;
}