aboutsummaryrefslogtreecommitdiffstats
path: root/toj/smod/smod_test
diff options
context:
space:
mode:
Diffstat (limited to 'toj/smod/smod_test')
-rwxr-xr-xtoj/smod/smod_test/smod_test.css29
-rwxr-xr-xtoj/smod/smod_test/smod_test.html10
-rwxr-xr-xtoj/smod/smod_test/smod_test.js43
-rwxr-xr-xtoj/smod/smod_test/smod_test.php21
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);
+?>