diff --git a/web/app/libs/uoj-lib.php b/web/app/libs/uoj-lib.php index d43a11b..afea464 100644 --- a/web/app/libs/uoj-lib.php +++ b/web/app/libs/uoj-lib.php @@ -13,7 +13,7 @@ function requireLib($name) { // html lib $REQUIRE_LIB[$name] = ''; } function requirePHPLib($name) { // uoj php lib - require $_SERVER['DOCUMENT_ROOT'] . '/app/libs/uoj-' . $name . '-lib.php'; + require_once $_SERVER['DOCUMENT_ROOT'] . '/app/libs/uoj-' . $name . '-lib.php'; } requirePHPLib('expection'); diff --git a/web/app/upgrade/39_limits_in_extra_config/upgrade.php b/web/app/upgrade/39_limits_in_extra_config/upgrade.php new file mode 100644 index 0000000..04fc26e --- /dev/null +++ b/web/app/upgrade/39_limits_in_extra_config/upgrade.php @@ -0,0 +1,37 @@ +getExtraConfig(); + $problem_conf = $problem->getProblemConf(); + + if (!($problem_conf instanceof UOJProblemConf)) { + continue; + } + + $extra_config['time_limit'] = (float)$problem_conf->getVal('time_limit', 1); + $extra_config['memory_limit'] = (int)$problem_conf->getVal('memory_limit', 256); + + DB::update([ + "update problems", + "set", [ + "extra_config" => json_encode($extra_config, JSON_FORCE_OBJECT), + ], + "where", [ + "id" => $problem->info['id'], + ], + ]); + + echo "Problem {$problem->info['id']} upgraded.\n"; + } + } +};