diff --git a/web/app/controllers/problem.php b/web/app/controllers/problem.php index 9d1c355..5920a7a 100644 --- a/web/app/controllers/problem.php +++ b/web/app/controllers/problem.php @@ -259,8 +259,6 @@ if ($pre_submit_check_ret === true && !$no_more_submission) { $answer_form->runAtServer(); } -$conf = UOJProblem::cur()->getProblemConf(); - if (UOJContest::cur()) { $pageTitle = UOJProblem::cur()->getTitle(['with' => 'letter', 'simplify' => true]); } else { @@ -291,13 +289,8 @@ if (UOJContest::cur()) { getVal('time_limit', 1) : null; - $memory_limit = $conf instanceof UOJProblemConf ? $conf->getVal('memory_limit', 256) : null; - } else if (UOJProblem::info('type') == 'remote') { - $time_limit = UOJProblem::cur()->getExtraConfig('time_limit'); - $memory_limit = UOJProblem::cur()->getExtraConfig('memory_limit'); - } + $time_limit = UOJProblem::cur()->getExtraConfig('time_limit'); + $memory_limit = UOJProblem::cur()->getExtraConfig('memory_limit'); ?>
时间限制: diff --git a/web/app/libs/uoj-data-lib.php b/web/app/libs/uoj-data-lib.php index aad2fb7..38bca6e 100644 --- a/web/app/libs/uoj-data-lib.php +++ b/web/app/libs/uoj-data-lib.php @@ -482,6 +482,22 @@ class SyncProblemDataHandler { ['mv', "{$this->id}.next.zip", "{$this->id}.zip", '-f'], ]); + DB::update([ + "update problems", + "set", [ + "extra_config" => DB::json_set( + 'extra_config', + '$.time_limit', + $this->final_problem_conf['time_limit'] ? (int)$this->final_problem_conf['time_limit'] : null, + '$.memory_limit', + $this->final_problem_conf['memory_limit'] ? (int)$this->final_problem_conf['memory_limit'] : null, + ), + ], + "where", [ + "id" => $this->id, + ], + ]); + return ''; }