Index: uts.data.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/uts/uts.data.inc,v
retrieving revision 1.10
diff -u -r1.10 uts.data.inc
--- uts.data.inc	16 Aug 2008 22:04:38 -0000	1.10
+++ uts.data.inc	15 Jan 2009 06:08:01 -0000
@@ -62,40 +62,42 @@
  * ($sessiond_id, $start_task_id, $stop_task_id)
  *
  * @param string $session_id Session ID.
- * @param integer Start task ID (or both if no stop task specified).
- * @param integer Stop task ID.
+ * @param integer $start_task_id Start task ID (or both if no stop task specified).
+ * @param integer $stop_task_id Stop task ID.
+ * @param boolean $return_now Return time() if there is no stop timestamp. Only
+ *   set to FALSE when calculating time spent on each task.
  *
  * @return array First element is the start time and second is the stop time.
  */
-function uts_data_get_timestamps() {
-  $args = func_get_args();
-  $session_id = array_shift($args);
-  if (count($args) == 0) {
-    // Get first and last timestamp for entire study.
-    $session = uts_session_load($session_id);
-    $study_nid = $session->study_nid;
-    $tasks = uts_tasks_load($study_nid);
-    $first = array_shift($tasks);
-    $last = (!empty($tasks) ? array_pop($tasks) : $first);
-
-    $first = $first->nid;
-    $last = $last->nid;
+function uts_data_get_timestamps($session_id, $start_task_id = NULL, $stop_task_id = NULL, $return_now = TRUE) {
+  if ($stop_task_id) {
+    // All variable already set.
   }
-  else if (count($args) == 1) {
-    $first = $last = $args[0];
+  elseif ($start_task_id) {
+    $stop_task_id = $start_task_id;
   }
   else {
-    $first = $args[0];
-    $last = $args[1];
+    // Get first and last tasks in the study.
+    $session = uts_session_load($session_id);
+    $tasks = uts_tasks_load($session->study_nid);
+    $first = array_shift($tasks);
+    $last = ($tasks ? array_pop($tasks) : $first);
+
+    $start_task_id = $first->nid;
+    $stop_task_id = $last->nid;
   }
   $start = db_result(db_query("SELECT start_time
                                FROM {uts_session_task}
                                WHERE session_id = '%s'
-                               AND task_nid = %d", $session_id, $first));
+                               AND task_nid = %d", $session_id, $start_task_id));
   $stop = db_result(db_query("SELECT stop_time
                               FROM {uts_session_task}
                               WHERE session_id = '%s'
-                              AND task_nid = %d", $session_id, $last));
+                              AND task_nid = %d", $session_id, $stop_task_id));
+  // Usually just want date range to query data from plugins.
+  if ($return_now && $stop === FALSE) {
+    $stop = time();
+  }
   return array($start, $stop);
 }
 
Index: uts.analysis.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/uts/uts.analysis.inc,v
retrieving revision 1.19
diff -u -r1.19 uts.analysis.inc
--- uts.analysis.inc	28 Dec 2008 23:32:26 -0000	1.19
+++ uts.analysis.inc	15 Jan 2009 06:08:01 -0000
@@ -109,7 +109,7 @@
   $max = 0;
   foreach ($sessions as $session_id) {
     $session = uts_session_load($session_id);
-    list($start, $stop) = uts_data_get_timestamps($session->session_id, $task->nid);
+    list($start, $stop) = uts_data_get_timestamps($session->session_id, $task->nid, NULL, FALSE);
     $time = $stop - $start;
     $max = max($max, $time);
 
@@ -136,8 +136,13 @@
             '">' . $i . '</div>';
 
     list($start, $stop) = uts_data_get_timestamps($session_id, $task->nid);
-    $data[$session_id] = uts_data_get($task->study_nid, $session_id, $start, $stop);
-    $data[$session_id] = $data[$session_id]['uts_live_feedback'];
+    if ($start) {
+      $data[$session_id] = uts_data_get($task->study_nid, $session_id, $start, $stop);
+      $data[$session_id] = $data[$session_id]['uts_live_feedback'];
+    }
+    else {
+      $data[$session_id] = array(); // Add blank entry so that placeholder text is added.
+    }
     $i++;
   }
   $out .= '</div>';
@@ -152,7 +157,7 @@
       $list[] = l($teaser, '#') . '<div>' . $comment['message'] . '</div>';
     }
 
-    $out .= ($list ? theme('item_list', $list, NULL, 'ul', array('class' => 'hax ui-accordion-container')) :
+    $out .= ($list ? theme('item_list', $list, NULL, 'ul', array('class' => 'ui-accordion-container')) :
              '<em>' . t('No comments to display.') . '</em>');
     $out .= '</div>';
     $i++;
