function views_gantt_plugin_style_gantt::views_gantt_get_node_field_value in Views Gantt 7
Same name and namespace in other branches
- 7.2 views_gantt_plugin_style_gantt.inc \views_gantt_plugin_style_gantt::views_gantt_get_node_field_value()
Returns value of specific field from node.
Parameters
object $node: Node object received via node_load()
string $field_options_name: Option key from views_gantt_plugin_style_gantt::option_definition()
Return value
string Field value from node object
File
- ./
views_gantt_plugin_style_gantt.inc, line 435 - Contains the list style plugin.
Class
- views_gantt_plugin_style_gantt
- Style plugin to render Gantt charts.
Code
function views_gantt_get_node_field_value($node, $field_options_name) {
$field_name = $this->options_node[$field_options_name];
$field_value = '';
$lang = LANGUAGE_NONE;
if (isset($node->{$field_name}) && !empty($node->{$field_name})) {
$field_value = $node->{$field_name};
if (is_array($field_value)) {
// Get field info.
$field_info = field_info_field($field_name);
// If field is translatable, we check if
// it has an index equals to node language.
$is_translatable = field_is_translatable('node', $field_info);
if ($is_translatable && isset($node->{$field_name}[$node->language])) {
$lang = $node->language;
}
$value_keys = array_keys($field_info['columns']);
$field_value = $node->{$field_name}[$lang][0][$value_keys[0]];
if ($field_options_name == 'end_date_field' && isset($value_keys[1])) {
$field_value = $node->{$field_name}[$lang][0][$value_keys[1]];
}
}
// 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 $field_value;
}