You are here

protected function views_timelinejs_plugin_style_timelinejs::getDefinedUsage in Views TimelineJS integration 7

Helper function to determine alias, handler, and fieldname of a given type.

Parameters

string $type: The type to be parsed.

Return value

array|boolean An array containing the keys/values for: alias, handler, fieldname, field_type, date_format, and tz_handling.

1 call to views_timelinejs_plugin_style_timelinejs::getDefinedUsage()
views_timelinejs_plugin_style_timelinejs::render in ./views_timelinejs_plugin_style_timelinejs.inc
Render the display.

File

./views_timelinejs_plugin_style_timelinejs.inc, line 666
Views Style.

Class

views_timelinejs_plugin_style_timelinejs
Unformatted style plugin.

Code

protected function getDefinedUsage($type) {

  // If it's not mapped at all, don't do anything.
  if (!isset($this->options['timeline_fields'])) {
    return FALSE;
  }
  if ($fields = $this->options['timeline_fields']) {
    $fieldname = '';
    if (isset($fields[$type])) {
      $fieldname = $fields[$type];
    }
    elseif (isset($fields['advanced'][$type])) {
      $fieldname = $fields['advanced'][$type];
    }
    if (isset($fieldname) && $fieldname != '0') {
      $field_information = array(
        'alias' => isset($this->view->field[$fieldname]) ? $this->view->field[$fieldname]->field_alias : NULL,
        'handler' => isset($this->view->field[$fieldname]) ? $this->view->field[$fieldname]->definition['handler'] : NULL,
        'fieldname' => $fieldname,
      );
    }
    if (!empty($this->view->field[$fieldname]->field_info)) {
      $field_information['field_type'] = $this->view->field[$fieldname]->field_info['type'];
      $field_information['date_format'] = $field_information['field_type'];

      // If we're dealing with a date-field, get tz_handling and granularity as well.
      if (isset($this->view->field[$fieldname]->field_info['settings']['tz_handling'])) {
        $field_information['tz_handling'] = $this->view->field[$fieldname]->field_info['settings']['tz_handling'];
      }
      if (isset($this->view->field[$fieldname]->field_info['settings']['granularity'])) {
        $field_information['granularity'] = $this->view->field[$fieldname]->field_info['settings']['granularity'];
      }
    }
    if (!empty($field_information)) {
      return $field_information;
    }
    else {
      return FALSE;
    }
  }
  else {
    return FALSE;
  }
}