--- sites/all/modules/timeline/timeline.module 2009-01-26 12:08:07.000000000 +1100 +++ sites/all/modules/timeline/timeline.module.new 2009-02-03 18:40:49.000000000 +1100 @@ -256,10 +256,9 @@ function timeline_data($view, $view_args } $bands = array(); - $processed_fields = timeline_process_fields($view->display_handler->options['fields']); - + $view->execute(); + $processed_fields = timeline_process_fields($view->display_handler->options['fields'], $view); if (isset($processed_fields['start']) && isset($processed_fields['title'])) { - $view->execute(); // TODO In order to poperly build sets I need to be internal to the view // display, so I'm going to need to define another one. For the moment I'm @@ -275,11 +274,11 @@ function timeline_data($view, $view_args switch ($type) { case 'start': $view->field[$field['id']]->pre_render($item); - $event['start'] = timeline_format_iso8601_date($item->{$field['table'] .'_'. $field['field']}); + $event['start'] = timeline_format_iso8601_date($item->$field['alias']); break; case 'end': $view->field[$field['id']]->pre_render($item); - $event['end'] = timeline_format_iso8601_date($item->{$field['table'] .'_'. $field['field']}); + $event['end'] = timeline_format_iso8601_date($item->$field['alias']); break; case 'title': $view->field[$field['id']]->pre_render($item); @@ -320,14 +319,16 @@ function timeline_data($view, $view_args * An array of: start field, end field, title field, * and an array of body fields */ -function timeline_process_fields($fields) { +function timeline_process_fields($fields, &$view) { $return = array(); foreach ($fields as $key => $field) { if (!isset($return['start']) && timeline_is_temporal($field)) { $return['start'] = $field; + $return['start']['alias'] = $view->field[$key]->aliases[$key]; } elseif (!isset($return['end']) && timeline_is_temporal($field)) { $return['end'] = $field; + $return['end']['alias'] = $view->field[$key]->aliases[$key]; } elseif (!isset($return['title'])) { $return['title'] = $field;