diff options
Diffstat (limited to 'toj/smod/smod_test')
-rwxr-xr-x | toj/smod/smod_test/smod_test.css | 29 | ||||
-rwxr-xr-x | toj/smod/smod_test/smod_test.html | 10 | ||||
-rwxr-xr-x | toj/smod/smod_test/smod_test.js | 43 | ||||
-rwxr-xr-x | toj/smod/smod_test/smod_test.php | 21 |
4 files changed, 103 insertions, 0 deletions
diff --git a/toj/smod/smod_test/smod_test.css b/toj/smod/smod_test/smod_test.css new file mode 100755 index 0000000..be7aac2 --- /dev/null +++ b/toj/smod/smod_test/smod_test.css @@ -0,0 +1,29 @@ +div.smod_test > h1.msg{ + padding:0px 0px 6px 0px; +} +div.smod_test > table.subinfolist{ + padding:0px 0px 6px 0px; + text-align:left; +} +div.smod_test > table.subinfolist tr.head{ + height:32px; + font-size:20px; +} +div.smod_test > table.subinfolist tr.item{ + height:32px; +} +div.smod_test > table.subinfolist th.runtime,div.smod_test > table.subinfolist td.runtime{ + width:96px; +} +div.smod_test > table.subinfolist th.memory,div.smod_test > table.subinfolist td.memory{ + width:96px; +} +div.smod_test > table.subinfolist th.status,div.smod_test > table.subinfolist td.status{ + width:96px; +} +div.smod_test > table.subinfolist th.score,div.smod_test > table.subinfolist td.score{ + width:96px; +} +div.smod_test > table.subinfolist th.score,div.smod_test > table.subinfolist td.errmsg{ + width:auto; +} diff --git a/toj/smod/smod_test/smod_test.html b/toj/smod/smod_test/smod_test.html new file mode 100755 index 0000000..0e70522 --- /dev/null +++ b/toj/smod/smod_test/smod_test.html @@ -0,0 +1,10 @@ +<h1 class="msg" style="display:none;">Waiting</h1> +<table class="subinfolist" style="display:none;"> + <tr class="head"> + <th class="runtime">執行時間</th> + <th class="memory">記憶體</th> + <th class="status">狀態</th> + <th class="score">分數</th> + <th class="errmsg"></th> + </tr> +</table> diff --git a/toj/smod/smod_test/smod_test.js b/toj/smod/smod_test/smod_test.js new file mode 100755 index 0000000..0ef3674 --- /dev/null +++ b/toj/smod/smod_test/smod_test.js @@ -0,0 +1,43 @@ +var smod_test = { + init:function(that,j_mbox){ + that.export_switchchange = function(direct){ + if(direct == 'in'){ + that.fadein(j_mbox); + $.post('/toj/smod/smod_test/smod_test.php',{'subid':JSON.stringify(that.subid)},function(res){ + var i; + var result; + var reso; + var j_table; + var j_item; + + + if(res[0] == 'E'){ + if(res == 'Enull'){ + j_mbox.find('h1.msg').show(); + } + }else{ + result = JSON.parse(res).result; + + j_table = j_mbox.find('table.subinfolist'); + for(i = 0;i < result.length;i++){ + reso = result[i]; + j_item = $('<tr class="item"><td class="runtime"></td><td class="memory"></td><td class="status"></td><td class="score"></td><td class="errmsg"></td></tr>') + j_item.find('td.runtime').text(reso.runtime); + j_item.find('td.memory').text(reso.memory); + j_item.find('td.status').text(RESULTMAP[reso.status]); + j_item.find('td.score').text(reso.score); + if(reso.errmsg != undefined){ + j_item.find('td.errmsg').text(reso.errmsg); + } + + j_table.append(j_item); + } + j_table.show(); + } + }); + }else if(direct == 'out'){ + that.fadeout(j_mbox); + } + }; + } +}; diff --git a/toj/smod/smod_test/smod_test.php b/toj/smod/smod_test/smod_test.php new file mode 100755 index 0000000..39d2cb3 --- /dev/null +++ b/toj/smod/smod_test/smod_test.php @@ -0,0 +1,21 @@ +<?php +require_once('../../php/status.inc.php'); + +$subid = json_decode($_POST['subid']); +if(gettype($subid) != 'integer' || $subid < 1){ + exit('Esubid'); +} + +$sqlc = db_connect(); +if(!status::subid_is_available($sqlc,$subid)){ + exit('Epermission'); +} +db_close($sqlc); + +$subdir = '/srv/http/toj/center/submit/'.($subid - ($subid % 1000)).'/'.$subid.'/result/'; +if(($result = file_get_contents($subdir.'result')) == ''){ + exit('Enull'); +} + +echo($result); +?> |