function write_the_submission() { if (isset($_REQUEST['redirect'])) { echo '<a href="' . htmlspecialchars($_REQUEST['redirect']) . '">← back</a>'; } $this->write_block_begin("Submission", 'block submission ' . Status::to_css_class($this->subm), '', "submission-" . $this->subm->submissionid); write_submission($this->subm, $this->entity, true); $this->write_block_end(); }
function write_submissions() { $start = isset($_REQUEST['start']) ? (int) $_REQUEST['start'] : 0; $subms = $this->entity->latest_submissions($start, 10); foreach ($subms as $subm) { $entity = $subm->entity(); $this->write_block_begin($subm->submissionid . ': ' . $entity->title(), 'collapsable block submission ' . Status::to_css_class($subm), '', 'submission-' . $subm->submissionid); write_submission($subm, $entity, true); $this->write_block_end(); } if ($start > 0) { echo '<a href="admin_submissions.php?start=' . ($start - 10) . '">← prev</a> | '; } echo '<a href="admin_submissions.php?start=' . ($start + 10) . '">next →</a>'; }
function write_body() { echo '<a href="admin_results.php' . htmlspecialchars($this->entity->path()) . '">view all users</a>'; // list submissions $submissions = $this->user->submissions_to($this->entity); if (empty($submissions)) { echo "<em>no submissions have been made for this assignment by this user.</em>"; } else { $i = count($submissions); foreach ($submissions as $subm) { // is this an interesting submission? $is_interesting = true; if ($is_interesting) { $last_submission = $subm; } // write $this->write_block_begin('Submission ' . $i, 'collapsable block submission ' . ($is_interesting ? '' : 'collapsed ') . Status::to_css_class($subm), '', "submission-{$subm->submissionid}"); write_submission($subm, $this->entity); $this->write_block_end(); $i--; } } }
<?php require_once '../lib/bootstrap.inc'; require_once './submission_view.inc'; // ----------------------------------------------------------------------------- // Ajax utility: view a submission for autorefresh // ----------------------------------------------------------------------------- $submissionid = intval(@$_REQUEST['submissionid']); $subm = Submission::by_id($submissionid); $write_block = (isset($_GET['write_block']) and $_GET['write_block'] == "true"); // check access rights $user = Authentication::require_user(); if (!$user->is_admin && !$subm->is_made_by($user)) { die("You have no rights to view this submission"); } if ($write_block) { $entity = $subm->entity(); Template::write_block_begin($subm->submissionid . ': ' . $entity->title(), 'collapsable block submission ' . Status::to_css_class($subm), '', 'submission-' . $subm->submissionid); write_submission($subm); Template::write_block_end(); } else { echo "<div class=\"newstatus ", Status::to_css_class($subm), "\"></div>"; write_submission($subm); }
function write_submitable_page() { $submissions = Authentication::current_user()->submissions_to($this->entity); $made_submission = isset($_REQUEST['made_submission']) ? $_REQUEST['made_submission'] : false; $this->write_block_begin('Problem description'); $this->write_submitable_entity_info(); $this->write_block_end(); // submission form $last_submission = Authentication::current_user()->last_submission_to($this->entity); if ($this->entity->active()) { $passed = Status::to_status($last_submission) >= Status::PENDING && !isset($_FILES['file']); // no new submission $this->write_block_begin('Submit', 'collapsable block' . ($passed ? ' collapsed' : '')); $this->write_submit_form(); $this->write_block_end(); } echo "<h2>Submissions</h2>"; $this->write_messages('submit-confirm'); // submissions that were made if (empty($submissions)) { echo "<em>no submissions have been made for this assignment.</em>"; } else { $i = count($submissions); foreach ($submissions as $subm) { // is this an interesting submission? $made_this_submission = $made_submission !== false && $subm->submissionid == $made_submission; $is_interesting = $this->entity->is_more_interesting_submission($subm, $last_submission) || $made_this_submission; if ($is_interesting) { $last_submission = $subm; } // write $this->write_block_begin('Submission ' . $i, 'collapsable block submission ' . ($is_interesting ? '' : 'collapsed ') . ($made_this_submission ? 'appear ' : '') . Status::to_css_class($subm), '', "submission-{$subm->submissionid}"); write_submission($subm, $this->entity); $this->write_block_end(); $i--; } } }