? timeline.module.cvs
? timeline.module.image
Index: timeline.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/timeline/timeline.module,v
retrieving revision 1.3.2.7.2.7
diff -u -p -r1.3.2.7.2.7 timeline.module
--- timeline.module	16 Mar 2008 23:50:53 -0000	1.3.2.7.2.7
+++ timeline.module	9 Apr 2008 10:51:30 -0000
@@ -489,9 +489,30 @@ function timeline_data($view, $view_args
     }
   }
 
+  if (isset($view->field)) {
+    foreach ($view->field as $field) {
+      switch ($field['label']) {
+      case 'title':
+        $title_field[] = $field['queryname'];
+        break;
+      case 'body':
+        $body_field[] = $field['queryname'];
+      break;
+      case 'image':
+        $image_field[] = $field['queryname'];
+      break;
+      default:
+        // handle some legacy, fields without labels
+        if (isset($view->field[1]['field']) && ($view->field[1][field] == $field->field)) $title_field[0] = $field['queryname'];
+        if (isset($view->field[2]['field']) && ($view->field[2]['field'] == $field->field)) $body_field[0] = $field['queryname'];
+      }
+    }
+  }
+  /*
   $title_field = isset($view->field[1]['field']) ? $view->field[1]['queryname'] : NULL;
   $body_field = isset($view->field[2]['field']) ? $view->field[2]['queryname'] : NULL;
-  $format_field = isset($body_field) ? preg_replace('/_value$/', '_format', $body_field) : NULL;
+*/
+  $format_field = isset($body_field[0]) ? preg_replace('/_value$/', '_format', $body_field[0]) : NULL;
 
   $events = array();
   foreach ($items->items as $item) {
@@ -499,8 +520,20 @@ function timeline_data($view, $view_args
 
     $start_value = !empty($start_field) && !empty($item->$start_field) ? $item->$start_field : $node->created;
     $end_value = !empty($end_field) && !empty($item->$end_field) ? $item->$end_field : NULL;
-    $title_value = !empty($title_field) && !empty($item->$title_field) ? $item->$title_field : $node->title;
-    $body_value = !empty($body_field) && !empty($item->$body_field) ? $item->$body_field : $node->teaser;
+    if (!empty($title_field) && is_array($title_field)) {
+      $title_value = "";
+      foreach ($title_field as $title) {
+        $title_value .= $item->$title;
+      }
+    }
+    if ($title_value == "") $title_value = $node->title;    
+    if (!empty($body_field) && is_array($body_field)) {
+      $body_value = "";
+      foreach ($body_field as $body) {
+        $body_value .= $item->$body;
+      }
+    }
+    if ($body_value == "") $body_value = $node->teaser;    
     $body_format = !empty($format_field) && !empty($item->$format_field) ? $item->$format_field : $node->format;
 
     $event = array(
