require_once "../inc/bolt_db.inc"; require_once "../inc/util.inc"; require_once "../inc/bolt_util.inc"; page_head("Courses"); $user = get_logged_in_user(false); if ($user) { BoltUser::lookup($user); } $courses = BoltCourse::enum(); start_table(); table_header("Course", "Status"); foreach ($courses as $course) { if ($course->hidden && !($user->bolt->flags & BOLT_FLAG_SHOW_ALL)) { continue; } $e = $user ? BoltEnrollment::lookup($user->id, $course->id) : null; if ($e) { $start = date_str($e->create_time); $view = BoltView::lookup_id($e->last_view_id); $ago = time_diff(time() - $view->start_time); $pct = number_format($view->fraction_done * 100, 0); $status = "Started {$start}\n <br>Last visit: {$ago} ago\n <br>{$pct}% done\n "; if ($view->fraction_done < 1) { $status .= "<br><a href=bolt_sched.php?course_id={$course->id}&action=resume>Resume</a>\n "; } $status .= "<br><a href=bolt_sched.php?course_id={$course->id}&action=start>Restart</a>\n | <a href=bolt_course.php?course_id={$course->id}>History</a>\n "; } else { $status = "\n <a href=bolt_sched.php?course_id={$course->id}&action=start>Start</a>\n "; } row2_init("<b>{$course->name}</b>\n <br><span class=note>{$course->description}</span>", $status); show_refreshes();
$view_id = create_view($iter, $mode, $view->id); show_item($iter, $view_id, $view->id, $mode); break; case 'resume': // user chose to resume a course or refresh // if ($refresh) { if ($refresh->last_view_id) { $view = BoltView::lookup_id($refresh->last_view_id); } else { start_refresh(); exit; } } else { $view = null; $e = BoltEnrollment::lookup($user->id, $course_id); if ($e) { $view = BoltView::lookup_id($e->last_view_id); } if (!$view) { start_course(); break; } } 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();