diff --git a/web/reinfo.php b/web/reinfo.php
index 0dbf532..6c2397c 100644
--- a/web/reinfo.php
+++ b/web/reinfo.php
@@ -181,9 +181,10 @@ function parse_diff_blocks($text) {
return $blocks;
}
+$is_compile_error = intval($row['result']) == 11;
$view_reinfo = "";
-$view_reinfo_raw = ""; // 原始(管理员/有权限者看)
-$view_reinfo_summary = ""; // 折叠后(普通用户看)
+$view_reinfo_raw = ""; // 原始(管理员/有权限者看)
+$view_reinfo_summary = ""; // 折叠后(普通用户看)
$view_reinfo_dedup_count = 0; // 折叠掉的测试点数
$verdict_color_class = "blue"; // semantic ui color: green/red/orange/yellow/grey
$result_icon = "info circle";
@@ -195,8 +196,10 @@ if($ok){
$view_mail_link= "Mail the auther";
}
- $sql = "SELECT `error` FROM `runtimeinfo` WHERE `solution_id`=?";
- $rt = pdo_query($sql,$id);
+ $sql = $is_compile_error
+ ? "SELECT `error` FROM `compileinfo` WHERE `solution_id`=?"
+ : "SELECT `error` FROM `runtimeinfo` WHERE `solution_id`=?";
+ $rt = pdo_query($sql,$id);
$raw_error = "";
if(isset($rt[0])){
$raw_error = $rt[0]['error'];
@@ -246,8 +249,8 @@ if($ok){
case 10: // RE
$verdict_tip = "程序运行中发生错误(Runtime Error)";
break;
- case 11: // CE
- $verdict_tip = "编译错误(Compile Error)。请查看编译信息页。";
+ case 11: // CE
+ $verdict_tip = "编译错误(Compile Error)。请查看下方编译信息。";
break;
case 13: // TR (test run)
$verdict_tip = "测试运行完成(Test Run)";
@@ -258,10 +261,12 @@ if($ok){
// === 阶段 3:原始错误处理(syscall 提示 vs 占位符修复)===
$view_reinfo_raw = $raw_error;
- if (trim($raw_error) === "") {
- // TLE/MLE/OLE 时 runtimeinfo 通常为空
- $view_reinfo_summary = "";
- } else {
+ if (trim($raw_error) === "") {
+ // TLE/MLE/OLE 时 runtimeinfo 通常为空
+ $view_reinfo_summary = "";
+ } elseif ($is_compile_error) {
+ $view_reinfo_summary = $raw_error;
+ } else {
// 含 "PASS" 不再显示 "error3" 占位
// 含 "php" 不再显示 "error2" 占位(用 generic 提示)
if (strpos($raw_error, "php") !== false) {
@@ -348,7 +353,7 @@ else{
/////////////////////////Template
-if(!isset($_SESSION[$OJ_NAME.'_'.'source_browser']) && $OJ_SHOW_DIFF==false){
+if(!$is_compile_error && !isset($_SESSION[$OJ_NAME.'_'.'source_browser']) && $OJ_SHOW_DIFF==false){
$view_errors = $MSG_WARNING_ACCESS_DENIED;
require("template/".$OJ_TEMPLATE."/error.php");
exit(0);
diff --git a/web/status.php b/web/status.php
index bf0581e..1fa8556 100644
--- a/web/status.php
+++ b/web/status.php
@@ -488,7 +488,7 @@ for ($i=0; $i<$rows_cnt; $i++) {
$view_status[$i][3] = "";
if (intval($row['result'])==11 && ((isset($_SESSION[$OJ_NAME.'_'.'user_id']) && $row['user_id']==$_SESSION[$OJ_NAME.'_'.'user_id']) || isset($_SESSION[$OJ_NAME.'_'.'source_browser']))) {
- $view_status[$i][3] .= "".$MSG_Compile_Error."";
+ $view_status[$i][3] .= "".$MSG_Compile_Error."";
}
else if ((((intval($row['result'])==8 || intval($row['result'])==7 || intval($row['result'])==5 || intval($row['result'])==6) && ($OJ_SHOW_DIFF || isset($_SESSION[$OJ_NAME.'_'.'source_browser']))) || $row['result']==10 || $row['result']==13) && ((isset($_SESSION[$OJ_NAME.'_'.'user_id']) && $row['user_id']==$_SESSION[$OJ_NAME.'_'.'user_id']) || isset($_SESSION[$OJ_NAME.'_'.'source_browser']))) {
$view_status[$i][3] .= "".$judge_result[$row['result']].$mark."";
@@ -625,4 +625,3 @@ if( $need_refresh_remote && isset($OJ_REMOTE_JUDGE)&&$OJ_REMOTE_JUDGE&& (time()-
-
diff --git a/web/template/syzoj/auto_refresh.js b/web/template/syzoj/auto_refresh.js
index e48c6d7..e39c43a 100644
--- a/web/template/syzoj/auto_refresh.js
+++ b/web/template/syzoj/auto_refresh.js
@@ -95,9 +95,9 @@ function fresh_result(solution_id) {
case 10:
row.cells[4].innerHTML = ""+judge_result[ra[0]]+" :"+(oj_mark=='percent'?100-ra[4].trim():ra[4].trim())+"%";
break;
- case 11:
- row.cells[4].innerHTML = ""+judge_result[ra[0]]+"";
- break;
+ case 11:
+ row.cells[4].innerHTML = ""+judge_result[ra[0]]+"";
+ break;
default:
// row.cells[4].innerHTML = ""+judge_result[ra[0]]+" AC:"+ra[4].trim()+"%";
}
diff --git a/web/template/syzoj/submitpage.php b/web/template/syzoj/submitpage.php
index 6397991..d4dd9b4 100644
--- a/web/template/syzoj/submitpage.php
+++ b/web/template/syzoj/submitpage.php
@@ -601,7 +601,7 @@ function fresh_result(solution_id)
else tag="a";
{
if(ra[0]==11||ra[0]>15)
- tb.innerHTML="<"+tag+" href='ceinfo.php?sid="+solution_id+"' class='badge badge-info' target=_blank>"+judge_result[ra[0]]+""+tag+">";
+ tb.innerHTML="<"+tag+" href='reinfo.php?sid="+solution_id+"' class='badge badge-info' target=_blank>"+judge_result[ra[0]]+""+tag+">";
else
tb.innerHTML="<"+tag+" href='reinfo.php?sid="+solution_id+"' class='badge badge-info' target=_blank>"+judge_result[ra[0]]+"AC:"+ra[4]+""+tag+">";
}