You are here

function views_gantt_plugin_style_gantt::views_gantt_get_field_value in Views Gantt 7

Same name and namespace in other branches
  1. 7.2 views_gantt_plugin_style_gantt.inc \views_gantt_plugin_style_gantt::views_gantt_get_field_value()

Returns value of specific field.

Parameters

object $row: Node object from view result array

string $field_options_name: Option key from views_gantt_plugin_style_gantt::option_definition()

Return value

string Field value from node object

2 calls to views_gantt_plugin_style_gantt::views_gantt_get_field_value()
views_gantt_plugin_style_gantt::get_project in ./views_gantt_plugin_style_gantt.inc
views_gantt_plugin_style_gantt::project_date in ./views_gantt_plugin_style_gantt.inc

File

./views_gantt_plugin_style_gantt.inc, line 393
Contains the list style plugin.

Class

views_gantt_plugin_style_gantt
Style plugin to render Gantt charts.

Code

function views_gantt_get_field_value($row, $field_options_name) {
  $field_name = $this->options[$field_options_name];
  $field_value = '';

  // If field value is array, we try to get it's raw value,
  // if it's not possible, we get rendered value.
  if (isset($this->option_fields[$field_name]) && !empty($this->option_fields[$field_name])) {
    $field_value = $row->{$this->option_fields[$field_name]};
    if (is_array($field_value)) {
      if ($field_options_name == 'end_date_field' && isset($field_value[0]['raw']['value2'])) {
        $field_value = $field_value[0]['raw']['value2'];
      }
      elseif (isset($field_value[0]['raw']['value'])) {
        $field_value = $field_value[0]['raw']['value'];
      }
      elseif (isset($field_value[0]['rendered']['#markup'])) {
        $field_value = $field_value[0]['rendered']['#markup'];
      }
    }

    // If field should provide date, we need to return it's
    // value in specific date format (Y,n,j).
    $date_fields = array(
      'date_field',
      'end_date_field',
      'project_date_field',
    );
    if (!is_array($field_value) && in_array($field_options_name, $date_fields)) {
      views_gantt_normalize_date_field($field_value);
    }
  }
  return is_array($field_value) && empty($field_value) ? '' : $field_value;
}