Unify compile error details under reinfo
This commit is contained in:
+16
-11
@@ -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= "<a href='mail.php?to_user=".htmlentities($row['user_id'],ENT_QUOTES,"UTF-8")."&title=$MSG_SUBMIT $id'>Mail the auther</a>";
|
||||
}
|
||||
|
||||
$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);
|
||||
|
||||
+1
-2
@@ -488,7 +488,7 @@ for ($i=0; $i<$rows_cnt; $i++) {
|
||||
|
||||
$view_status[$i][3] = "<span class='hidden' style='display:none' result=".$row['result']."></span>";
|
||||
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] .= "<a href=ceinfo.php?sid=".$row['solution_id']." class='".$judge_color[$row['result']]."' title='$MSG_Tips'>".$MSG_Compile_Error."</a>";
|
||||
$view_status[$i][3] .= "<a href=reinfo.php?sid=".$row['solution_id']." class='".$judge_color[$row['result']]."' title='$MSG_Tips'>".$MSG_Compile_Error."</a>";
|
||||
}
|
||||
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] .= "<a href=reinfo.php?sid=".$row['solution_id']." class='".$judge_color[$row['result']]."' title='$MSG_Tips'>".$judge_result[$row['result']].$mark."</a>";
|
||||
@@ -625,4 +625,3 @@ if( $need_refresh_remote && isset($OJ_REMOTE_JUDGE)&&$OJ_REMOTE_JUDGE&& (time()-
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
@@ -95,9 +95,9 @@ function fresh_result(solution_id) {
|
||||
case 10:
|
||||
row.cells[4].innerHTML = "<a href=reinfo.php?sid="+solution_id+" class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+" :"+(oj_mark=='percent'?100-ra[4].trim():ra[4].trim())+"%</a>";
|
||||
break;
|
||||
case 11:
|
||||
row.cells[4].innerHTML = "<a href=ceinfo.php?sid="+solution_id+" class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+"</a>";
|
||||
break;
|
||||
case 11:
|
||||
row.cells[4].innerHTML = "<a href=reinfo.php?sid="+solution_id+" class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+"</a>";
|
||||
break;
|
||||
default:
|
||||
// row.cells[4].innerHTML = "<span class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+" AC:"+ra[4].trim()+"%</span>";
|
||||
}
|
||||
|
||||
@@ -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+">";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user