function update_judge_status() { if (!isset($_REQUEST['judgeid'], $_REQUEST['status'])) { return; } $status = $_REQUEST['status']; if ($_REQUEST['judgeid'] == 'all') { JudgeDaemon::set_status_all($status); $this->add_message('judge', 'confirm', 'Status of all judges set to ' . JudgeDaemon::status_to_text($status)); Log::info('Status of all judges set to ' . JudgeDaemon::status_to_text($status)); } else { $judge = JudgeDaemon::by_id($_REQUEST['judgeid']); if (!$judge) { return; } // it already died if ($status == JudgeDaemon::MUST_STOP && $judge->is_inactive()) { $status = JudgeDaemon::STOPPED; // stop right now } $judge->set_status($status); $this->add_message('judge', 'confirm', 'Status of judge "' . $judge->name . '" set to ' . $judge->status_text()); Log::info('Status of judge set to ' . $judge->status_text(), null, $judge->name); } }
public function status_text() { return JudgeDaemon::status_to_text($this->status, $this->is_inactive()); }