function show_view($view) { if ($view->end_time) { $d = $view->end_time - $view->start_time; $dur = "{$d} seconds"; } else { $dur = "---"; } if ($view->result_id) { $result = BoltResult::lookup_id($view->result_id); $qs = str_replace("action=answer", "action=answer_page", $result->response); $score = number_format($result->score * 100); $x = "<br>Score: {$score}%\n\t\t\t<br><a href=bolt_sched.php?{$qs}>Answer page</a>"; } echo "<tr>\n\t\t<td valign=top>{$view->id}</td>\n\t\t<td valign=top>" . time_str($view->start_time) . "</td>\n\t\t<td valign=top>{$dur}</td>\n\t\t<td valign=top>{$view->item_name}</td>\n\t\t<td valign=top>" . mode_name($view->mode) . " {$x}</td>\n\t"; //<td valign=top>".phase_name($view->phase)."</td> echo "\n\t\t<td valign=top>" . action_name($view->action) . "</td>\n\t\t</tr>\n\t"; }
} } if ($view->mode == BOLT_MODE_FINISHED) { show_finished_page($view->id, $view->prev_view_id); break; } $iter = new BoltIter($course_doc); $iter->decode_state($view->state); $iter->at(); $mode = $view->mode; if ($view->item_name == $iter->item->name && $mode == BOLT_MODE_ANSWER) { // if we're returning to an answer page, // we need to look up the user's responses and the score. // $view_orig = BoltView::lookup_id($view->prev_view_id); $result = BoltResult::lookup_id($view_orig->result_id); srand($view_orig->id); $bolt_ex->query_string = $result->response; $bolt_ex->score = $result->score; $bolt_ex->index = 0; $view_id = create_view($iter, $mode, $view_orig->id); show_item($iter, $view_id, $view_orig->id, $mode); } else { $view_id = create_view($iter, $mode, $view->id); show_item($iter, $view_id, $view->id, $mode); } break; case 'question': $view = finalize_view($view_id, BOLT_ACTION_QUESTION); debug_show_state(unserialize($view->state), "Initial"); $now = time();