コード例 #1
0
 function write_the_submission()
 {
     if (isset($_REQUEST['redirect'])) {
         echo '<a href="' . htmlspecialchars($_REQUEST['redirect']) . '">&larr; 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();
 }
コード例 #2
0
ファイル: admin_submissions.php プロジェクト: jlsa/justitia
 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) . '">&larr; prev</a> | ';
     }
     echo '<a href="admin_submissions.php?start=' . ($start + 10) . '">next &rarr;</a>';
 }
コード例 #3
0
 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--;
         }
     }
 }
コード例 #4
0
ファイル: ajax_submission.php プロジェクト: jlsa/justitia
<?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);
}
コード例 #5
0
ファイル: index.php プロジェクト: jlsa/justitia
 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--;
         }
     }
 }