/** * returns available states */ protected function getStates() { $flags = (!isset($this->entry) || $this->entry->isOwner() ? ContestState::FLAG_USER : 0) + ($this->contest->isOwner() ? ContestState::FLAG_CONTESTOWNER : 0) + (ContestCrew::isMember() ? ContestState::FLAG_CREW : 0); if (isset($this->entry) && $this->entry->enableOpenSolution) { $flags += ContestSolutionEditor::FLAG_OPENSOLUTION; } return ContestSolutionEditor::getStates(isset($this->entry) ? $this->entry->state : '', $flags); }