You are here

function views_timelinejs_date_stamp_source_date_field_conversion in Views TimelineJS integration 7

Converts date stamp field formats, forces TimelineJS to ignore browser TZ.

Converts different expected date formats to one global date format to be used in TimelineJS. Uses Drupal's TZ, not field TZ.

Return value

string Formatted date.

1 string reference to 'views_timelinejs_date_stamp_source_date_field_conversion'
date_stamp_field.inc in plugins/date_sources/date_stamp_field.inc

File

plugins/date_sources/date_stamp_field.inc, line 23

Code

function views_timelinejs_date_stamp_source_date_field_conversion($date, $output_format, $options = array()) {
  $granularity = isset($options['field']['granularity']) ? $options['field']['granularity'] : '';
  $input_format = $options['field']['date_format'];
  $tz_handling = $options['field']['tz_handling'];
  $timezone = date_get_timezone($tz_handling);
  $db_timezone = date_get_timezone_db($tz_handling);
  switch ($output_format) {
    case 'csv':
      $ret['value'] = views_timelinejs_convert_to_csv($date['value'], $input_format, $timezone, $db_timezone, $granularity);
      if (isset($date['value2'])) {
        $ret['value2'] = views_timelinejs_convert_to_csv($date['value2'], $input_format, $timezone, $db_timezone, $granularity);
      }
      break;
    case 'timestamp':
      $ret['value'] = views_timelinejs_convert_to_timestamp($date['value'], $input_format, $timezone, $db_timezone, $granularity);
      if (isset($date['value2'])) {
        $ret['value2'] = views_timelinejs_convert_to_timestamp($date['value2'], $input_format, $timezone, $db_timezone, $granularity);
      }
      break;
  }
  if (isset($ret['value2']) && $ret['value'] == $ret['value2']) {
    unset($ret['value2']);
  }
  return $ret;
}