Beispiel #1
0
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";
}
Beispiel #2
0
         }
     }
     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();
Beispiel #3
0
function clear()
{
    global $course_id;
    admin_page_head("Deleting course data");
    BoltEnrollment::delete_aux("course_id = {$course_id}");
    BoltView::delete_aux("course_id = {$course_id}");
    BoltResult::delete_aux("course_id = {$course_id}");
    BoltXsetResult::delete_aux("course_id = {$course_id}");
    BoltSelectFinished::delete_aux("course_id = {$course_id}");
    BoltRefreshRec::delete_aux("course_id = {$course_id}");
    BoltQuestion::delete_aux("course_id = {$course_id}");
    echo "\n\t\tCourse data deleted.\n\t";
    admin_page_tail();
}
Beispiel #4
0
function map_gen_ex($uid, $unit, $sb)
{
    global $course, $now;
    if (frand() < $sb->attr) {
        $mode = BOLT_MODE_SHOW;
        $action = BOLT_ACTION_NONE;
        BoltView::insert("(user_id, course_id, item_name, mode, action, start_time) values ({$uid}, {$course->id}, '{$unit->name}', {$mode}, {$action}, {$now})");
        return false;
    } else {
        $t = $now + urand($sb->time_mean, $sb->time_dev);
        $mode = BOLT_MODE_SHOW;
        $action = BOLT_ACTION_NEXT;
        BoltView::insert("(user_id, course_id, item_name, mode, action, start_time, end_time) values ({$uid}, {$course->id}, '{$unit->name}', {$mode}, {$action}, {$now}, {$t})");
        $score = urand($sb->score_mean, $sb->score_dev);
        BoltResult::insert("(create_time, user_id, course_id, item_name, score) values ({$now}, {$uid}, {$course->id}, '{$unit->name}', {$score})");
        return map_gen_ans($uid, $unit, $sb);
    }
}