Handle date field.

Parameters

int $index:

string $language:

array $field:

string $field_type: _data

string $exif_section:

string $exif_name:

string $exif_value:

1 call to _exif_handle_date_field()
_exif_handle_field in ./exif.module
Handle field by delegating to specific type handler.

File

./exif.module, line 349

Code

function _exif_handle_date_field($index, $language, array $field, $field_type, array &$field_data, $exif_section, $exif_name, $exif_value) {
    $exif_value = _exif_handle_field_value_consistency($exif_value, $field);
    if ($exif_name == 'filedatetime') {
        $format = DateObject::ATOM;
    }
    else {
        // EXIF internal format do not handle timezone :(
        // Using website timezone instead.
        $format = variable_get('date_format_exif', 'Y-m-d\\TH:i:s');
    }
    $date_datetime = new DateObject($exif_value, NULL, $format);
    // Change to requeted timezone.
    $date_datetime->setTimezone(timezone_open(date_get_timezone($field['settings']['tz_handling'])));
    $offset = $date_datetime->getOffset();
    $date_field = $date_datetime->format(date_type_format($field['type']));
    $field_data[$language][$index] = array(
        'value' => $date_field,
        'value2' => $date_field,
        'timezone' => $date_datetime->getTimezone(),
        'offset' => $offset,
        'offset2' => $offset,
    );
}