public function updateJudgeStatus() { try { $op = strtolower(trim(fRequest::get('status', 'string'))); $judge_message = base64_decode(fRequest::get('judgeMessage', 'string')); $verdict = fRequest::get('verdict', 'integer'); $id = fRequest::get('id', 'integer'); $r = new Record($id); if ($op == 'running') { $r->setJudgeStatus(JudgeStatus::RUNNING); $r->setJudgeMessage($r->getJudgeMessage() . "\n{$judge_message}"); $r->store(); } else { if ($op == 'done') { $r->setJudgeStatus(JudgeStatus::DONE); if (!empty($judge_message)) { $r->setJudgeMessage($judge_message); } $r->setVerdict($verdict); $r->store(); } } echo "{$op}\n"; echo "{$judge_message}\n"; echo "{$verdict}\n"; echo "{$id}\n"; } catch (fException $e) { echo -1; } }
public function submit($problem_id) { try { $problem = new Problem($problem_id); $language = fRequest::get('language', 'integer'); if (!array_key_exists($language, static::$languages)) { throw new fValidationException('Invalid language.'); } fSession::set('last_language', $language); $code = trim(fRequest::get('code', 'string')); if (strlen($code) == 0) { throw new fValidationException('Code cannot be empty.'); } if ($problem->isSecretNow()) { if (!User::can('view-any-problem')) { throw new fAuthorizationException('Problem is secret now. You are not allowed to submit this problem.'); } } $record = new Record(); $record->setOwner(fAuthorization::getUserToken()); $record->setProblemId($problem->getId()); $record->setSubmitCode($code); $record->setCodeLanguage($language); $record->setSubmitDatetime(Util::currentTime()); $record->setJudgeStatus(JudgeStatus::PENDING); $record->setJudgeMessage('Judging... PROB=' . $problem->getId() . ' LANG=' . static::$languages[$language]); $record->setVerdict(Verdict::UNKNOWN); $record->store(); Util::redirect('/status'); } catch (fException $e) { fMessaging::create('error', $e->getMessage()); fMessaging::create('code', '/submit', fRequest::get('code', 'string')); Util::redirect("/submit?problem={$problem_id}"); } }
public function store() { global $g_pdo; if (($guest = Guest::get_from_email($this->get_value("email"))) != null) { $this->id = $guest->id; } else { parent::store(); } $this->link_to_event(); }
/** * createRoot * * @return boolean */ public function createRoot() { $record = new Record($this->table); $key = $this->getKeyName(); $record->parent_id = 0; $record->lft = 0; $record->rgt = 1; $record->level = 0; $record->title = 'root'; $record->alias = 'root'; $record->access = 1; static::$rootId = $record->{$key}; return $record->store(); }
public function manjudge($id, $score) { try { if (!User::can('rejudge-record')) { throw new fAuthorizationException('You are not allowed to rejudge records.'); } if ($score < 0) { throw new fValidationException('Score cannot be negative.'); } $record = new Record($id); $record->manjudge($score); $record->store(); fMessaging::create('success', "Record {$id} manually judged."); } catch (fException $e) { fMessaging::create('error', $e->getMessage()); } fURL::redirect(Util::getReferer()); }