2024-10-10
This commit is contained in:
144
web/template/sidebar/auto_refresh.js
Normal file
144
web/template/sidebar/auto_refresh.js
Normal file
@@ -0,0 +1,144 @@
|
||||
var i = 0;
|
||||
var interval = 800;
|
||||
|
||||
function auto_refresh() {
|
||||
interval *=2 ;
|
||||
var tb = window.document.getElementById('result-tab');
|
||||
var rows = tb.rows;
|
||||
var i=rows.length-1;
|
||||
for (; i>0; i--) {
|
||||
var result = $(rows[i].cells[4].children[0]).attr("result");
|
||||
result=$(rows[i].cells[4]).find("span").attr("result");
|
||||
rows[i].cells[4].className = "td_result";
|
||||
var sid = $(rows[i].cells[0]).text();
|
||||
|
||||
if (result<4||result>14) {
|
||||
window.setTimeout("fresh_result("+sid+")",interval);
|
||||
console.log("auto_refresh "+sid+" actived!");
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(i==0){
|
||||
console.log("no more");
|
||||
$("iframe").remove(); //
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function findRow(solution_id) {
|
||||
var tb = window.document.getElementById('result-tab');
|
||||
var rows = tb.rows;
|
||||
for (var i=1; i<rows.length; i++) {
|
||||
var cell = rows[i].cells[0];
|
||||
if ($(cell).text()==solution_id)
|
||||
return rows[i];
|
||||
}
|
||||
}
|
||||
function fancy(td){
|
||||
console.log(user_id+":"+fancy_mp3);
|
||||
$(td).html("<div id='bannerFancy' style='position:absolute;top:0px;left:0px;width:100%' class='ui main container'></div><audio autoplay=\"autoplay\" preload=\"auto\" src='"+fancy_mp3+"'></audio>");
|
||||
window.setTimeout("$(\"#bannerFancy\").html(\"<iframe border=0 src='fancy.php' width='100%' height='800px'></iframe>\");",500);
|
||||
window.setTimeout("$(\"#bannerFancy\").remove();",5000);
|
||||
}
|
||||
function fresh_result(solution_id) {
|
||||
var xmlhttp;
|
||||
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
|
||||
xmlhttp = new XMLHttpRequest();
|
||||
}
|
||||
else {// code for IE6, IE5
|
||||
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
||||
}
|
||||
|
||||
xmlhttp.onreadystatechange = function() {
|
||||
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
|
||||
var tb = window.document.getElementById('result-tab');
|
||||
var row = findRow(solution_id);
|
||||
//alert(row);
|
||||
var r = xmlhttp.responseText;
|
||||
var ra = r.split(",");
|
||||
ra[0] = parseInt(ra[0]);
|
||||
// alert(r);
|
||||
// alert(judge_result[r]);
|
||||
var loader = "<img width=18 src=image/loader.gif>";
|
||||
row.cells[5].innerHTML = ra[1];
|
||||
row.cells[6].innerHTML = ra[2];
|
||||
|
||||
if(ra[3] != undefined && row.cells[10] != undefined)
|
||||
row.cells[10].innerHTML = ra[3];
|
||||
|
||||
if (ra[0]<4) {
|
||||
//console.log(loader);
|
||||
if (-1==row.cells[4].innerHTML.indexOf("loader")) {
|
||||
//console.log(row.cells[3].innerHTML);
|
||||
row.cells[4].innerHTML += loader;
|
||||
}
|
||||
interval *= 1.5;
|
||||
window.setTimeout("fresh_result("+solution_id+")",interval);
|
||||
}
|
||||
else {
|
||||
//console.log(ra[0]);
|
||||
switch (ra[0]) {
|
||||
case 4:
|
||||
case 14:
|
||||
if(user_id==ra[5]){
|
||||
fancy(row.cells[4]);
|
||||
row.cells[4].innerHTML += "<a href=reinfo.php?sid="+solution_id+" class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+"</a>";
|
||||
}else{
|
||||
row.cells[4].innerHTML = "<a href=reinfo.php?sid="+solution_id+" class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+"</a>";
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
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;
|
||||
default:
|
||||
// row.cells[4].innerHTML = "<span class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+" AC:"+ra[4].trim()+"%</span>";
|
||||
}
|
||||
$(row.cells[4].children[0]).attr("result",ra[0]);
|
||||
auto_refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
xmlhttp.open("GET","status-ajax.php?solution_id="+solution_id,true);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
var hj_ss = "<select class='http_judge form-control' length='2' name='result'>";
|
||||
|
||||
for (var i=0; i<10; i++) {
|
||||
if(i==3 || i==4 ) continue;
|
||||
hj_ss += " <option value='"+i+"'>"+judge_result[i]+" </option>";
|
||||
}
|
||||
|
||||
hj_ss += "</select>";
|
||||
hj_ss += "<input name='manual' type='hidden'>";
|
||||
hj_ss += "<input class='http_judge form-control' size=5 title='Explaination' name='explain' type='text'>";
|
||||
hj_ss += "<input type='button' class='http_judge' name='manual' value='Submit' onclick='http_judge(this)' >";
|
||||
|
||||
$(".http_judge_form").append(hj_ss);
|
||||
|
||||
window.setTimeout("auto_refresh();",1000);
|
||||
|
||||
$(".td_result").mouseover(function () {
|
||||
//$(this).children(".label").hide(300);
|
||||
$(this).find("form").show(600);
|
||||
var sid = $(this).find("span[class=original]").attr("sid");
|
||||
$(this).find("span[class=original]").load("status-ajax.php?q=user_id&solution_id="+sid);
|
||||
});
|
||||
|
||||
$(".http_judge_form").hide();
|
||||
|
||||
function http_judge(btn) {
|
||||
var sid = $(btn).parent()[0].children[0].value;
|
||||
$.post("admin/problem_judge.php",$(btn).parent().serialize(),function(data,textStatus) {
|
||||
if(textStatus=="success")window.setTimeout("fresh_result("+sid+")",1000);
|
||||
})
|
||||
return false;
|
||||
}
|
||||
49
web/template/sidebar/balloon_list.php
Normal file
49
web/template/sidebar/balloon_list.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
$show_title="$MSG_ERROR_INFO - $OJ_NAME";
|
||||
include("template/$OJ_TEMPLATE/header.php");
|
||||
?>
|
||||
<div class="ui positive icon message">
|
||||
<div class="content">
|
||||
<div class="header" style="margin-bottom: 10px; " ondblclick='$(this).load("refresh-privilege.php")'>
|
||||
<form style="float:left;display:inline" action="balloon.php" method="get">
|
||||
Contest ID:<input type="text" name="cid" value="<?php echo $cid?>" >
|
||||
<input type="submit" class="btn btn-primary" value="Check">
|
||||
</form>
|
||||
<div style="float:right;display:inline">
|
||||
<form style="float:left;" action="balloon.php?cid=<?php echo $cid?>" method="post" onsubmit="return confirm('Delete All Tasks?');">
|
||||
<input type="hidden" name="cid" value="<?php echo $cid?>" >
|
||||
<input type="hidden" name="clean" >
|
||||
<input type="submit" class='btn btn-danger' value="Clean">
|
||||
<?php require_once(dirname(__FILE__)."/../../include/set_post_key.php")?>
|
||||
</form>
|
||||
</div>
|
||||
<table class="table table-striped content-box-header">
|
||||
<tr><td>id<td><?php echo $MSG_USER_ID?><td><?php echo $MSG_COLOR?><td><?php echo $MSG_STATUS?><td></tr>
|
||||
<?php
|
||||
foreach($view_balloon as $row){
|
||||
echo "<tr>\n";
|
||||
foreach($row as $table_cell){
|
||||
echo "<td>";
|
||||
echo $table_cell;
|
||||
echo "</td>";
|
||||
}
|
||||
$i++;
|
||||
echo "</tr>\n";
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <p><%= err.details %></p> -->
|
||||
<p>
|
||||
<!-- <a href="<%= err.nextUrls[text] %>" style="margin-right: 5px; "><%= text %></a> -->
|
||||
|
||||
<a href="javascript:history.go(-1)"><?php echo $MSG_BACK;?></a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
31
web/template/sidebar/balloon_view.php
Normal file
31
web/template/sidebar/balloon_view.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
$show_title="$MSG_ERROR_INFO - $OJ_NAME";
|
||||
include("template/$OJ_TEMPLATE/header.php");
|
||||
?>
|
||||
<div class="ui positive icon message">
|
||||
<i class="check icon"></i>
|
||||
<div class="content">
|
||||
<h1>Balloon Ticket</h1>
|
||||
<?php
|
||||
echo "<h2>".htmlentities(str_replace("\n\r","\n",$view_user),ENT_QUOTES,"utf-8")."\n";
|
||||
echo "-".htmlentities(str_replace("\n\r","\n",$view_school),ENT_QUOTES,"utf-8")."-".htmlentities(str_replace("\n\r","\n",$view_nick),ENT_QUOTES,"utf-8")."\n"."</h2>";
|
||||
echo "Problem ".$PID[$view_pid]."<br>";
|
||||
if(isset($_GET['fb']) && intval($_GET['fb'])==1){
|
||||
echo "Balloon Color: <font color='".$ball_color[$view_pid]."'>".$ball_name[$view_pid]." First Blood! </font><br>";
|
||||
}else{
|
||||
echo "Balloon Color: <font color='".$ball_color[$view_pid]."'>".$ball_name[$view_pid]."</font><br>";
|
||||
}
|
||||
?>
|
||||
<input onclick="window.print();" type="button" value="<?php echo $MSG_PRINTER?>">
|
||||
<input onclick="location.href='balloon.php?id=<?php echo $id?>&cid=<?php echo $cid?>';" type="button" value="<?php echo $MSG_PRINT_DONE?>">
|
||||
<img src="image/wx.jpg" height="100px" width="100px">
|
||||
<?php echo $view_map?>
|
||||
<script src="<?php echo $OJ_CDN_URL?>template/bs3/jquery.min.js"></script>
|
||||
<script>
|
||||
$("td:contains(<?php echo $view_user?>)").css("background-color","<?php echo $ball_color[$view_pid]?>");
|
||||
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
5
web/template/sidebar/bootstrap-theme.min.css
vendored
Normal file
5
web/template/sidebar/bootstrap-theme.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
7
web/template/sidebar/bootstrap.min.js
vendored
Normal file
7
web/template/sidebar/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
12
web/template/sidebar/category.php
Normal file
12
web/template/sidebar/category.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php $show_title="$MSG_SOURCE - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
<div class="padding">
|
||||
<div style="margin-top: 0px; margin-bottom: 14px; padding-bottom: 0px; " >
|
||||
<p class="transition visible">
|
||||
<h1 style="margin-left: 10px; display: inline-block; "><?php echo $MSG_SOURCE?></h1>
|
||||
</p>
|
||||
<div class="ui existing segment">
|
||||
<?php echo $view_category?>
|
||||
</div>
|
||||
</div>
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
215
web/template/sidebar/ceinfo.php
Normal file
215
web/template/sidebar/ceinfo.php
Normal file
@@ -0,0 +1,215 @@
|
||||
<?php $show_title=$id." - $MSG_COMPILE_INFO - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
|
||||
<script src="template/<?php echo $OJ_TEMPLATE?>/js/textFit.min.js"></script>
|
||||
<link href='<?php echo $OJ_CDN_URL?>highlight/styles/shCore.css' rel='stylesheet' type='text/css'/>
|
||||
<link href='<?php echo $OJ_CDN_URL?>highlight/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
|
||||
<div class="padding">
|
||||
<div style="margin-top: 0px; margin-bottom: 14px; padding-bottom: 0px; " >
|
||||
<p class="transition visible">
|
||||
<strong ><?php echo $MSG_SOURCE_CODE ?></strong>
|
||||
</p>
|
||||
<div class="ui existing segment">
|
||||
<pre v-if="escape" style="margin-top: 0; margin-bottom: 0; "><code><div class="brush:c" id='source' name="source"></div></code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 0px; margin-bottom: 14px; " >
|
||||
<p class="transition visible">
|
||||
<strong ><?php echo $MSG_COMPILE_INFO ?></strong>
|
||||
</p>
|
||||
<div class="ui existing segment">
|
||||
<pre v-if="escape" style="margin-top: 0; margin-bottom: 0; "><code><div id='errtxt'><?php echo $view_reinfo?></div></code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 0px; margin-bottom: 14px; " >
|
||||
<p v-if="title" class="transition visible">
|
||||
<strong v-html="title"><?php echo $MSG_ERROR_EXPLAIN;?></strong>
|
||||
</p>
|
||||
<div class="ui existing segment">
|
||||
<pre v-if="escape" style="margin-top: 0; margin-bottom: 0; "><code><div id='errexp'></div></code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var i=0;
|
||||
var pats=new Array();
|
||||
var exps=new Array();
|
||||
pats[i]=/System\.out\.print.*%.*/;
|
||||
exps[i++]="<?php echo $MSG_SYSTEM_OUT_PRINT; ?>";
|
||||
pats[i]=/.*没有那个文件或目录.*/;
|
||||
exps[i++]="<?php echo $MSG_NO_SUCH_FILE_OR_DIRECTORY; ?>";
|
||||
pats[i]=/not a statement/;
|
||||
exps[i++]="<?php echo $MSG_NOT_A_STATEMENT; ?>";
|
||||
pats[i]=/class, interface, or enum expected/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_CLASS_INTERFACE_ENUM; ?>";
|
||||
pats[i]=/asm.*java/;
|
||||
exps[i++]="<?php echo $MSG_SUBMIT_JAVA_AS_C_LANG; ?>";
|
||||
pats[i]=/package .* does not exist/;
|
||||
exps[i++]="<?php echo $MSG_DOES_NOT_EXIST_PACKAGE; ?>";
|
||||
pats[i]=/possible loss of precision/;
|
||||
exps[i++]="<?php echo $MSG_POSSIBLE_LOSS_OF_PRECISION; ?>";
|
||||
pats[i]=/incompatible types/;
|
||||
exps[i++]="<?php echo $MSG_INCOMPATIBLE_TYPES; ?>";
|
||||
pats[i]=/illegal start of expression/;
|
||||
exps[i++]="<?php echo $MSG_ILLEGAL_START_OF_EXPRESSION; ?>";
|
||||
pats[i]=/cannot find symbol/;
|
||||
exps[i++]="<?php echo $MSG_CANNOT_FIND_SYMBOL; ?>";
|
||||
pats[i]=/';' expected/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_SEMICOLON; ?>";
|
||||
pats[i]=/should be declared in a file named/;
|
||||
exps[i++]="<?php echo $MSG_DECLARED_JAVA_FILE_NAMED; ?>";
|
||||
pats[i]=/expected ‘.*’ at end of input/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_WILDCARD_CHARACTER_AT_END_OF_INPUT; ?>";
|
||||
pats[i]=/invalid conversion from ‘.*’ to ‘.*’/;
|
||||
exps[i++]="<?php echo $MSG_INVALID_CONVERSION; ?>";
|
||||
pats[i]=/warning.*declaration of 'main' with no type/;
|
||||
exps[i++]="<?php echo $MSG_NO_RETURN_TYPE_IN_MAIN; ?>";
|
||||
pats[i]=/'.*' was not declared in this scope/;
|
||||
exps[i++]="<?php echo $MSG_NOT_DECLARED_IN_SCOPE; ?>";
|
||||
pats[i]=/main’ must return ‘int’/;
|
||||
exps[i++]="<?php echo $MSG_MAIN_MUST_RETURN_INT; ?>";
|
||||
pats[i]=/expected identifier or '\(' before numeric constant/
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_IDENTIFIER; ?>";
|
||||
pats[i]=/printf.*was not declared in this scope/;
|
||||
exps[i++]="<?php echo $MSG_PRINTF_NOT_DECLARED_IN_SCOPE; ?>";
|
||||
pats[i]=/warning: ignoring return value of/;
|
||||
exps[i++]="<?php echo $MSG_IGNOREING_RETURN_VALUE; ?>";
|
||||
pats[i]=/:.*__int64’ undeclared/;
|
||||
exps[i++]="<?php echo $MSG_NOT_DECLARED_INT64; ?>";
|
||||
pats[i]=/:.*expected ‘;’ before/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_SEMICOLON_BEFORE; ?>";
|
||||
pats[i]=/ .* undeclared \(first use in this function\)/;
|
||||
exps[i++]="<?php echo $MSG_UNDECLARED_NAME; ?>";
|
||||
pats[i]=/scanf.*was not declared in this scope/;
|
||||
exps[i++]="<?php echo $MSG_SCANF_NOT_DECLARED_IN_SCOPE; ?>";
|
||||
pats[i]=/memset.*was not declared in this scope/;
|
||||
exps[i++]="<?php echo $MSG_MEMSET_NOT_DECLARED_IN_SCOPE; ?>";
|
||||
pats[i]=/malloc.*was not declared in this scope/;
|
||||
exps[i++]="<?php echo $MSG_MALLOC_NOT_DECLARED_IN_SCOPE; ?>";
|
||||
pats[i]=/puts.*was not declared in this scope/;
|
||||
exps[i++]="<?php echo $MSG_PUTS_NOT_DECLARED_IN_SCOPE; ?>";
|
||||
pats[i]=/gets.*was not declared in this scope/;
|
||||
exps[i++]="<?php echo $MSG_GETS_NOT_DECLARED_IN_SCOPE; ?>";
|
||||
pats[i]=/str.*was not declared in this scope/;
|
||||
exps[i++]="<?php echo $MSG_STRING_NOT_DECLARED_IN_SCOPE; ?>";
|
||||
pats[i]=/‘import’ does not name a type/;
|
||||
exps[i++]="<?php echo $MSG_NO_TYPE_IMPORT_IN_C_CPP; ?>";
|
||||
pats[i]=/asm’ undeclared/;
|
||||
exps[i++]="<?php echo $MSG_ASM_UNDECLARED; ?>";
|
||||
pats[i]=/redefinition of/;
|
||||
exps[i++]="<?php echo $MSG_REDEFINITION_OF; ?>";
|
||||
pats[i]=/expected declaration or statement at end of input/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_DECLARATION_OR_STATEMENT; ?>";
|
||||
pats[i]=/warning: unused variable/;
|
||||
exps[i++]="<?php echo $MSG_UNUSED_VARIABLE; ?>";
|
||||
pats[i]=/implicit declaration of function/;
|
||||
exps[i++]="<?php echo $MSG_IMPLICIT_DECLARTION_OF_FUNCTION; ?>";
|
||||
pats[i]=/too .* arguments to function/;
|
||||
exps[i++]="<?php echo $MSG_ARGUMENTS_ERROR_IN_FUNCTION; ?>";
|
||||
pats[i]=/expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘namespace’/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_BEFORE_NAMESPACE; ?>";
|
||||
pats[i]=/stray ‘\\[0123456789]*’ in program/;
|
||||
exps[i++]="<?php echo $MSG_STRAY_PROGRAM; ?>";
|
||||
pats[i]=/division by zero/;
|
||||
exps[i++]="<?php echo $MSG_DIVISION_BY_ZERO; ?>";
|
||||
pats[i]=/cannot be used as a function/;
|
||||
exps[i++]="<?php echo $MSG_CANNOT_BE_USED_AS_A_FUNCTION; ?>";
|
||||
pats[i]=/format .* expects type .* but argument .* has type .*/;
|
||||
exps[i++]="<?php echo $MSG_CANNOT_FIND_TYPE; ?>";
|
||||
pats[i]=/类.*是公共的,应在名为 .*java 的文件中声明/;
|
||||
exps[i++]="<?php echo $MSG_JAVA_CLASS_ERROR; ?>";
|
||||
pats[i]=/expected ‘\)’ before ‘.*’ token/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_BRACKETS_TOKEN; ?>";
|
||||
pats[i]=/找不到符号/;
|
||||
exps[i++]="<?php echo $MSG_NOT_FOUND_SYMBOL; ?>";
|
||||
pats[i]=/需要为 class、interface 或 enum/;
|
||||
exps[i++]="<?php echo $MSG_NEED_CLASS_INTERFACE_ENUM; ?>";
|
||||
pats[i]=/符号: 类 .*List/;
|
||||
exps[i++]="<?php echo $MSG_CLASS_SYMBOL_ERROR; ?>";
|
||||
pats[i]=/方法声明无效;需要返回类型/;
|
||||
exps[i++]="<?php echo $MSG_INVALID_METHOD_DECLARATION; ?>";
|
||||
pats[i]=/expected.*before.*&.*token/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_AMPERSAND_TOKEN; ?>";
|
||||
pats[i]=/非法的表达式开始/;
|
||||
exps[i++]="<?php echo $MSG_DECLARED_FUNCTION_ORDER; ?>";
|
||||
pats[i]=/需要 ';'/;
|
||||
exps[i++]="<?php echo $MSG_NEED_SEMICOLON; ?>";
|
||||
pats[i]=/extra tokens at end of #include directive/;
|
||||
exps[i++]="<?php echo $MSG_EXTRA_TOKEN_AT_END_OF_INCLUDE; ?>";
|
||||
pats[i]=/int.*hasNext/;
|
||||
exps[i++]="<?php echo $MSG_INT_HAS_NEXT; ?>";
|
||||
pats[i]=/unterminated comment/;
|
||||
exps[i++]="<?php echo $MSG_UNTERMINATED_COMMENT; ?>";
|
||||
pats[i]=/expected '=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_BRACES_TOKEN; ?>";
|
||||
pats[i]=/进行语法解析时已到达文件结尾/;
|
||||
exps[i++]="<?php echo $MSG_REACHED_END_OF_FILE_1; ?>";
|
||||
pats[i]=/subscripted value is neither array nor pointer/;
|
||||
exps[i++]="<?php echo $MSG_SUBSCRIPT_ERROR; ?>";
|
||||
pats[i]=/expected expression before ‘%’ token/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_PERCENT_TOKEN; ?>";
|
||||
pats[i]=/expected expression before ‘.*’ token/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_EXPRESSION_TOKEN; ?>";
|
||||
pats[i]=/expected but/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_BUT; ?>";
|
||||
pats[i]=/redefinition of ‘main’/;
|
||||
exps[i++]="<?php echo $MSG_REDEFINITION_MAIN; ?>";
|
||||
pats[i]=/iostream: No such file or directory/;
|
||||
exps[i++]="<?php echo $MSG_IOSTREAM_ERROR; ?>";
|
||||
pats[i]=/expected unqualified-id before ‘\[’ token/;
|
||||
exps[i++]="<?php echo $MSG_EXPECTED_UNQUALIFIED_ID_TOKEN; ?>";
|
||||
pats[i]=/解析时已到达文件结尾/;
|
||||
exps[i++]="<?php echo $MSG_REACHED_END_OF_FILE_2; ?>";
|
||||
pats[i]=/非法字符/;
|
||||
exps[i++]="<?php echo $MSG_INVALID_SYMBOL; ?>";
|
||||
pats[i]=/应在名为.*的文件中声明/;
|
||||
exps[i++]="<?php echo $MSG_DECLARED_FILE_NAMED; ?>";
|
||||
pats[i]=/variably modified/;
|
||||
exps[i++]="<?php echo $MSG_VARIABLY_MODIFIED; ?>";
|
||||
|
||||
function explain(){
|
||||
//alert("asdf");
|
||||
var errmsg=$("#errtxt").text();
|
||||
var expmsg="";
|
||||
for(var i=0;i<pats.length;i++){
|
||||
var pat=pats[i];
|
||||
var exp=exps[i];
|
||||
var ret=pat.exec(errmsg);
|
||||
if(ret){
|
||||
expmsg+=ret+":"+exp+"<br>";
|
||||
}
|
||||
}
|
||||
document.getElementById("errexp").innerHTML=expmsg;
|
||||
//alert(expmsg);
|
||||
}
|
||||
</script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shCore.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushCpp.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushCss.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushJava.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushDelphi.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushRuby.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushBash.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushPython.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushPhp.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushPerl.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushCSharp.js' type='text/javascript'></script>
|
||||
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushVb.js' type='text/javascript'></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$("#source").load("showsource2.php?id=<?php echo $id?>",function(response,status,xhr){
|
||||
|
||||
if(status=="success"){
|
||||
SyntaxHighlighter.config.bloggerMode = false;
|
||||
SyntaxHighlighter.config.clipboardSwf = '<?php echo $OJ_CDN_URL?>highlight/scripts/clipboard.swf';
|
||||
SyntaxHighlighter.highlight();
|
||||
explain();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
7
web/template/sidebar/clipboard.min.js
vendored
Normal file
7
web/template/sidebar/clipboard.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
103
web/template/sidebar/comparesource.php
Normal file
103
web/template/sidebar/comparesource.php
Normal file
@@ -0,0 +1,103 @@
|
||||
<?php $show_title=$id." - $MSG_Source_Compare - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
<link type="text/css" rel="stylesheet" href="mergely/codemirror.css" />
|
||||
<link type="text/css" rel="stylesheet" href="mergely/mergely.css" />
|
||||
|
||||
<body style="width: 100%;">
|
||||
<table style="width: 100%;"><tr>
|
||||
<td style="width: 50%;"><input type="checkbox" id="ignorews">ignore witespaces</td>
|
||||
</table>
|
||||
<br/>
|
||||
|
||||
<table style="width: 100%;"><tr>
|
||||
<td style="width: 50%;"><tt id="path-lhs"></tt> <a id="save-lhs" class="save-link" href="#">save</a></td>
|
||||
<td style="width: 50%;"><tt id="path-rhs"></tt> <a id="save-rhs" class="save-link" href="#">save</a></td>
|
||||
</table>
|
||||
|
||||
<div id="mergely-resizer" style="height: 450px;">
|
||||
<div id="compare">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
<script type="text/javascript" src="mergely/codemirror.js"></script>
|
||||
<script type="text/javascript" src="mergely/mergely.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
$('#compare').mergely({
|
||||
width: 'auto',
|
||||
height: 'auto', // containing div must be given a height
|
||||
cmsettings: { readOnly: false },
|
||||
});
|
||||
var lhs_url = 'getsource.php?id=<?php echo intval($_GET['left'])?>';
|
||||
var rhs_url = 'getsource.php?id=<?php echo intval($_GET['right'])?>';
|
||||
$.ajax({
|
||||
type: 'GET', async: true, dataType: 'text',
|
||||
url: lhs_url,
|
||||
success: function (response) {
|
||||
$('#path-lhs').text(lhs_url);
|
||||
$('#compare').mergely('lhs', response);
|
||||
}
|
||||
});
|
||||
$.ajax({
|
||||
type: 'GET', async: true, dataType: 'text',
|
||||
url: rhs_url,
|
||||
success: function (response) {
|
||||
$('#path-rhs').text(rhs_url);
|
||||
$('#compare').mergely('rhs', response);
|
||||
}
|
||||
});
|
||||
|
||||
function checkFileList(files) {
|
||||
if (typeof window.FileReader !== 'function')
|
||||
error_msg("The file API isn't supported on this browser yet.");
|
||||
|
||||
if (files.length>0) readFile(files[0], "lhs");
|
||||
if (files.length>1) readFile(files[1], "rhs");
|
||||
}
|
||||
|
||||
function readFile(file, side) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = function file_onload() {
|
||||
// document.getElementById('td1').innerHTML = ..
|
||||
$('#path-'+side).text(file.name);
|
||||
$('#compare').mergely(side, reader.result);
|
||||
}
|
||||
reader.readAsBinaryString(file);
|
||||
|
||||
}
|
||||
function handleDragOver(evt) {
|
||||
evt.stopPropagation();
|
||||
evt.preventDefault();
|
||||
evt.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
|
||||
}
|
||||
function handleFileSelect(evt) {
|
||||
document.getElementById('drop_zone').visibility = "collapse";
|
||||
evt.stopPropagation();
|
||||
evt.preventDefault();
|
||||
var files = evt.dataTransfer.files; // FileList object.
|
||||
checkFileList(files);
|
||||
}
|
||||
var dropZone = document.getElementById('drop_zone');
|
||||
document.body.addEventListener('dragover', handleDragOver, false);
|
||||
document.body.addEventListener('drop', handleFileSelect, false);
|
||||
|
||||
function download_content(a, side) {
|
||||
//a.innerHTML = "preparing content..";
|
||||
var txt = $('#compare').mergely('get', side);
|
||||
var datauri = "data:plain/text;charset=UTF-8," + encodeURIComponent(txt);
|
||||
a.setAttribute('download', side+".txt");
|
||||
a.setAttribute('href', datauri);
|
||||
//a.innerHTML = "content ready.";
|
||||
}
|
||||
document.getElementById('save-lhs').addEventListener('mouseover', function() { download_content(this, "lhs"); }, false);
|
||||
document.getElementById('save-rhs').addEventListener('mouseover', function() { download_content(this, "lhs"); }, false);
|
||||
document.getElementById('ignorews').addEventListener('change', function() {
|
||||
$('#compare').mergely('options', { ignorews: this.checked });
|
||||
}, false);
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
170
web/template/sidebar/contest.php
Normal file
170
web/template/sidebar/contest.php
Normal file
@@ -0,0 +1,170 @@
|
||||
<?php $show_title="Contest".$view_cid." - ".$view_title." - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
<style>
|
||||
.ui.label.pointing.below.left::before {
|
||||
left: 12%;
|
||||
}
|
||||
|
||||
.ui.label.pointing.below.right::before {
|
||||
left: 88%;
|
||||
}
|
||||
|
||||
.ui.label.pointing.below.left {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.ui.label.pointing.below.right {
|
||||
margin-bottom: 0;
|
||||
float: right;
|
||||
}
|
||||
|
||||
#back_to_contest {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="padding">
|
||||
<h1>Contest<?php echo $view_cid?> - <?php echo $view_title ?></h1>
|
||||
<div class="ui pointing below left label"><?php echo $view_start_time?></div>
|
||||
<div class="ui pointing below right label"><?php echo $view_end_time?></div>
|
||||
|
||||
<div id="timer-progress" class="ui tiny indicating progress success" data-percent="50">
|
||||
<div class="bar" style="width: 0%; transition-duration: 300ms;"></div>
|
||||
</div>
|
||||
|
||||
<div class="ui grid">
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<div class="ui buttons">
|
||||
<a class="ui small blue button" href="contestrank.php?cid=<?php echo $view_cid?>">ACM<?php echo $MSG_STANDING?></a>
|
||||
<a class="ui small yellow button" href="contestrank-oi.php?cid=<?php echo $view_cid?>">OI<?php echo $MSG_STANDING?></a>
|
||||
<a class="ui small positive button" href="status.php?cid=<?php echo $view_cid?>"><?php echo $MSG_STATUS?></a>
|
||||
<!-- <a class="ui small pink button" href="conteststatistics.php?cid=<?php echo $view_cid?>"><?php echo $MSG_STATISTICS?></a> -->
|
||||
</div>
|
||||
<div class="ui buttons right floated">
|
||||
|
||||
<?php
|
||||
if ($now>$end_time)
|
||||
echo "<span class=\"ui small button grey\">$MSG_Ended</span>";
|
||||
else if ($now<$start_time)
|
||||
echo "<span class=\"ui small button red\">$MSG_Contest_Pending</span>";
|
||||
else
|
||||
echo "<span class=\"ui small button green\">$MSG_Running</span>";
|
||||
?>
|
||||
<?php
|
||||
if ($view_private=='0')
|
||||
echo "<span class=\"ui small button blue\">$MSG_Public</span>";
|
||||
else
|
||||
echo "<span class=\"ui small button pink\">$MSG_Private</span>";
|
||||
?>
|
||||
<?php if(isset($_SESSION[$OJ_NAME.'_'.'administrator']) || isset($_SESSION[$OJ_NAME.'_m'.$cid ])) {?>
|
||||
<a href="suspect_list.php?cid=<?php echo $view_cid?>" class="ui small blue button"><?php echo $MSG_IP_VERIFICATION?></a>
|
||||
<a href="user_set_ip.php?cid=<?php echo $view_cid?>" class="ui small green button"><?php echo $MSG_SET_LOGIN_IP?></a>
|
||||
<a target="_blank" href="../../admin/contest_edit.php?cid=<?php echo $view_cid?>" class="ui small red button"><?php echo "EDIT"?></a>
|
||||
<?php } ?>
|
||||
|
||||
<span class="ui small button"><?php echo $MSG_Server_Time ?>:<span id=nowdate><?php echo date("Y-m-d H:i:s")?></span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php if($view_description){ ?>
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<h4 class="ui top attached block header"><?php echo $MSG_Contest_Infomation ?></h4>
|
||||
<div class="ui bottom attached segment font-content">
|
||||
<?php echo $view_description?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<table class="ui selectable celled table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="one wide" style="text-align: center">
|
||||
<?php if(isset($_SESSION[$OJ_NAME.'_'.'user_id'])) echo "状态" ?>
|
||||
</th>
|
||||
<th class="two wide" style="text-align: center"><?php echo $MSG_PROBLEM_ID ?></th>
|
||||
<th><?php echo $MSG_TITLE ?></th>
|
||||
<!-- <th><?php //echo $MSG_SOURCE ?></th> -->
|
||||
<th class="one wide center aligned"><?php echo $MSG_AC ?></th>
|
||||
<th class="one wide center aligned"><?php echo $MSG_SUBMIT_NUM ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php
|
||||
foreach($view_problemset as $row){
|
||||
echo "<tr>";
|
||||
foreach($row as $table_cell){
|
||||
echo "<td>".$table_cell."</td>";
|
||||
}
|
||||
echo "</tr>";
|
||||
}
|
||||
?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$('#timer-progress').progress({
|
||||
value: Date.now() / 1000 - <?php echo strtotime($view_start_time)?>,
|
||||
total: <?php echo (strtotime($view_end_time)- strtotime($view_start_time))?>
|
||||
});
|
||||
});
|
||||
|
||||
$(function() {
|
||||
setInterval(function() {
|
||||
$('#timer-progress').progress({
|
||||
value: Date.now() / 1000 - <?php echo strtotime($view_start_time)?>,
|
||||
total: <?php echo (strtotime($view_end_time)- strtotime($view_start_time))?>
|
||||
});
|
||||
}, 5000);
|
||||
});
|
||||
</script>
|
||||
<script src="include/sortTable.js"></script>
|
||||
<script>
|
||||
var diff = new Date("<?php echo date("Y/m/d H:i:s")?>").getTime() - new Date().getTime();
|
||||
//alert(diff);
|
||||
function clock() {
|
||||
var x, h, m, s, n, xingqi, y, mon, d;
|
||||
var x = new Date(new Date().getTime() + diff);
|
||||
y = x.getYear() + 1900;
|
||||
if (y > 3000) y -= 1900;
|
||||
mon = x.getMonth() + 1;
|
||||
d = x.getDate();
|
||||
xingqi = x.getDay();
|
||||
h = x.getHours();
|
||||
m = x.getMinutes();
|
||||
s = x.getSeconds();
|
||||
n = y + "-" + mon + "-" + d + " " + (h >= 10 ? h : "0" + h) + ":" + (m >= 10 ? m : "0" + m) + ":" + (s >= 10 ? s :
|
||||
"0" + s);
|
||||
//alert(n);
|
||||
document.getElementById('nowdate').innerHTML = n;
|
||||
setTimeout("clock()", 1000);
|
||||
}
|
||||
clock();
|
||||
// show count down if $OJ_CONTEST_LIMIT_KEYWORD triggered
|
||||
<?php if(isset($time_left)){ ?>
|
||||
var time_left=<?php echo $time_left ;?> ;
|
||||
function count_down(){
|
||||
time_left--;
|
||||
if(time_left>0){
|
||||
let notice="<?php echo $MSG_LeftTime ?>"+":"+Math.floor(time_left/60))+
|
||||
"<?php echo $MSG_MINUTES ?>"+(time_left % 60)+
|
||||
"<?php echo $MSG_SECONDS ?>";
|
||||
$("#time_left").html(notice);
|
||||
}
|
||||
}
|
||||
setInterval("count_down()", 1000);
|
||||
<?php }?>
|
||||
|
||||
</script>
|
||||
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
29
web/template/sidebar/contestbar.php
Normal file
29
web/template/sidebar/contestbar.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php $view_cid=$cid; ?>
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<div class="ui buttons">
|
||||
<a class="ui small blue button" href="contestrank.php?cid=<?php echo $view_cid?>">ACM排行榜</a>
|
||||
<a class="ui small yellow button" href="contestrank-oi.php?cid=<?php echo $view_cid?>">OI排行榜</a>
|
||||
<a class="ui small positive button" href="status.php?cid=<?php echo $view_cid?>">提交记录</a>
|
||||
<!-- <a class="ui small pink button" href="conteststatistics.php?cid=<?php echo $view_cid?>">比赛统计</a> -->
|
||||
</div>
|
||||
<div class="ui buttons right floated">
|
||||
|
||||
<?php
|
||||
if ($now>$end_time)
|
||||
echo "<span class=\"ui small button grey\">$MSG_Ended</span>";
|
||||
else if ($now<$start_time)
|
||||
echo "<span class=\"ui small button red\">$MSG_Contest_Pending</span>";
|
||||
else
|
||||
echo "<span class=\"ui small button green\">$MSG_Running</span>";
|
||||
?>
|
||||
<?php
|
||||
if ($view_private=='0')
|
||||
echo "<span class=\"ui small button blue\">$MSG_Public</span>";
|
||||
else
|
||||
echo "<span class=\"ui small button pink\">$MSG_Private</span>";
|
||||
?>
|
||||
<span class="ui small button"><?php echo $MSG_Server_Time ?>:<span id=nowdate><?php echo date("Y-m-d H:i:s")?></span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
145
web/template/sidebar/contestrank-oi.php
Normal file
145
web/template/sidebar/contestrank-oi.php
Normal file
@@ -0,0 +1,145 @@
|
||||
<?php $show_title = "Contest RankList - " . $title . " - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php"); ?>
|
||||
<style>
|
||||
.submit_time {
|
||||
font-size: 0.8em;
|
||||
margin-top: 5px;
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
||||
<div style="margin-bottom:40px; ">
|
||||
<h1 style="text-align:left;">Contest<?php echo $cid ?> -- <?php echo $title ?>
|
||||
<a class='ui small blue button' href="contestrank-oi.php?spa&down&cid=<?php echo $cid ?>" >Download</a>
|
||||
<a class='ui small green button' href="contestrank5.php?cid=<?php echo $cid?>" ><?php echo $MSG_REVIEW_CONTESTRANK ?></a>
|
||||
<button class='ui small yellow button' onclick='$("tr[class!=active]").toggle();'>Show/Hide</button>
|
||||
</h1>
|
||||
</div>
|
||||
<div id="rankdiv" class="padding" onclick="$(this).css('margin-left',(548-window.innerWidth/2)+'px').css('margin-right',(548-window.innerWidth/2)+'px')" style="margin-left:-200px;margin-right:-200px;overflow:auto" >
|
||||
<?php if ($user_cnt > 0) { ?>
|
||||
<table <?php if (isset($_GET['down'])) echo "border=1" ?>
|
||||
class="ui very basic center aligned table" style="margin:30px" >
|
||||
<thead>
|
||||
<tr class='active'>
|
||||
<td class="{sorter:'false'} text-center"><?php echo $MSG_STANDING?></td>
|
||||
<td class='text-center'><?php echo $MSG_USER?></td>
|
||||
<td class='text-center'><?php echo $MSG_NICK?></td>
|
||||
<td class='text-center'><?php echo $MSG_SOVLED?></td>
|
||||
<td class='text-center'><?php echo $MSG_CONTEST_PENALTY?></td>
|
||||
<td class='text-center'><?php echo $MSG_MARK ?></td>
|
||||
<?php
|
||||
for ($i = 0; $i < $pid_cnt; $i++)
|
||||
echo "<th><a href=problem.php?cid=$cid&pid=$i>$PID[$i]</a></th>";
|
||||
?>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$rank = 1;
|
||||
if(isset($_GET['down']))
|
||||
$tag="b";
|
||||
else
|
||||
$tag="div";
|
||||
|
||||
for ($i = 0; $i < $user_cnt; $i++) {
|
||||
$uuid = $U[$i]->user_id;
|
||||
$nick = $U[$i]->nick;
|
||||
$usolved = $U[$i]->solved;
|
||||
echo "<tr onclick='$(this).attr(\"class\",\"active\");' ondblclick='$(this).attr(\"class\",\"\");' >";
|
||||
echo "<td>";
|
||||
if ($nick[0] != "*") {
|
||||
if ($rank == 1)
|
||||
echo "<div class=\"ui yellow ribbon label\">";
|
||||
else if ($rank == 2)
|
||||
echo "<div class=\"ui ribbon label\">";
|
||||
else if ($rank == 3)
|
||||
echo "<div class=\"ui brown ribbon label\" style=\"background-color: #C47222 !important;\">";
|
||||
else
|
||||
echo "<div>";
|
||||
echo $rank++;
|
||||
echo "</div>";
|
||||
} else
|
||||
echo "*";
|
||||
echo "</td>";
|
||||
|
||||
if (isset($_GET['user_id']) && $uuid == $_GET['user_id'])
|
||||
echo "<td bgcolor=#ffff77>";
|
||||
else
|
||||
echo "<td>";
|
||||
echo "<a name=\"$uuid\" href=userinfo.php?user=$uuid>$uuid</a>";
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo htmlentities($U[$i]->nick, ENT_QUOTES, "UTF-8");
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo htmlentities($U[$i]->solved, ENT_QUOTES, "UTF-8");
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo sec2str($U[$i]->time);
|
||||
echo "</td>";
|
||||
|
||||
echo "<td class='ui small header'>";
|
||||
echo "<a href=status.php?user_id=$uuid&cid=$cid>" . ($U[$i]->total) . "</a>";
|
||||
echo "</td>";
|
||||
|
||||
|
||||
for ($j = 0; $j < $pid_cnt; $j++) {
|
||||
if (isset($U[$i])) {
|
||||
if (isset($U[$i]->p_ac_sec[$j]) && $U[$i]->p_ac_sec[$j] > 0) {
|
||||
if ($uuid == $first_blood[$j]) {
|
||||
echo "<td style=\"background: rgb(" . (150 + 12 * $U[$i]->p_wa_num[$j]) . ", 255, " . min(230, 150 + 8 * $U[$i]->p_wa_num[$j]) . "); position:relative;\">";
|
||||
echo "<$tag style=\"position:absolute;width:30%;margin-top: 5%;margin-right: 5%;height:30%;right:0px;top:0px;\"> <font color='red'>※1st</font></$tag>";
|
||||
} else {
|
||||
echo "<td style=\"background: rgb(" . (150 + 12 * $U[$i]->p_wa_num[$j]) . ", 255, " . min(230, 150 + 8 * $U[$i]->p_wa_num[$j]) . "); \">";
|
||||
}
|
||||
if (isset($U[$i]->p_wa_num[$j]) && $U[$i]->p_wa_num[$j] > 0) {
|
||||
echo "<span class=\"score score_10\">";
|
||||
echo $U[$i]->p_pass_rate[$j]*100;
|
||||
echo "</span>";
|
||||
} else {
|
||||
echo "<span class=\"score score_10\">";
|
||||
echo $U[$i]->p_pass_rate[$j]*100;
|
||||
echo "</span>";
|
||||
}
|
||||
echo " <$tag class=\"submit_time\">";
|
||||
echo sec2str($U[$i]->p_ac_sec[$j]);
|
||||
echo "</$tag>";
|
||||
|
||||
} else if (isset($U[$i]->p_wa_num[$j]) && $U[$i]->p_wa_num[$j] > 0) {
|
||||
echo "<td style=\"background: rgb(255, " . max(130, 240 - 9 * $U[$i]->p_wa_num[$j]) . ", " . max(130, 240 - 9 * $U[$i]->p_wa_num[$j]) . "); \">";
|
||||
echo "<span class=\"score score_0\">";
|
||||
echo $U[$i]->p_pass_rate[$j] * 100;
|
||||
echo "</span>";
|
||||
} else {
|
||||
echo "<td>";
|
||||
}
|
||||
} else {
|
||||
echo "<td>";
|
||||
}
|
||||
|
||||
echo "</td>";
|
||||
}
|
||||
|
||||
|
||||
echo "</tr>";
|
||||
}
|
||||
?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<?php } else { ?>
|
||||
<div style="background-color: #fff; height: 18px; margin-top: -18px; "></div>
|
||||
<div class="ui placeholder segment" style="margin-top: 0px; ">
|
||||
<div class="ui icon header">
|
||||
<i class="ui file icon" style="margin-bottom: 20px; "></i>
|
||||
暂无选手提交
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php"); ?>
|
||||
208
web/template/sidebar/contestrank-team.php
Normal file
208
web/template/sidebar/contestrank-team.php
Normal file
@@ -0,0 +1,208 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<link rel="icon" href="../../favicon.ico">
|
||||
|
||||
<title><?php echo $OJ_NAME?></title>
|
||||
<?php include("template/$OJ_TEMPLATE/css.php");?>
|
||||
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="template/<?php echo $OJ_TEMPLATE?>/js/html5shiv.js"></script>
|
||||
<script src="template/<?php echo $OJ_TEMPLATE?>/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<?php include("template/$OJ_TEMPLATE/nav.php");?>
|
||||
<!-- Main component for a primary marketing message or call to action -->
|
||||
<div class="jumbotron">
|
||||
<?php
|
||||
$rank=1;
|
||||
?>
|
||||
<center><h3>Contest Team RankList -- <?php echo $title?></h3>
|
||||
<!-- <a href="contestrank.xls.php?cid=<?php echo $cid?>" >Download</a> -->
|
||||
<?php
|
||||
if($OJ_MEMCACHE)
|
||||
{
|
||||
if (isset($_SESSION[$OJ_NAME.'_'.'administrator'])) {
|
||||
echo ' | <a href="contestrank3.php?cid='.$cid.'">滚榜</a>';
|
||||
}
|
||||
echo '<a href="contestrank2.php?cid='.$cid.'">Replay</a>';
|
||||
}
|
||||
?>
|
||||
</center>
|
||||
<div style="overflow: auto">
|
||||
<table id=rank><thead><tr class=toprow align=center><td class="{sorter:'false'}" width=5%>Rank<th width=10%>Team</th><th width=5%>Num</th><th width=5%>Solved</th><th width=5%>Average</th><th width=5%>Penalty</th>
|
||||
<?php
|
||||
for ($i=0;$i<$pid_cnt;$i++)
|
||||
echo "<td><a href=problem.php?cid=$cid&pid=$i>$PID[$i]</a></td>";
|
||||
echo "</tr></thead>\n<tbody>";
|
||||
for ($i=0;$i<$school_cnt;$i++){
|
||||
if ($i&1) echo "<tr class=oddrow align=center>\n";
|
||||
else echo "<tr class=evenrow align=center>\n";
|
||||
echo "<td>";
|
||||
$school=$S[$i]->school;
|
||||
$renshu=$S[$i]->renshu;
|
||||
$usolved=$S[$i]->solved;
|
||||
$avg=intval($usolved)/intval($renshu);
|
||||
$format_avg = sprintf("%.2f",$avg);
|
||||
if($school[0]!="*")
|
||||
echo $rank++;
|
||||
else
|
||||
echo "*";
|
||||
echo"<td>";
|
||||
echo "$school";
|
||||
echo "<td>$renshu";
|
||||
echo "<td>$usolved";
|
||||
echo "<td>$format_avg";
|
||||
echo "<td>".sec2str($S[$i]->time);
|
||||
for ($j=0;$j<$pid_cnt;$j++){
|
||||
$bg_color="eeeeee";
|
||||
if (isset($S[$i]->p_ac_num[$j])&&$S[$i]->p_ac_num[$j]>0){
|
||||
$aa=0x33+$S[$i]->p_wa_num[$j]*32;
|
||||
$aa=$aa>0xaa?0xaa:$aa;
|
||||
$aa=dechex($aa);
|
||||
$bg_color="$aa"."ff"."$aa";
|
||||
//$bg_color="aaffaa";
|
||||
}
|
||||
else if(isset($S[$i]->p_wa_num[$j])&&$S[$i]->p_wa_num[$j]>0) {
|
||||
$aa=0xaa-$S[$i]->p_wa_num[$j]*10;
|
||||
$aa=$aa>16?$aa:16;
|
||||
$aa=dechex($aa);
|
||||
$bg_color="ff$aa$aa";
|
||||
}
|
||||
echo "<td class=well style='background-color:#$bg_color'>";
|
||||
if(isset($S[$i])){
|
||||
if (isset($S[$i]->p_ac_num[$j])&&$S[$i]->p_ac_num[$j]>0)
|
||||
echo $S[$i]->p_ac_num[$j]."/".$renshu;
|
||||
else if (isset($S[$i]->p_wa_num[$j])&&$S[$i]->p_wa_num[$j]>0)
|
||||
echo "(-".$S[$i]->p_wa_num[$j].")";
|
||||
}
|
||||
}
|
||||
echo "</tr>\n";
|
||||
}
|
||||
echo "</tbody></table>";
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- /container -->
|
||||
|
||||
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<?php include("template/$OJ_TEMPLATE/js.php");?>
|
||||
<script type="text/javascript" src="include/jquery.tablesorter.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$.tablesorter.addParser({
|
||||
// set a unique id
|
||||
id: 'punish',
|
||||
is: function(s) {
|
||||
// return false so this parser is not auto detected
|
||||
return false;
|
||||
},
|
||||
format: function(s) {
|
||||
// format your data for normalization
|
||||
var v=s.toLowerCase().replace(/\:/,'').replace(/\:/,'').replace(/\(-/,'.').replace(/\)/,'');
|
||||
//alert(v);
|
||||
v=parseFloat('0'+v);
|
||||
return v>1?v:v+Number.MAX_VALUE-1;
|
||||
},
|
||||
// set type, either numeric or text
|
||||
type: 'numeric'
|
||||
});
|
||||
$("#rank").tablesorter({
|
||||
headers: {
|
||||
4: {
|
||||
sorter:'punish'
|
||||
}
|
||||
<?php
|
||||
for ($i=0;$i<$pid_cnt;$i++){
|
||||
echo ",".($i+5).": { ";
|
||||
echo " sorter:'punish' ";
|
||||
echo "}";
|
||||
}
|
||||
?>
|
||||
}
|
||||
});
|
||||
metal();
|
||||
}
|
||||
);
|
||||
</script>
|
||||
<script>
|
||||
function getTotal(rows){
|
||||
var total=0;
|
||||
for(var i=0;i<rows.length&&total==0;i++){
|
||||
try{
|
||||
total=parseInt(rows[rows.length-i].cells[0].innerHTML);
|
||||
if(isNaN(total)) total=0;
|
||||
}catch(e){
|
||||
}
|
||||
}
|
||||
return total;
|
||||
}
|
||||
function metal(){
|
||||
var tb=window.document.getElementById('rank');
|
||||
var rows=tb.rows;
|
||||
try{
|
||||
<?php
|
||||
//若有队伍从未进行过任何提交,数据库solution表里不会有数据,榜单上该队伍不存在,总rows数量不等于报名参赛队伍数量,奖牌比例的计算会出错
|
||||
//解决办法:可以为现场赛采用人为设定有效参赛队伍数$OJ_ON_SITE_TEAM_TOTAL,值为0时则采用榜单计算。详情见db_info.inc.php
|
||||
if($OJ_ON_SITE_TEAM_TOTAL!=0)
|
||||
echo "var total=".$OJ_ON_SITE_TEAM_TOTAL.";";
|
||||
else
|
||||
echo "var total=getTotal(rows);";
|
||||
?>
|
||||
//alert(total);
|
||||
for(var i=1;i<rows.length;i++){
|
||||
var cell=rows[i].cells[0];
|
||||
var acc=rows[i].cells[3];
|
||||
var ac=parseInt(acc.innerText);
|
||||
if (isNaN(ac)) ac=parseInt(acc.textContent);
|
||||
if(cell.innerHTML!="*"&&ac>0){
|
||||
var r=parseInt(cell.innerHTML);
|
||||
if(r==1){
|
||||
cell.innerHTML="Winner";
|
||||
//cell.style.cssText="background-color:gold;color:red";
|
||||
cell.className="badge btn-warning";
|
||||
}
|
||||
if(r>1&&r<=total*.05+1)
|
||||
cell.className="badge btn-warning";
|
||||
if(r>total*.05+1&&r<=total*.20+1)
|
||||
cell.className="badge";
|
||||
if(r>total*.20+1&&r<=total*.45+1)
|
||||
cell.className="badge btn-danger";
|
||||
if(r>total*.45+1&&ac>0)
|
||||
cell.className="badge badge-info";
|
||||
}
|
||||
}
|
||||
}catch(e){
|
||||
//alert(e);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<style>
|
||||
.well{
|
||||
background-image:none;
|
||||
padding:1px;
|
||||
}
|
||||
td{
|
||||
white-space:nowrap;
|
||||
|
||||
}
|
||||
</style>
|
||||
</body>
|
||||
</html>
|
||||
165
web/template/sidebar/contestrank.php
Normal file
165
web/template/sidebar/contestrank.php
Normal file
@@ -0,0 +1,165 @@
|
||||
<?php $show_title="Contest RankList -- ".$title." - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
<style>
|
||||
.submit_time {
|
||||
font-size: 0.8em;
|
||||
margin-top: 5px;
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
||||
<div style="margin-bottom:40px; ">
|
||||
<h1 style="text-align: left;">Contest<?php echo $cid?> - <?php echo $title?>
|
||||
<a class='ui small blue button' href="contestrank.xls.php?cid=<?php echo $cid?>" ><?php echo $MSG_DOWNLOAD ?></a>
|
||||
<a class='ui small green button' href="contestrank4.php?cid=<?php echo $cid?>" ><?php echo $MSG_REVIEW_CONTESTRANK ?></a>
|
||||
<button class='ui small yellow button' onclick='$("tr[class!=active]").toggle();'><?php echo $MSG_SHOW ?>/<?php echo $MSG_HIDE ?></button>
|
||||
</h1>
|
||||
</div>
|
||||
<div id="rankdiv" class="padding" onclick="$(this).css('margin-left',(548-window.innerWidth/2)+'px').css('margin-right',(548-window.innerWidth/2)+'px')" style="margin-left:-200px;margin-right:-200px;overflow:auto" >
|
||||
<?php if($user_cnt>0){ ?>
|
||||
<table class="ui very basic center aligned table" style="margin:30px">
|
||||
<thead>
|
||||
<tr class='active'>
|
||||
<td class="{sorter:'false'} text-center"><?php echo $MSG_STANDING?></td>
|
||||
<td class='text-center'><?php echo $MSG_USER?></td>
|
||||
<td class='text-center'><?php echo $MSG_NICK?></td>
|
||||
<td class='text-center'><?php echo $MSG_SOVLED?></td>
|
||||
<td class='text-center'><?php echo $MSG_CONTEST_PENALTY?></td>
|
||||
<?php
|
||||
for ($i=0;$i<$pid_cnt;$i++)
|
||||
echo "<th><a href=problem.php?cid=$cid&pid=$i>$PID[$i]</a></th>";
|
||||
?>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$rank=1;
|
||||
if(isset($_GET['down']))
|
||||
$tag="b";
|
||||
else
|
||||
$tag="div";
|
||||
|
||||
for ($i=0;$i<$user_cnt;$i++){
|
||||
$uuid=$U[$i]->user_id;
|
||||
$nick=$U[$i]->nick;
|
||||
$usolved=$U[$i]->solved;
|
||||
echo "<tr onclick='$(this).attr(\"class\",\"active\");' ondblclick='$(this).attr(\"class\",\"\");' >";
|
||||
|
||||
echo "<td>";
|
||||
if(isset($nick[0])&&$nick[0]!="*"){
|
||||
if($rank==1)
|
||||
echo "<div class=\"ui yellow ribbon label\">";
|
||||
else if($rank==2)
|
||||
echo "<div class=\"ui ribbon label\">";
|
||||
else if($rank==3)
|
||||
echo "<div class=\"ui brown ribbon label\" style=\"background-color: #C47222 !important;\">";
|
||||
else
|
||||
echo "<div>";
|
||||
echo $rank++;
|
||||
echo "</div>";
|
||||
}
|
||||
else
|
||||
echo "*";
|
||||
echo "</td>";
|
||||
|
||||
if(isset($_GET['user_id'])&&$uuid==$_GET['user_id'])
|
||||
echo "<td bgcolor=#ffff77>";
|
||||
else
|
||||
echo "<td>";
|
||||
echo "<a name=\"$uuid\" href=userinfo.php?user=$uuid>$uuid</a>";
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo "<a href=userinfo.php?user=$uuid>".htmlentities($U[$i]->nick,ENT_QUOTES,"UTF-8")."</a>";
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo "<span class=\"score\">";
|
||||
echo "<a href=status.php?user_id=$uuid&cid=$cid>$usolved</a>";
|
||||
echo "</span>";
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo sec2str($U[$i]->time);
|
||||
echo "</td>";
|
||||
|
||||
for ($j=0;$j<$pid_cnt;$j++){
|
||||
if(isset($U[$i])){
|
||||
if (isset($U[$i]->p_ac_sec[$j])&&$U[$i]->p_ac_sec[$j]>0){
|
||||
if($uuid==$first_blood[$j]){
|
||||
echo "<td style=\"background: rgb(".(150+12*$U[$i]->p_wa_num[$j]).", 255, ".(150+8*$U[$i]->p_wa_num[$j])."); position:relative;\">";
|
||||
echo "<$tag style=\"position:absolute;width:30%;margin-top: 5%;margin-right: 5%;height:30%;right:0px;top:0px;\">※1st</$tag>";
|
||||
}
|
||||
else{
|
||||
echo "<td style=\"background: rgb(".(150+12*$U[$i]->p_wa_num[$j]).", 255, ".(150+8*$U[$i]->p_wa_num[$j])."); \">";
|
||||
}
|
||||
if (isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0)
|
||||
{
|
||||
echo "<span class=\"score score_10\">";
|
||||
echo "+".$U[$i]->p_wa_num[$j]."";
|
||||
echo "</span>";
|
||||
}else{
|
||||
echo "<span class=\"score score_10\">";
|
||||
echo "+";
|
||||
echo "</span>";
|
||||
}
|
||||
echo "<$tag class=\"submit_time\">";
|
||||
echo sec2str($U[$i]->p_ac_sec[$j]);
|
||||
echo "</$tag>";
|
||||
}
|
||||
else if (isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0){
|
||||
echo "<td style=\"background: rgb(255, ".(240-9*$U[$i]->p_wa_num[$j]).", ".(240-9*$U[$i]->p_wa_num[$j])."); \">";
|
||||
echo "<span class=\"score score_0\">";
|
||||
echo "-".$U[$i]->p_wa_num[$j]."";
|
||||
echo "</span>";
|
||||
}
|
||||
else{
|
||||
echo "<td>";
|
||||
}
|
||||
|
||||
}
|
||||
else{
|
||||
echo "<td>";
|
||||
}
|
||||
|
||||
echo "</td>";
|
||||
}
|
||||
|
||||
|
||||
echo "</tr>";
|
||||
}
|
||||
?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<?php }else{ ?>
|
||||
<div style="background-color: #fff; height: 18px; margin-top: -18px; "></div>
|
||||
<div class="ui placeholder segment" style="margin-top: 0px; ">
|
||||
<div class="ui icon header">
|
||||
<i class="ui file icon" style="margin-bottom: 20px; "></i>
|
||||
暂无选手提交
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
if(!empty($absent)){
|
||||
?>
|
||||
|
||||
<div style="background-color: #fff; height: 18px; margin-top: -18px; "></div>
|
||||
<div class="ui segment" style="margin: 50px; ">
|
||||
<?php echo "$MSG_ABSENT"; ?>
|
||||
<div class="ui list">
|
||||
<?php
|
||||
foreach($absent as $a){
|
||||
$uid=htmlentities($a['user_id'],ENT_QUOTES,"UTF-8");
|
||||
echo "<a href='userinfo.php?user=".$uid."' >$uid</a> ";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
370
web/template/sidebar/contestrank2.php
Normal file
370
web/template/sidebar/contestrank2.php
Normal file
@@ -0,0 +1,370 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<link rel="icon" href="../../favicon.ico">
|
||||
|
||||
<title><?php echo $OJ_NAME?></title>
|
||||
<?php include("template/$OJ_TEMPLATE/css.php");?>
|
||||
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="template/<?php echo $OJ_TEMPLATE?>/js/html5shiv.js"></script>
|
||||
<script src="template/<?php echo $OJ_TEMPLATE?>/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<?php include("template/$OJ_TEMPLATE/nav.php");?>
|
||||
<!-- Main component for a primary marketing message or call to action -->
|
||||
<div id="rankdiv" class="padding" onclick="$(this).css('margin-left',(548-window.innerWidth/2)+'px').css('margin-right',(548-window.innerWidth/2)+'px')" style="margin-left:-200px;margin-right:-200px;overflow:auto" >
|
||||
|
||||
<?php
|
||||
$rank=1;
|
||||
?>
|
||||
<center><h3>Contest RankList -- <?php echo $title?></h3><a href="contestrank.xls.php?cid=<?php echo $cid?>" >Download</a></center>
|
||||
<table id=rank <?php if (isset($_GET['down'])) echo "border=1" ?>
|
||||
><thead><tr class=toprow align=center><td class="{sorter:'false'}" width=5%>Rank<th width=10%>User</th><th width=10%>Nick</th><th width=5%>Solved</th><th width=5%>Penalty</th>
|
||||
<?php
|
||||
for ($i=0;$i<$pid_cnt;$i++)
|
||||
echo "<td><a href=problem.php?cid=$cid&pid=$i>$PID[$i]</a></td>";
|
||||
echo "</tr></thead>\n<tbody>";
|
||||
if(false)for ($i=0;$i<$user_cnt;$i++){
|
||||
if ($i&1) echo "<tr class=oddrow align=center>\n";
|
||||
else echo "<tr class=evenrow align=center>\n";
|
||||
echo "<td>";
|
||||
$uuid=$U[$i]->user_id;
|
||||
$nick=$U[$i]->nick;
|
||||
if($nick[0]!="*")
|
||||
echo $rank++;
|
||||
else
|
||||
echo "*";
|
||||
$usolved=$U[$i]->solved;
|
||||
if(isset($_GET['user_id'])&&$uuid==$_GET['user_id']) echo "<td bgcolor=#ffff77>";
|
||||
else echo"<td>";
|
||||
echo "<a name=\"$uuid\" href=userinfo.php?user=$uuid>$uuid</a>";
|
||||
echo "<td><a href=userinfo.php?user=$uuid>".htmlentities($U[$i]->nick,ENT_QUOTES,"UTF-8")."</a>";
|
||||
echo "<td><a href=status.php?user_id=$uuid&cid=$cid>$usolved</a>";
|
||||
echo "<td>".sec2str($U[$i]->time);
|
||||
for ($j=0;$j<$pid_cnt;$j++){
|
||||
$bg_color="eeeeee";
|
||||
if (isset($U[$i]->p_ac_sec[$j])&&$U[$i]->p_ac_sec[$j]>0){
|
||||
$aa=0x33+$U[$i]->p_wa_num[$j]*32;
|
||||
$aa=$aa>0xaa?0xaa:$aa;
|
||||
$aa=dechex($aa);
|
||||
$bg_color="$aa"."ff"."$aa";
|
||||
//$bg_color="aaffaa";
|
||||
if($uuid==$first_blood[$j]){
|
||||
$bg_color="aaaaff";
|
||||
}
|
||||
}else if(isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0) {
|
||||
$aa=0xaa-$U[$i]->p_wa_num[$j]*10;
|
||||
$aa=$aa>16?$aa:16;
|
||||
$aa=dechex($aa);
|
||||
$bg_color="ff$aa$aa";
|
||||
}
|
||||
echo "<td class=well style='background-color:#$bg_color'>";
|
||||
if(isset($U[$i])){
|
||||
if (isset($U[$i]->p_ac_sec[$j])&&$U[$i]->p_ac_sec[$j]>0)
|
||||
echo sec2str($U[$i]->p_ac_sec[$j]);
|
||||
if (isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0)
|
||||
echo "(-".$U[$i]->p_wa_num[$j].")";
|
||||
}
|
||||
}
|
||||
echo "</tr>\n";
|
||||
}
|
||||
echo "</tbody></table>";
|
||||
?>
|
||||
</div>
|
||||
|
||||
</div> <!-- /container -->
|
||||
|
||||
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<?php include("template/$OJ_TEMPLATE/js.php");?>
|
||||
<script type="text/javascript" src="include/jquery.tablesorter.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$.tablesorter.addParser({
|
||||
// set a unique id
|
||||
id: 'punish',
|
||||
is: function(s) {
|
||||
// return false so this parser is not auto detected
|
||||
return false;
|
||||
},
|
||||
format: function(s) {
|
||||
// format your data for normalization
|
||||
var v=s.toLowerCase().replace(/\:/,'').replace(/\:/,'').replace(/\(-/,'.').replace(/\)/,'');
|
||||
//alert(v);
|
||||
v=parseFloat('0'+v);
|
||||
return v>1?v:v+Number.MAX_VALUE-1;
|
||||
},
|
||||
// set type, either numeric or text
|
||||
type: 'numeric'
|
||||
});
|
||||
$("#rank").tablesorter({
|
||||
headers: {
|
||||
4: {
|
||||
sorter:'punish'
|
||||
}
|
||||
<?php
|
||||
for ($i=0;$i<$pid_cnt;$i++){
|
||||
echo ",".($i+5).": { ";
|
||||
echo " sorter:'punish' ";
|
||||
echo "}";
|
||||
}
|
||||
?>
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
</script>
|
||||
<script>
|
||||
function getTotal(rows){
|
||||
var total=0;
|
||||
return rows.length-1;
|
||||
for(var i=0;i<rows.length&&total==0;i++){
|
||||
try{
|
||||
total=parseInt(rows[rows.length-i].cells[0].innerHTML);
|
||||
if(isNaN(total)) total=0;
|
||||
}catch(e){
|
||||
|
||||
}
|
||||
}
|
||||
return total;
|
||||
|
||||
}
|
||||
function metal(){
|
||||
var tb=window.document.getElementById('rank');
|
||||
var rows=tb.rows;
|
||||
try{
|
||||
var total=getTotal(rows);
|
||||
//alert(total);
|
||||
for(var i=1;i<rows.length;i++){
|
||||
var cell=rows[i].cells[0];
|
||||
var acc=rows[i].cells[3];
|
||||
var ac=parseInt(acc.innerHTML);
|
||||
if (isNaN(ac)) ac=parseInt(acc.textContent);
|
||||
|
||||
|
||||
if(cell.innerHTML!="*"&&ac>0){
|
||||
|
||||
var r=i;
|
||||
if(r==1){
|
||||
cell.innerHTML="Winner";
|
||||
//cell.style.cssText="background-color:gold;color:red";
|
||||
cell.className="badge btn-warning";
|
||||
}else{
|
||||
cell.innerHTML=r;
|
||||
}
|
||||
if(r>1&&r<=total*.05+1)
|
||||
cell.className="badge btn-warning";
|
||||
if(r>total*.05+1&&r<=total*.20+1)
|
||||
cell.className="badge";
|
||||
if(r>total*.20+1&&r<=total*.45+1)
|
||||
cell.className="badge btn-danger";
|
||||
if(r>total*.45+1&&ac>0)
|
||||
cell.className="badge badge-info";
|
||||
}
|
||||
}
|
||||
}catch(e){
|
||||
alert(e);
|
||||
}
|
||||
}
|
||||
metal();
|
||||
replay();
|
||||
<?php if (isset($solution_json)) echo "var solutions=$solution_json;"?>
|
||||
var replay_index=0;
|
||||
function replay(){
|
||||
replay_index=0;
|
||||
window.setTimeout("add()",1000);
|
||||
}
|
||||
function add(){
|
||||
if(replay_index>=solutions.length) return metal();
|
||||
var solution=solutions[replay_index];
|
||||
var tab=$("#rank");
|
||||
var row=findrow(tab,solution);
|
||||
if(row==null)
|
||||
tab.append(newrow(tab,solution));
|
||||
row=findrow(tab,solution);
|
||||
update(tab,row,solution);
|
||||
replay_index++;
|
||||
sort(tab[0].rows);
|
||||
metal();
|
||||
window.setTimeout("add()",5);
|
||||
}
|
||||
function sec2str(sec){
|
||||
var ret="";
|
||||
if(sec<36000) ret="0" ;
|
||||
ret+=parseInt(sec/3600);
|
||||
ret+=":";
|
||||
if(sec%3600/60<10) ret+="0" ;
|
||||
ret+=parseInt(sec%3600/60);
|
||||
ret+=":";
|
||||
if(sec%60<10) ret+="0";
|
||||
ret+=parseInt(sec%60);
|
||||
return ret;
|
||||
}
|
||||
function str2sec(str){
|
||||
var s=str.split(":");
|
||||
var h=parseInt(s[0]);
|
||||
var m=parseInt(s[1]);
|
||||
var s=parseInt(s[2]);
|
||||
return h*3600+m*60+s;
|
||||
}
|
||||
function colorful(td,ac,num){
|
||||
if(num<0) num=-num;else num=0;
|
||||
num*=10
|
||||
if(num>255) num=255;
|
||||
if(ac&&num>200) num=200;
|
||||
var rb=ac?num:255-num;
|
||||
if(ac){
|
||||
// td.className="well green";
|
||||
td.style="background-color: rgb("+rb+",255,"+rb+");";
|
||||
}else{
|
||||
td.style="background-color: rgb(255,"+rb+","+rb+");";
|
||||
}
|
||||
}
|
||||
function update(tab,row,solution){
|
||||
var col=parseInt(solution["num"])+5;
|
||||
var old=row.cells[col].innerHTML;
|
||||
var time=0;
|
||||
if(old!="") time=parseInt(old);
|
||||
if(!(old.charAt(0)=='-'||old=='')) return;
|
||||
if(parseInt(solution["result"])==4){
|
||||
if(old.charAt(0)=='-'||old=='') {
|
||||
var pt=time;
|
||||
time= parseInt(solution["in_date"])-time*1200;
|
||||
|
||||
penalty=str2sec(row.cells[4].innerHTML);
|
||||
penalty+=time;
|
||||
row.cells[4].innerHTML=sec2str(penalty);
|
||||
row.cells[col].innerHTML=sec2str( parseInt(solution["in_date"]));
|
||||
if(pt!=0)
|
||||
row.cells[col].innerHTML+="("+pt+")";
|
||||
colorful(row.cells[col],true,pt);
|
||||
}else{
|
||||
if(row.cells[col].className=="well green");
|
||||
}
|
||||
row.cells[3].innerHTML=parseInt(row.cells[3].innerHTML)+1;
|
||||
}else{
|
||||
time--;
|
||||
row.cells[col].innerHTML=time;
|
||||
colorful(row.cells[col],false,time);
|
||||
}
|
||||
/*
|
||||
if(parseInt(solution["result"])==4){
|
||||
if(row.cells[col].className!="well green"){
|
||||
}
|
||||
row.cells[col].className="well green";
|
||||
}else{
|
||||
if(row.cells[col].className!="well green")
|
||||
row.cells[col].className="well red";
|
||||
}
|
||||
*/
|
||||
}
|
||||
function sort(rows){
|
||||
for(var i=1;i<rows.length;i++){
|
||||
for(var j=1;j<i;j++){
|
||||
if(cmp(rows[i],rows[j])){
|
||||
swapNode(rows[i],rows[j]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
function swapNode(node1,node2)
|
||||
{
|
||||
var parent = node1.parentNode;//父节点
|
||||
var t1 = node1.nextSibling;//两节点的相对位置
|
||||
var t2 = node2.nextSibling;
|
||||
$(node1).fadeToggle("slow");
|
||||
$(node2).fadeToggle("slow");
|
||||
//如果是插入到最后就用appendChild
|
||||
if(t1) parent.insertBefore(node2,t1);
|
||||
else parent.appendChild(node2);
|
||||
if(t2) parent.insertBefore(node1,t2);
|
||||
else parent.appendChild(node1);
|
||||
$(node1).fadeToggle("slow");
|
||||
$(node2).fadeToggle("slow");
|
||||
}
|
||||
function cmp(a,b){
|
||||
if(parseInt(a.cells[3].innerHTML)>parseInt(b.cells[3].innerHTML))
|
||||
return true;
|
||||
|
||||
if(parseInt(a.cells[3].innerHTML)==parseInt(b.cells[3].innerHTML))
|
||||
return str2sec(a.cells[4].innerHTML)<str2sec(b.cells[4].innerHTML);
|
||||
}
|
||||
function trim(str){ //删除左右两端的空格
|
||||
return str.replace(/(^\s*)|(\s*$)/g, "");
|
||||
}
|
||||
function newrow(tab,solution){
|
||||
|
||||
var row="<tr><td></td><td>"+solution['user_id']+"</td>";
|
||||
row+="<td>"+trim(solution['nick'])+"</td>";
|
||||
row+="<td>";
|
||||
var css="grey";
|
||||
var time=0;
|
||||
if(solution['result']==4){
|
||||
row+="1";
|
||||
time=solution['in_date'];
|
||||
count=sec2str( time);
|
||||
css="well green";
|
||||
} else{
|
||||
row+="0";
|
||||
css="well red";
|
||||
count=-1;
|
||||
}
|
||||
row+="</td>";
|
||||
var n=tab[0].rows[0].cells.length;
|
||||
row+="<td>"+sec2str(time)+"</td>";
|
||||
|
||||
for(var i=5;i<n;i++) {
|
||||
if(i-5==solution['num'])
|
||||
row+="<td class='"+css+"'>"+count+"</td>";
|
||||
else
|
||||
row+="<td></td>";
|
||||
}
|
||||
row+="</tr>";
|
||||
return row;
|
||||
}
|
||||
function findrow(tab,solution){
|
||||
var rows=tab[0].rows;
|
||||
for(var i=0;i<rows.length;i++){
|
||||
if(rows[i].cells[1].innerHTML==solution['user_id'])
|
||||
return rows[i];
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.well{
|
||||
background-image:none;
|
||||
padding:1px;
|
||||
}
|
||||
td{
|
||||
white-space:nowrap;
|
||||
|
||||
}
|
||||
.red{
|
||||
background-color:#ffa0a0;
|
||||
}
|
||||
.green{
|
||||
background-color:#33ff33;
|
||||
}
|
||||
|
||||
</style>
|
||||
</body>
|
||||
</html>
|
||||
46
web/template/sidebar/contestrank3.php
Normal file
46
web/template/sidebar/contestrank3.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<link rel="icon" href="../../favicon.ico">
|
||||
<link rel="stylesheet" type="text/css" href="template/<?php echo $OJ_TEMPLATE?>/scrollboard.css">
|
||||
<title><?php echo $OJ_NAME?></title>
|
||||
<?php
|
||||
$OJ_TEMPLATE="bs3";
|
||||
include("template/$OJ_TEMPLATE/css.php");?>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<?php include("template/$OJ_TEMPLATE/js.php");?>
|
||||
<script type="text/javascript" src="include/jquery.tablesorter.js?v=0.1"></script>
|
||||
<script type="text/javascript" src="template/<?php echo $OJ_TEMPLATE?>/scrollboard.js?v=0.09"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var board = new Board(<?php echo $problem_num?>, new Array(<?php echo $gold_num?>, <?php echo $silver_num?>, <?php echo $bronze_num?>),StringToDate("<?php echo $start_time_str?>"), StringToDate("<?php echo $lock_time_str?>"),<?php echo $cid?>);
|
||||
|
||||
board.showInitBoard();
|
||||
$('html').click(function(e) {
|
||||
board.keydown();
|
||||
});
|
||||
$('html').keydown(function(e) {
|
||||
if(e.keyCode==13)
|
||||
board.keydown();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
146
web/template/sidebar/contestrank4.php
Normal file
146
web/template/sidebar/contestrank4.php
Normal file
@@ -0,0 +1,146 @@
|
||||
<?php $show_title="Contest RankList -- ".$title." - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
<style>
|
||||
.submit_time {
|
||||
font-size: 0.8em;
|
||||
margin-top: 5px;
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
||||
<div style="margin-bottom:40px; ">
|
||||
<h1 style="text-align: left;">Contest<?php echo $cid?> - <?php echo $title?> - <?php echo $MSG_REVIEW_CONTESTRANK ?>
|
||||
<button class='ui small yellow button' onclick='$("tr[class!=active]").toggle();'><?php echo $MSG_SHOW ?>/<?php echo $MSG_HIDE ?></button>
|
||||
|
||||
<a class='ui small blue button' href="contestrank.php?cid=<?php echo $cid?>" ><?php echo $MSG_BACK ?></a>
|
||||
</h1>
|
||||
</div>
|
||||
<div id="rankdiv" class="padding" onclick="$(this).css('margin-left',(548-window.innerWidth/2)+'px').css('margin-right',(548-window.innerWidth/2)+'px')" style="margin-left:-200px;margin-right:-200px;overflow:auto" >
|
||||
|
||||
<?php if($user_cnt>0){ ?>
|
||||
<table <?php if (isset($_GET['down'])) echo "border=1" ?>
|
||||
class="ui very basic center aligned table" style="margin:30px">
|
||||
<thead>
|
||||
<tr class='active'>
|
||||
<td class="{sorter:'false'} text-center"><?php echo $MSG_STANDING?></td>
|
||||
<td class='text-center'><?php echo $MSG_USER?></td>
|
||||
<td class='text-center'><?php echo $MSG_NICK?></td>
|
||||
<td class='text-center'><?php echo $MSG_SOVLED?></td>
|
||||
<td class='text-center'><?php echo $MSG_CONTEST_PENALTY?></td>
|
||||
<?php
|
||||
for ($i=0;$i<$pid_cnt;$i++)
|
||||
echo "<th><a href=problem.php?id=".$pida[$i].">$PID[$i]</a></th>";
|
||||
?>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$rank=1;
|
||||
for ($i=0;$i<$user_cnt;$i++){
|
||||
$uuid=$U[$i]->user_id;
|
||||
$nick=$U[$i]->nick;
|
||||
$usolved=$U[$i]->solved;
|
||||
echo "<tr onclick='$(this).attr(\"class\",\"active\");' ondblclick='$(this).attr(\"class\",\"\");' >";
|
||||
|
||||
echo "<td>";
|
||||
if($nick[0]!="*"){
|
||||
if($rank==1)
|
||||
echo "<div class=\"ui yellow ribbon label\">";
|
||||
else if($rank==2)
|
||||
echo "<div class=\"ui ribbon label\">";
|
||||
else if($rank==3)
|
||||
echo "<div class=\"ui brown ribbon label\" style=\"background-color: #C47222 !important;\">";
|
||||
else
|
||||
echo "<div>";
|
||||
echo $rank++;
|
||||
echo "</div>";
|
||||
}
|
||||
else
|
||||
echo "*";
|
||||
echo "</td>";
|
||||
|
||||
if(isset($_GET['user_id'])&&$uuid==$_GET['user_id'])
|
||||
echo "<td bgcolor=#ffff77>";
|
||||
else
|
||||
echo "<td>";
|
||||
echo "<a name=\"$uuid\" href=userinfo.php?user=$uuid>$uuid</a>";
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo "<a href=userinfo.php?user=$uuid>".htmlentities($U[$i]->nick,ENT_QUOTES,"UTF-8")."</a>";
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo "<span class=\"score\">";
|
||||
echo "<a href=status.php?user_id=$uuid&cid=$cid>$usolved</a>";
|
||||
echo "</span>";
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo sec2str($U[$i]->time);
|
||||
echo "</td>";
|
||||
|
||||
for ($k=0;$k<$pid_cnt;$k++){
|
||||
$j=$pida[$k];
|
||||
//echo "$j";
|
||||
if(isset($U[$i])){
|
||||
if (isset($U[$i]->p_ac_sec[$j])&&$U[$i]->p_ac_sec[$j]>0){
|
||||
if($uuid==$first_blood[$j]){
|
||||
echo "<td style=\"background: rgb(".(150+12*$U[$i]->p_wa_num[$j]).", 255, ".(150+8*$U[$i]->p_wa_num[$j])."); position:relative;\">";
|
||||
echo "<div style=\"position:absolute;width:30%;margin-top: 5%;margin-right: 5%;height:30%;right:0px;top:0px;\">※1st</div>";
|
||||
}
|
||||
else{
|
||||
echo "<td style=\"background: rgb(".(150+12*$U[$i]->p_wa_num[$j]).", 255, ".(150+8*$U[$i]->p_wa_num[$j])."); \">";
|
||||
}
|
||||
if (isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0)
|
||||
{
|
||||
echo "<span class=\"score score_10\">";
|
||||
echo "+".$U[$i]->p_wa_num[$j]."";
|
||||
echo "</span>";
|
||||
}else{
|
||||
echo "<span class=\"score score_10\">";
|
||||
echo "+";
|
||||
echo "</span>";
|
||||
}
|
||||
echo "<div class=\"submit_time\">";
|
||||
echo sec2str($U[$i]->p_ac_sec[$j]);
|
||||
echo "</div>";
|
||||
}
|
||||
else if (isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0){
|
||||
echo "<td style=\"background: rgb(255, ".(240-9*$U[$i]->p_wa_num[$j]).", ".(240-9*$U[$i]->p_wa_num[$j])."); \">";
|
||||
echo "<span class=\"score score_0\">";
|
||||
echo "-".$U[$i]->p_wa_num[$j]."";
|
||||
echo "</span>";
|
||||
}
|
||||
else{
|
||||
echo "<td>";
|
||||
}
|
||||
|
||||
}
|
||||
else{
|
||||
echo "<td>";
|
||||
}
|
||||
|
||||
echo "</td>";
|
||||
}
|
||||
|
||||
|
||||
echo "</tr>";
|
||||
}
|
||||
?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<?php }else{ ?>
|
||||
<div style="background-color: #fff; height: 18px; margin-top: -18px; "></div>
|
||||
<div class="ui placeholder segment" style="margin-top: 0px; ">
|
||||
<div class="ui icon header">
|
||||
<i class="ui file icon" style="margin-bottom: 20px; "></i>
|
||||
暂无选手提交
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
138
web/template/sidebar/contestrank5.php
Normal file
138
web/template/sidebar/contestrank5.php
Normal file
@@ -0,0 +1,138 @@
|
||||
<?php $show_title = "Contest RankList - " . $title . " - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php"); ?>
|
||||
<style>
|
||||
.submit_time {
|
||||
font-size: 0.8em;
|
||||
margin-top: 5px;
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
||||
<div style="margin-bottom:40px; ">
|
||||
<h1 style="text-align:left;">Contest<?php echo $cid ?> -- <?php echo $title ?> -- <?php echo $MSG_REVIEW_CONTESTRANK ?>
|
||||
<button class='ui small yellow button' onclick='$("tr[class!=active]").toggle();'><?php echo $MSG_SHOW ?>/<?php echo $MSG_HIDE ?></button>
|
||||
<a class='ui small blue button' href="contestrank-oi.php?cid=<?php echo $cid?>" ><?php echo $MSG_BACK ?></a>
|
||||
</h1>
|
||||
</div>
|
||||
<div id="rankdiv" class="padding" onclick="$(this).css('margin-left',(548-window.innerWidth/2)+'px').css('margin-right',(548-window.innerWidth/2)+'px')" style="margin-left:-200px;margin-right:-200px;overflow:auto" >
|
||||
|
||||
<?php if ($user_cnt > 0) { ?>
|
||||
<table class="ui very basic center aligned table" style="margin:30px">
|
||||
<thead>
|
||||
<tr class='active'>
|
||||
<td class="{sorter:'false'} text-center"><?php echo $MSG_STANDING?></td>
|
||||
<td class='text-center'><?php echo $MSG_USER?></td>
|
||||
<td class='text-center'><?php echo $MSG_NICK?></td>
|
||||
<td class='text-center'><?php echo $MSG_SOVLED?></td>
|
||||
<td class='text-center'><?php echo $MSG_CONTEST_PENALTY?></td>
|
||||
<td class='text-center'><?php echo $MSG_MARK ?></td>
|
||||
|
||||
<?php
|
||||
for ($i = 0; $i < $pid_cnt; $i++)
|
||||
echo "<th><a href=problem.php?id=".$pida[$i].">$PID[$i]</a></th>";
|
||||
?>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$rank = 1;
|
||||
for ($i = 0; $i < $user_cnt; $i++) {
|
||||
$uuid = $U[$i]->user_id;
|
||||
$nick = $U[$i]->nick;
|
||||
$usolved = $U[$i]->solved;
|
||||
echo "<tr onclick='$(this).attr(\"class\",\"active\");' ondblclick='$(this).attr(\"class\",\"\");' >";
|
||||
echo "<td>";
|
||||
if ($nick[0] != "*") {
|
||||
if ($rank == 1)
|
||||
echo "<div class=\"ui yellow ribbon label\">";
|
||||
else if ($rank == 2)
|
||||
echo "<div class=\"ui ribbon label\">";
|
||||
else if ($rank == 3)
|
||||
echo "<div class=\"ui brown ribbon label\" style=\"background-color: #C47222 !important;\">";
|
||||
else
|
||||
echo "<div>";
|
||||
echo $rank++;
|
||||
echo "</div>";
|
||||
} else
|
||||
echo "*";
|
||||
echo "</td>";
|
||||
|
||||
if (isset($_GET['user_id']) && $uuid == $_GET['user_id'])
|
||||
echo "<td bgcolor=#ffff77>";
|
||||
else
|
||||
echo "<td>";
|
||||
echo "<a name=\"$uuid\" href=userinfo.php?user=$uuid>$uuid</a>";
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo htmlentities($U[$i]->nick, ENT_QUOTES, "UTF-8");
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo htmlentities($U[$i]->solved, ENT_QUOTES, "UTF-8");
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo sec2str($U[$i]->time);
|
||||
echo "</td>";
|
||||
|
||||
echo "<td class='ui small header'>";
|
||||
echo "<a href=status.php?user_id=$uuid&cid=$cid>" . ($U[$i]->total) . "</a>";
|
||||
echo "</td>";
|
||||
|
||||
for ($k=0;$k<$pid_cnt;$k++){
|
||||
$j=$pida[$k];
|
||||
if (isset($U[$i])) {
|
||||
if (isset($U[$i]->p_ac_sec[$j]) && $U[$i]->p_ac_sec[$j] > 0) {
|
||||
if ($uuid == $first_blood[$j]) {
|
||||
echo "<td style=\"background: rgb(" . (150 + 12 * $U[$i]->p_wa_num[$j]) . ", 255, " . min(230, 150 + 8 * $U[$i]->p_wa_num[$j]) . "); position:relative;\">";
|
||||
echo "<div style=\"position:absolute;width:30%;margin-top: 5%;margin-right: 5%;height:30%;right:0px;top:0px;\"> <font color='red'>※1st</font></div>";
|
||||
} else {
|
||||
echo "<td style=\"background: rgb(" . (150 + 12 * $U[$i]->p_wa_num[$j]) . ", 255, " . min(230, 150 + 8 * $U[$i]->p_wa_num[$j]) . "); \">";
|
||||
}
|
||||
if (isset($U[$i]->p_wa_num[$j]) && $U[$i]->p_wa_num[$j] > 0) {
|
||||
echo "<span class=\"score score_10\">";
|
||||
echo $U[$i]->p_pass_rate[$j]*100;
|
||||
echo "</span>";
|
||||
} else {
|
||||
echo "<span class=\"score score_10\">";
|
||||
echo $U[$i]->p_pass_rate[$j]*100;
|
||||
echo "</span>";
|
||||
}
|
||||
echo "<div class=\"submit_time\">";
|
||||
echo sec2str($U[$i]->p_ac_sec[$j]);
|
||||
echo "</div>";
|
||||
} else if (isset($U[$i]->p_wa_num[$j]) && $U[$i]->p_wa_num[$j] > 0) {
|
||||
echo "<td style=\"background: rgb(255, " . max(130, 240 - 9 * $U[$i]->p_wa_num[$j]) . ", " . max(130, 240 - 9 * $U[$i]->p_wa_num[$j]) . "); \">";
|
||||
echo "<span class=\"score score_0\">";
|
||||
echo $U[$i]->p_pass_rate[$j] * 100;
|
||||
echo "</span>";
|
||||
} else {
|
||||
echo "<td>";
|
||||
}
|
||||
} else {
|
||||
echo "<td>";
|
||||
}
|
||||
|
||||
echo "</td>";
|
||||
}
|
||||
|
||||
echo "</tr>";
|
||||
}
|
||||
?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<?php } else { ?>
|
||||
<div style="background-color: #fff; height: 18px; margin-top: -18px; "></div>
|
||||
<div class="ui placeholder segment" style="margin-top: 0px; ">
|
||||
<div class="ui icon header">
|
||||
<i class="ui file icon" style="margin-bottom: 20px; "></i>
|
||||
暂无选手提交
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php"); ?>
|
||||
86
web/template/sidebar/contestset.php
Normal file
86
web/template/sidebar/contestset.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php $show_title="$MSG_CONTEST - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
<div class="padding">
|
||||
<div class="ui grid" style="margin-bottom: 10px; ">
|
||||
<div class="row" style="white-space: nowrap; ">
|
||||
<div class="seven wide column">
|
||||
<form method=post action=contest.php >
|
||||
<div class="ui search" style="width: 280px; height: 28px; margin-top: -5.3px; ">
|
||||
<div class="ui left icon input" style="width: 100%; ">
|
||||
<input class="prompt" style="width: 100%; " type="text" value="" placeholder=" <?php echo $MSG_CONTEST_NAME ?> …" name="keyword">
|
||||
<i class="search icon"></i>
|
||||
<a class="ui button" href="contest.php" ><?php echo $MSG_VIEW_ALL_CONTESTS ?></a>
|
||||
</div>
|
||||
<div class="results" style="width: 100%; "></div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="nine wide right aligned column">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 30px; ">
|
||||
|
||||
<?php
|
||||
if(!isset($page)) $page=1;
|
||||
$page=intval($page);
|
||||
$section=8;
|
||||
$start=$page>$section?$page-$section:1;
|
||||
$end=$page+$section>$view_total_page?$view_total_page:$page+$section;
|
||||
$MY=isset($_GET['my'])?"&my":"";
|
||||
?>
|
||||
<div style="text-align: center; ">
|
||||
<div class="ui pagination menu" style="box-shadow: none; ">
|
||||
<a class="<?php if($page==1) echo "disabled "; ?>icon item" href="<?php if($page<>1) echo "contest.php?page=".strval($page-1).$MY ?>" id="page_prev">
|
||||
<i class="left chevron icon"></i>
|
||||
</a>
|
||||
<?php
|
||||
for ($i=$start;$i<=$end;$i++){
|
||||
echo "<a class=\"".($page==$i?"active ":"")."item\" href=\"contest.php?page=".$i.$MY."\">".$i."</a>";
|
||||
}
|
||||
?>
|
||||
<a class="<?php if($page==$view_total_page) echo "disabled "; ?> icon item" href="<?php if($page<>$view_total_page) echo "contest.php?page=".strval($page+1).$MY; ?>" id="page_next">
|
||||
<i class="right chevron icon"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<table class="ui very basic center aligned table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?php echo $MSG_CONTEST_ID?></th>
|
||||
<th><?php echo $MSG_CONTEST_NAME?></th>
|
||||
<th><?php echo $MSG_TIME?></th>
|
||||
<th><?php echo $MSG_CONTEST_OPEN?></th>
|
||||
<th><?php echo $MSG_CONTEST_CREATOR?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
foreach($view_contest as $row){
|
||||
echo "<tr>";
|
||||
foreach($row as $table_cell){
|
||||
echo "<td>";
|
||||
echo "\t".$table_cell;
|
||||
echo "</td>";
|
||||
}
|
||||
echo "</tr>";
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
|
||||
<!-- <td><a href="<%= syzoj.utils.makeUrl(['contest', contest.id]) %>"><%= contest.title %> <%- tag %></a></td>
|
||||
<td><%= syzoj.utils.formatDate(contest.start_time) %></td>
|
||||
<td><%= syzoj.utils.formatDate(contest.end_time) %></td>
|
||||
<td class="font-content"><%- contest.subtitle %></td> -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
378
web/template/sidebar/conteststatistics.php
Normal file
378
web/template/sidebar/conteststatistics.php
Normal file
@@ -0,0 +1,378 @@
|
||||
<?php
|
||||
$show_title="$MSG_STATISTICS - $OJ_NAME";
|
||||
include("template/$OJ_TEMPLATE/header.php");
|
||||
?>
|
||||
<div class="padding">
|
||||
|
||||
<?php
|
||||
function formatTimeLength($length) {
|
||||
$hour = 0;
|
||||
$minute = 0;
|
||||
$second = 0;
|
||||
$result = '';
|
||||
|
||||
global $MSG_SECONDS, $MSG_MINUTES, $MSG_HOURS, $MSG_DAYS;
|
||||
|
||||
if ($length>=60) {
|
||||
$second = $length%60;
|
||||
|
||||
if ($second>0 && $second<10) {
|
||||
$result = '0'.$second.' '.$MSG_SECONDS;}
|
||||
else if ($second>0) {
|
||||
$result = $second.' '.$MSG_SECONDS;
|
||||
}
|
||||
|
||||
$length = floor($length/60);
|
||||
if ($length >= 60) {
|
||||
$minute = $length%60;
|
||||
|
||||
if ($minute==0) {
|
||||
if ($result != '') {
|
||||
$result = '00'.' '.$MSG_MINUTES.' '.$result;
|
||||
}
|
||||
}
|
||||
else if ($minute>0 && $minute<10) {
|
||||
if ($result != '') {
|
||||
$result = '0'.$minute.' '.$MSG_MINUTES.' '.$result;}
|
||||
}
|
||||
else {
|
||||
$result = $minute.' '.$MSG_MINUTES.' '.$result;
|
||||
}
|
||||
|
||||
$length = floor($length/60);
|
||||
|
||||
if ($length >= 24) {
|
||||
$hour = $length%24;
|
||||
|
||||
if ($hour==0) {
|
||||
if ($result != '') {
|
||||
$result = '00'.' '.$MSG_HOURS.' '.$result;
|
||||
}
|
||||
}
|
||||
else if ($hour>0 && $hour<10) {
|
||||
if($result != '') {
|
||||
$result = '0'.$hour.' '.$MSG_HOURS.' '.$result;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$result = $hour.' '.$MSG_HOURS.' '.$result;
|
||||
}
|
||||
|
||||
$length = floor($length / 24);
|
||||
$result = $length .$MSG_DAYS.' '.$result;
|
||||
}
|
||||
else {
|
||||
$result = $length.' '.$MSG_HOURS.' '.$result;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$result = $length.' '.$MSG_MINUTES.' '.$result;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$result = $length.' '.$MSG_SECONDS;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
<?php
|
||||
if (isset($_GET['cid'])) {
|
||||
$cid = intval($_GET['cid']);
|
||||
$view_cid = $cid;
|
||||
//print $cid;
|
||||
|
||||
//check contest valid
|
||||
$sql = "SELECT * FROM `contest` WHERE `contest_id`=?";
|
||||
$result = pdo_query($sql,$cid);
|
||||
|
||||
$rows_cnt = count($result);
|
||||
$contest_ok = true;
|
||||
$password = "";
|
||||
|
||||
if (isset($_POST['password']))
|
||||
$password = $_POST['password'];
|
||||
|
||||
if (false) {
|
||||
$password = stripslashes($password);
|
||||
}
|
||||
|
||||
if ($rows_cnt==0) {
|
||||
$view_title = "比赛已经关闭!";
|
||||
}
|
||||
else{
|
||||
$row = $result[0];
|
||||
$view_private = $row['private'];
|
||||
|
||||
if ($password!="" && $password==$row['password'])
|
||||
$_SESSION[$OJ_NAME.'_'.'c'.$cid] = true;
|
||||
|
||||
if ($row['private'] && !isset($_SESSION[$OJ_NAME.'_'.'c'.$cid]))
|
||||
$contest_ok = false;
|
||||
|
||||
if($row['defunct']=='Y')
|
||||
$contest_ok = false;
|
||||
|
||||
if (isset($_SESSION[$OJ_NAME.'_'.'administrator']))
|
||||
$contest_ok = true;
|
||||
|
||||
$now = time();
|
||||
$start_time = strtotime($row['start_time']);
|
||||
$end_time = strtotime($row['end_time']);
|
||||
$view_description = $row['description'];
|
||||
$view_title = $row['title'];
|
||||
$view_start_time = $row['start_time'];
|
||||
$view_end_time = $row['end_time'];
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if (isset($_GET['cid'])) {?>
|
||||
<center>
|
||||
<div>
|
||||
<h3><?php echo $MSG_CONTEST_ID?> : <?php echo $view_cid?> - <?php echo $view_title ?></h3>
|
||||
<p>
|
||||
<?php echo $view_description?>
|
||||
</p>
|
||||
<br>
|
||||
<?php echo $MSG_SERVER_TIME?> : <span id=nowdate > <?php echo date("Y-m-d H:i:s")?></span>
|
||||
<br>
|
||||
|
||||
<?php if (isset($OJ_RANK_LOCK_PERCENT)&&$OJ_RANK_LOCK_PERCENT!=0) { ?>
|
||||
Lock Board Time: <?php echo date("Y-m-d H:i:s", $view_lock_time) ?><br/>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($now>$end_time) {
|
||||
echo "<span class=text-muted>$MSG_Ended</span>";
|
||||
}
|
||||
else if ($now<$start_time) {
|
||||
echo "<span class=text-success>$MSG_Start </span>";
|
||||
echo "<span class=text-success>$MSG_TotalTime</span>"." ".formatTimeLength($end_time-$start_time);
|
||||
}
|
||||
else {
|
||||
echo "<span class=text-danger>$MSG_Running</span> ";
|
||||
echo "<span class=text-danger>$MSG_LeftTime</span>"." ".formatTimeLength($end_time-$now);
|
||||
}
|
||||
?>
|
||||
|
||||
<br><br>
|
||||
|
||||
<?php echo $MSG_CONTEST_STATUS?> :
|
||||
|
||||
<?php
|
||||
if ($now>$end_time)
|
||||
echo "<span class=text-muted>".$MSG_End."</span>";
|
||||
else if ($now<$start_time)
|
||||
echo "<span class=text-success>".$MSG_Start."</span>";
|
||||
else
|
||||
echo "<span class=text-danger>".$MSG_Running."</span>";
|
||||
?>
|
||||
|
||||
|
||||
<?php echo $MSG_CONTEST_OPEN?> :
|
||||
|
||||
<?php if ($view_private=='0')
|
||||
echo "<span class=text-primary>".$MSG_Public."</span>";
|
||||
else
|
||||
echo "<span class=text-danger>".$MSG_Private."</span>";
|
||||
?>
|
||||
|
||||
<br>
|
||||
|
||||
<?php echo $MSG_START_TIME?> : <?php echo $view_start_time?>
|
||||
<br>
|
||||
<?php echo $MSG_END_TIME?> : <?php echo $view_end_time?>
|
||||
<br><br>
|
||||
|
||||
<div class="btn-group">
|
||||
<a href="contest.php?cid=<?php echo $cid?>" class="btn btn-primary btn-sm"><?php echo $MSG_PROBLEMS?></a>
|
||||
<a href="status.php?cid=<?php echo $view_cid?>" class="btn btn-primary btn-sm"><?php echo $MSG_SUBMIT?></a>
|
||||
<a href="contestrank.php?cid=<?php echo $view_cid?>" class="btn btn-primary btn-sm"><?php echo $MSG_STANDING?></a>
|
||||
<a href="contestrank-oi.php?cid=<?php echo $view_cid?>" class="btn btn-primary btn-sm"><?php echo "OI".$MSG_STANDING?></a>
|
||||
<a href="conteststatistics.php?cid=<?php echo $view_cid?>" class="btn btn-primary btn-sm"><?php echo $MSG_STATISTICS?></a>
|
||||
<?php if(isset($_SESSION[$OJ_NAME.'_'.'administrator']) || isset($_SESSION[$OJ_NAME.'_'.'contest_creator'])) {?>
|
||||
<a href="suspect_list.php?cid=<?php echo $view_cid?>" class="btn btn-warning btn-sm"><?php echo $MSG_IP_VERIFICATION?></a>
|
||||
<a href="user_set_ip.php?cid=<?php echo $view_cid?>" class="btn btn-success btn-sm"><?php echo $MSG_SET_LOGIN_IP?></a>
|
||||
<a target="_blank" href="../../admin/contest_edit.php?cid=<?php echo $view_cid?>" class="btn btn-success btn-sm"><?php echo "EDIT"?></a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</center>
|
||||
<?php }
|
||||
?>
|
||||
<br>
|
||||
<center>
|
||||
<h4><?php if (isset($locked_msg)) echo $locked_msg;?></h4>
|
||||
<table id=cs class="table-hover table-striped" align=center width=90% border=0>
|
||||
<thead>
|
||||
<tr class=toprow>
|
||||
<th class='text-center'></th>
|
||||
<th class='text-center'>AC</th>
|
||||
<th class='text-center'>PE</th>
|
||||
<th class='text-center'>WA</th>
|
||||
<th class='text-center'>TLE</th>
|
||||
<th class='text-center'>MLE</th>
|
||||
<th class='text-center'>OLE</th>
|
||||
<th class='text-center'>RE</th>
|
||||
<th class='text-center'>CE</th>
|
||||
<th class='text-center'>TR</th>
|
||||
<th class='text-center'>|</th>
|
||||
<th class='text-center'>Total</th>
|
||||
<?php
|
||||
$i = 0;
|
||||
foreach ($language_name as $lang) {
|
||||
if (isset($R[$pid_cnt][$i+11]) )
|
||||
echo "<th class='text-center'>$language_name[$i]</th>";
|
||||
else
|
||||
echo "";//"<th class='text-center'></th>";
|
||||
$i++;
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i=0; $i<$pid_cnt; $i++) {
|
||||
if(!isset($PID[$i]))
|
||||
$PID[$i] = "";
|
||||
|
||||
if ($i&1)
|
||||
echo "<tr class='oddrow'>";
|
||||
else
|
||||
echo "<tr class='evenrow'>";
|
||||
|
||||
if (time()<$end_time) { //during contest/exam time
|
||||
echo "<td class='text-center'><a href=problem.php?cid=$cid&pid=$i>$PID[$i]</a></td>";
|
||||
}
|
||||
else { //over contest/exam time
|
||||
//check the problem will be use remained contest/exam
|
||||
$sql = "SELECT `problem_id` FROM `contest_problem` WHERE (`contest_id`=? AND `num`=?)";
|
||||
$tresult = pdo_query($sql, $cid, $i);
|
||||
|
||||
$tpid = $tresult[0][0];
|
||||
$sql = "SELECT `problem_id` FROM `problem` WHERE `problem_id`=? AND `problem_id` IN (
|
||||
SELECT `problem_id` FROM `contest_problem` WHERE `contest_id` IN (
|
||||
SELECT `contest_id` FROM `contest` WHERE (`defunct`='N' AND now()<`end_time`)
|
||||
)
|
||||
)";
|
||||
$tresult = pdo_query($sql, $tpid);
|
||||
|
||||
if (intval($tresult) != 0) //if the problem will be use remained contes/exam */
|
||||
echo "<td class='text-center'>$PID[$i]</td>";
|
||||
else
|
||||
echo "<td class='text-center'><a href='problem.php?id=".$tpid."'>".$PID[$i]."</a></td>";
|
||||
}
|
||||
|
||||
for ($j=0; $j<count($language_name)+11; $j++) {
|
||||
// if (!isset($R[$i][$j]))
|
||||
// $R[$i][$j]="";
|
||||
if ($j<11 || isset($R[$pid_cnt][$j]) )
|
||||
echo "<td class='text-center'>".$R[$i][$j]."</td>";
|
||||
}
|
||||
echo "</tr>";
|
||||
}
|
||||
|
||||
echo "<tr class='evenrow'>";
|
||||
echo "<td class='text-center'>Total</td>";
|
||||
|
||||
for ($j=0 ; $j<count($language_name)+ 11; $j++) {
|
||||
// if(!isset($R[$i][$j]))
|
||||
// $R[$i][$j]="";
|
||||
|
||||
if ($j<11 || isset($R[$pid_cnt][$j]) )
|
||||
echo "<td class='text-center'>".$R[$i][$j]."</td>";
|
||||
|
||||
}
|
||||
echo "</tr>";
|
||||
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
|
||||
<table>
|
||||
<div id=submission style="width:600px;height:300px" ></div>
|
||||
</table>
|
||||
|
||||
</center>
|
||||
|
||||
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
|
||||
<script type="text/javascript" src="include/jquery.tablesorter.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#cs").tablesorter();
|
||||
}
|
||||
);
|
||||
</script>
|
||||
|
||||
<script language="javascript" type="text/javascript" src="include/jquery.flot.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var d1 = [];
|
||||
var d2 = [];
|
||||
<?php
|
||||
foreach($chart_data_all as $k=>$d){
|
||||
?>
|
||||
d1.push([<?php echo $k?>, <?php echo $d?>]);
|
||||
<?php }?>
|
||||
<?php
|
||||
foreach($chart_data_ac as $k=>$d){
|
||||
?>
|
||||
d2.push([<?php echo $k?>, <?php echo $d?>]);
|
||||
<?php }?>
|
||||
//var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
|
||||
// a null signifies separate line segments
|
||||
var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]];
|
||||
$.plot($("#submission"), [
|
||||
{label:"<?php echo $MSG_SUBMIT?>",data:d1,lines: { show: true }},
|
||||
{label:"<?php echo $MSG_SOVLED?>",data:d2,bars:{show:true}} ],{
|
||||
xaxis: {
|
||||
mode: "time"
|
||||
//, max:(new Date()).getTime()
|
||||
//,min:(new Date()).getTime()-100*24*3600*1000
|
||||
},
|
||||
grid: {
|
||||
backgroundColor: { colors: ["#fff", "#333"] }
|
||||
}
|
||||
});
|
||||
});
|
||||
//alert((new Date()).getTime());
|
||||
</script>
|
||||
|
||||
<script>
|
||||
var diff = new Date("<?php echo date("Y/m/d H:i:s")?>").getTime()-new Date().getTime();
|
||||
//alert(diff);
|
||||
function clock() {
|
||||
var x,h,m,s,n,xingqi,y,mon,d;
|
||||
var x = new Date(new Date().getTime()+diff);
|
||||
y = x.getYear()+1900;
|
||||
|
||||
if (y>3000)
|
||||
y -= 1900;
|
||||
|
||||
mon = x.getMonth()+1;
|
||||
d = x.getDate();
|
||||
xingqi = x.getDay();
|
||||
h = x.getHours();
|
||||
m = x.getMinutes();
|
||||
s = x.getSeconds();
|
||||
n = y+"-"+(mon>=10?mon:"0"+mon)+"-"+(d>=10?d:"0"+d)+" "+(h>=10?h:"0"+h)+":"+(m>=10?m:"0"+m)+":"+(s>=10?s:"0"+s);
|
||||
|
||||
//alert(n);
|
||||
document.getElementById('nowdate').innerHTML = n;
|
||||
setTimeout("clock()",1000);
|
||||
}
|
||||
clock();
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
162
web/template/sidebar/conteststatus.php
Normal file
162
web/template/sidebar/conteststatus.php
Normal file
@@ -0,0 +1,162 @@
|
||||
<?php $show_title="评测状态 - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
<script src="template/<?php echo $OJ_TEMPLATE?>/js/textFit.min.js"></script>
|
||||
<div class="padding">
|
||||
|
||||
<h1>Contest<?php echo $view_cid?> - <?php echo $view_title ?></h1>
|
||||
<!-- <form action="" class="ui mini form" method="get" role="form" id="form"> -->
|
||||
<form id=simform class="ui mini form" action="status.php" method="get">
|
||||
|
||||
<input type="hidden" name="cid" value="<?php echo $cid; ?>" />
|
||||
<div class="inline fields" style="margin-bottom: 25px; white-space: nowrap; ">
|
||||
<label style="font-size: 1.2em; margin-right: 1px; "><?php echo $MSG_PROBLEM ?>:</label>
|
||||
<div class="field"><input name="problem_id" style="width: 100px; " type="text" value="<?php echo htmlspecialchars($problem_id, ENT_QUOTES) ?>"></div>
|
||||
<label style="font-size: 1.2em; margin-right: 1px; "><?php echo $MSG_USER ?>:</label>
|
||||
<div class="field"><input name="user_id" style="width: 100px; " type="text" value="<?php echo htmlspecialchars($user_id, ENT_QUOTES) ?>"></div>
|
||||
|
||||
<label style="font-size: 1.2em; margin-right: 1px; "><?php echo $MSG_LANG ?>:</label>
|
||||
<select class="form-control" size="1" name="language" style="width: 110px;font-size: 1em ">
|
||||
<option value="-1">All</option>
|
||||
<?php
|
||||
if(isset($_GET['language'])){
|
||||
$selectedLang=intval($_GET['language']);
|
||||
}else{
|
||||
$selectedLang=-1;
|
||||
}
|
||||
$lang_count=count($language_ext);
|
||||
$langmask=$OJ_LANGMASK;
|
||||
$lang=(~((int)$langmask))&((1<<($lang_count))-1);
|
||||
for($i=0;$i<$lang_count;$i++){
|
||||
if($lang&(1<<$i))
|
||||
echo"<option value=$i ".( $selectedLang==$i?"selected":"").">
|
||||
".$language_name[$i]."
|
||||
</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<label style="font-size: 1.2em; margin-right: 1px;margin-left: 10px; ">状态:</label>
|
||||
<select class="form-control" size="1" name="jresult" style="width: 110px;">
|
||||
<?php if (isset($_GET['jresult'])) $jresult_get=intval($_GET['jresult']);
|
||||
else $jresult_get=-1;
|
||||
if ($jresult_get>=12||$jresult_get<0) $jresult_get=-1;
|
||||
if ($jresult_get==-1) echo "<option value='-1' selected>All</option>";
|
||||
else echo "<option value='-1'>All</option>";
|
||||
for ($j=0;$j<12;$j++){
|
||||
$i=($j+4)%12;
|
||||
if ($i==$jresult_get) echo "<option value='".strval($jresult_get)."' selected>".$jresult[$i]."</option>";
|
||||
else echo "<option value='".strval($i)."'>".$jresult[$i]."</option>";
|
||||
}
|
||||
echo "</select>";
|
||||
?>
|
||||
<?php if(isset($_SESSION[$OJ_NAME.'_'.'administrator'])||isset($_SESSION[$OJ_NAME.'_'.'source_browser'])){
|
||||
if(isset($_GET['showsim']))
|
||||
$showsim=intval($_GET['showsim']);
|
||||
else
|
||||
$showsim=0;
|
||||
echo "<label style=\"font-size: 1.2em; margin-right: 1px;margin-left: 10px; \">相似度:</label>";
|
||||
echo "
|
||||
<select id=\"appendedInputButton\" class=\"form-control\" name=showsim onchange=\"document.getElementById('simform').submit();\" style=\"width: 110px;\">
|
||||
<option value=0 ".($showsim==0?'selected':'').">All</option>
|
||||
<option value=50 ".($showsim==50?'selected':'').">50</option>
|
||||
<option value=60 ".($showsim==60?'selected':'').">60</option>
|
||||
<option value=70 ".($showsim==70?'selected':'').">70</option>
|
||||
<option value=80 ".($showsim==80?'selected':'').">80</option>
|
||||
<option value=90 ".($showsim==90?'selected':'').">90</option>
|
||||
<option value=100 ".($showsim==100?'selected':'').">100</option>
|
||||
</select>";
|
||||
}
|
||||
?>
|
||||
<button class="ui labeled icon mini button" type="submit" style="margin-left: 20px;">
|
||||
<i class="search icon"></i>
|
||||
<?php echo $MSG_SEARCH ?>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<table id="result-tab" class="very basic center aligned table" style="white-space: nowrap; " id="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='desktop-only item'><?php echo $MSG_RUNID?></th>
|
||||
<th><?php echo $MSG_USER?></th>
|
||||
<th><?php echo $MSG_NICK?></th>
|
||||
<th><?php echo $MSG_PROBLEM_ID?></th>
|
||||
<th><?php echo $MSG_RESULT?></th>
|
||||
<th><?php echo $MSG_MEMORY?></th>
|
||||
<th><?php echo $MSG_TIME?></th>
|
||||
<th ><?php echo $MSG_LANG?></th>
|
||||
<th class='desktop-only item'><?php echo $MSG_CODE_LENGTH?></th>
|
||||
<th ><?php echo $MSG_SUBMIT_TIME?></th>
|
||||
<?php if (isset($_SESSION[$OJ_NAME.'_'.'administrator'])) {
|
||||
echo "<th class='desktop-only item'>";
|
||||
echo $MSG_JUDGER;
|
||||
echo "</th>";
|
||||
} ?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style='font-weight:700' >
|
||||
<!-- <tr v-for="item in items" :config="displayConfig" :show-rejudge="false" :data="item" is='submission-item'>
|
||||
</tr> -->
|
||||
<?php
|
||||
foreach($view_status as $row){
|
||||
$i=0;
|
||||
echo "<tr>";
|
||||
foreach($row as $table_cell){
|
||||
if ($i==4)
|
||||
echo "<td class='td_result'>";
|
||||
else if($i==0 || $i>7 && $i!=9)
|
||||
echo "<td class='desktop-only item '>";
|
||||
else
|
||||
echo "<td>";
|
||||
echo $table_cell;
|
||||
echo "</td>";
|
||||
$i++;
|
||||
}
|
||||
echo "</tr>\n";
|
||||
}
|
||||
?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<div style="margin-bottom: 30px; ">
|
||||
|
||||
<div style="text-align: center; ">
|
||||
<div class="ui pagination menu" style="box-shadow: none; ">
|
||||
<a class="icon item" href="<?php echo "status.php?".$str2;?>" id="page_prev">
|
||||
<?php echo $MSG_HOME?>
|
||||
</a>
|
||||
<?php
|
||||
if (isset($_GET['prevtop']))
|
||||
echo "<a class=\"item\" href=\"status.php?".$str2."&top=".intval($_GET['prevtop'])."\">上一页</a>";
|
||||
else
|
||||
echo "<a class=\"item\" href=\"status.php?".$str2."&top=".($top+20)."\">上一页</a>";
|
||||
|
||||
?>
|
||||
|
||||
<a class="icon item" href="<?php echo "status.php?".$str2."&top=".$bottom."&prevtop=$top"; ?>" id="page_next">
|
||||
下一页
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var i = 0;
|
||||
var judge_result = [<?php
|
||||
foreach ($judge_result as $result) {
|
||||
echo "'$result',";
|
||||
} ?>
|
||||
''];
|
||||
|
||||
var judge_color = [<?php
|
||||
foreach ($judge_color as $result) {
|
||||
echo "'$result',";
|
||||
} ?>
|
||||
''];
|
||||
var oj_mark= <?php echo "'$OJ_MARK'";?>;
|
||||
var user_id="<?php if (isset($_SESSION[$OJ_NAME."_user_id"])&& $OJ_FANCY_RESULT ) echo $_SESSION[$OJ_NAME."_user_id"]; ?>";
|
||||
var fancy_mp3="<?php if (isset($_SESSION[$OJ_NAME."_user_id"]) && $OJ_FANCY_RESULT ) echo $OJ_FANCY_MP3; ?>";
|
||||
</script>
|
||||
<script src="template/<?php echo $OJ_TEMPLATE?>/auto_refresh.js?v=0.52" ></script>
|
||||
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
13
web/template/sidebar/css.php
Normal file
13
web/template/sidebar/css.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
$dir=basename(getcwd());
|
||||
if($dir=="discuss3"||$dir=="admin"||$dir=="include") $path_fix="../";
|
||||
else $path_fix="";
|
||||
?>
|
||||
<link rel="stylesheet" href="<?php echo $OJ_CDN_URL.$path_fix."template/$OJ_TEMPLATE"?>/css/style.css">
|
||||
<link rel="stylesheet" href="<?php echo $OJ_CDN_URL.$path_fix."template/$OJ_TEMPLATE"?>/css/tomorrow.css">
|
||||
<link rel="stylesheet" href="<?php echo $path_fix."template/$OJ_TEMPLATE"?>/css/semantic.min.css?v=0.1">
|
||||
<link rel="stylesheet" href="<?php echo $OJ_CDN_URL.$path_fix."template/$OJ_TEMPLATE"?>/css/katex.min.css">
|
||||
<link href="<?php echo $OJ_CDN_URL.$path_fix."template/$OJ_TEMPLATE"?>/css/morris.min.css" rel="stylesheet">
|
||||
<link href="<?php echo $OJ_CDN_URL.$path_fix."template/$OJ_TEMPLATE"?>/css/FiraMono.css" rel="stylesheet">
|
||||
<link href="<?php echo $path_fix."template/$OJ_TEMPLATE"?>/css/latin.css" rel="stylesheet">
|
||||
<link href="<?php echo $path_fix."template/$OJ_TEMPLATE"?>/css/Exo.css" rel="stylesheet">
|
||||
Binary file not shown.
10
web/template/sidebar/css/Chart.min.js
vendored
Normal file
10
web/template/sidebar/css/Chart.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
20
web/template/sidebar/css/Exo.css
Normal file
20
web/template/sidebar/css/Exo.css
Normal file
@@ -0,0 +1,20 @@
|
||||
@charset "UTF-8";
|
||||
@font-face {
|
||||
font-family: 'Exo 2';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
src: url(7cH1v4okm5zmbvwkAx_sfcEuiD8jYPWsOdC6.ttf) format('truetype');
|
||||
}
|
||||
body {
|
||||
background: linear-gradient(45deg, #f48fb1, #a5d6a7, #64b5f6); /* 增加饱和度的渐变背景 */
|
||||
background-size: 400% 400%; /* 增加背景的大小,使动画效果更加流畅 */
|
||||
animation: backgroundAnimation 20s ease infinite; /* 调整动画持续时间和曲线 */
|
||||
}
|
||||
/* 背景颜色变化动画 */
|
||||
@keyframes backgroundAnimation {
|
||||
0% { background-position: 0% 0%; }
|
||||
25% { background-position: 100% 0%; }
|
||||
50% { background-position: 100% 100%; }
|
||||
75% { background-position: 0% 100%; }
|
||||
100% { background-position: 0% 0%; }
|
||||
}
|
||||
6
web/template/sidebar/css/FiraMono.css
Normal file
6
web/template/sidebar/css/FiraMono.css
Normal file
@@ -0,0 +1,6 @@
|
||||
@font-face {
|
||||
font-family: 'Fira Mono';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(../fonts/N0bX2SlFPv1weGeLZDtgJv7X.ttf) format('truetype');
|
||||
}
|
||||
BIN
web/template/sidebar/css/N0bX2SlFPv1weGeLZDtgJv7X.ttf
Normal file
BIN
web/template/sidebar/css/N0bX2SlFPv1weGeLZDtgJv7X.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/S6u8w4BMUTPHjxsAXC-v.ttf
Normal file
BIN
web/template/sidebar/css/S6u8w4BMUTPHjxsAXC-v.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/S6u9w4BMUTPHh6UVSwiPHA.ttf
Normal file
BIN
web/template/sidebar/css/S6u9w4BMUTPHh6UVSwiPHA.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf
Normal file
BIN
web/template/sidebar/css/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/S6uyw4BMUTPHjx4wWw.ttf
Normal file
BIN
web/template/sidebar/css/S6uyw4BMUTPHjx4wWw.ttf
Normal file
Binary file not shown.
1
web/template/sidebar/css/auto-render.min.js
vendored
Normal file
1
web/template/sidebar/css/auto-render.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),a=function(e,t,r){for(var n=r,o=0,a=e.length;n<t.length;){var i=t[n];if(o<=0&&t.slice(n,n+a)===e)return n;"\\"===i?n++:"{"===i?o++:"}"===i&&o--,n++}return-1},i=function(e,t,r,n){for(var o=[],i=0;i<e.length;i++)if("text"===e[i].type){var l=e[i].data,d=!0,s=0,f=void 0;for(-1!==(f=l.indexOf(t))&&(s=f,o.push({type:"text",data:l.slice(0,s)}),d=!1);;){if(d){if(-1===(f=l.indexOf(t,s)))break;o.push({type:"text",data:l.slice(s,f)}),s=f}else{if(-1===(f=a(r,l,s+t.length)))break;o.push({type:"math",data:l.slice(s+t.length,f),rawData:l.slice(s,f+r.length),display:n}),s=f+r.length}d=!d}o.push({type:"text",data:l.slice(s)})}else o.push(e[i]);return o},l=function(e,t){var r=function(e,t){for(var r=[{type:"text",data:e}],n=0;n<t.length;n++){var o=t[n];r=i(r,o.left,o.right,o.display||!1)}return r}(e,t.delimiters);if(1===r.length&&"text"===r[0].type)return null;for(var n=document.createDocumentFragment(),a=0;a<r.length;a++)if("text"===r[a].type)n.appendChild(document.createTextNode(r[a].data));else{var l=document.createElement("span"),d=r[a].data;t.displayMode=r[a].display;try{t.preProcess&&(d=t.preProcess(d)),o.a.render(d,l,t)}catch(e){if(!(e instanceof o.a.ParseError))throw e;t.errorCallback("KaTeX auto-render: Failed to parse `"+r[a].data+"` with ",e),n.appendChild(document.createTextNode(r[a].rawData));continue}n.appendChild(l)}return n};t.default=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code","option"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},function e(t,r){for(var n=0;n<t.childNodes.length;n++){var o=t.childNodes[n];if(3===o.nodeType){var a=l(o.textContent,r);a&&(n+=a.childNodes.length-1,t.replaceChild(a,o))}else 1===o.nodeType&&function(){var t=" "+o.className+" ";-1===r.ignoredTags.indexOf(o.nodeName.toLowerCase())&&r.ignoredClasses.every(function(e){return-1===t.indexOf(" "+e+" ")})&&e(o,r)}()}}(e,r)}}]).default});
|
||||
87
web/template/sidebar/css/bing.css
Normal file
87
web/template/sidebar/css/bing.css
Normal file
@@ -0,0 +1,87 @@
|
||||
.toprow{
|
||||
background-color:#79a3d5;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
|
||||
color:#999;
|
||||
}
|
||||
.dropdown-menu,.navbar-default{
|
||||
background-color:#79a3d5;
|
||||
background-image: linear-gradient(to bottom, #323a81 0px, #79a3d5 100%);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.http_judge_form{
|
||||
white-space:nowrap;
|
||||
}
|
||||
.center{
|
||||
text-align: center
|
||||
}
|
||||
.sampledata {
|
||||
background: none repeat scroll 0 0 #ccccFF;
|
||||
font-family: Monospace;
|
||||
font-size: 18px;
|
||||
line-height:2px;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 5px;
|
||||
background-image: url(http://appserver.m.bing.net/BackgroundImageService/TodayImageService.svc/GetTodayImage?dateOffset=0&urlEncodeHeaders=true&osName=windowsPhone&osVersion=8.10&orientation=800x480&deviceName=WP8&mkt=en-US);
|
||||
background-attachment: fixed;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
opacity: 0.9;
|
||||
|
||||
}
|
||||
.navbar{
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
padding: 0 auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
-moz-opacity: 0.9;
|
||||
-khtml-opacity: 0.9;
|
||||
opacity: 0.9;
|
||||
z-index: 9999;
|
||||
color:#999;
|
||||
border: 0px solid #000;
|
||||
}
|
||||
/* funny color*/
|
||||
|
||||
.dropdown-menu,.navbar-default{
|
||||
color:#999;
|
||||
background-color:#000000;
|
||||
background-image: linear-gradient(to bottom, #000000 0px, #000000 100%);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.btn-warning{
|
||||
background-color:#ff8000;
|
||||
}
|
||||
.btn-success{
|
||||
background-color:#33cc99;
|
||||
}
|
||||
.panel-default{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
.jumbotron{
|
||||
color:#000;
|
||||
background-color:#ddd;
|
||||
margin-top:50px;
|
||||
}
|
||||
.btn-danger{
|
||||
background-color:#d3406d;
|
||||
}
|
||||
.toprow{
|
||||
color:#999;
|
||||
background-color:#000000;
|
||||
white-space:nowrap;
|
||||
}
|
||||
|
||||
75
web/template/sidebar/css/black.css
Normal file
75
web/template/sidebar/css/black.css
Normal file
@@ -0,0 +1,75 @@
|
||||
.toprow{
|
||||
background-color:#79a3d5;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
|
||||
color:#999;
|
||||
}
|
||||
.dropdown-menu,.navbar-default{
|
||||
background-color:#79a3d5;
|
||||
background-image: linear-gradient(to bottom, #323a81 0px, #79a3d5 100%);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.http_judge_form{
|
||||
white-space:nowrap;
|
||||
}
|
||||
.center{
|
||||
text-align: center
|
||||
}
|
||||
.sampledata {
|
||||
background: none repeat scroll 0 0 #ccccFF;
|
||||
font-family: Monospace;
|
||||
font-size: 18px;
|
||||
line-height:2px;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
.navbar{
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
padding: 0 auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
-moz-opacity: 0.9;
|
||||
-khtml-opacity: 0.9;
|
||||
opacity: 0.9;
|
||||
z-index: 9999;
|
||||
color:#999;
|
||||
}
|
||||
/* funny color*/
|
||||
|
||||
.dropdown-menu,.navbar-default{
|
||||
color:#999;
|
||||
background-color:#000000;
|
||||
background-image: linear-gradient(to bottom, #000000 0px, #000000 100%);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.btn-warning{
|
||||
background-color:#ff8000;
|
||||
}
|
||||
.btn-success{
|
||||
background-color:#33cc99;
|
||||
}
|
||||
.panel-default{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
.jumbotron{
|
||||
background-color:#efefef;
|
||||
margin-top:50px;
|
||||
}
|
||||
.btn-danger{
|
||||
background-color:#d3406d;
|
||||
}
|
||||
a,.label,.toprow{
|
||||
color:#999;
|
||||
background-color:#000000;
|
||||
white-space:nowrap;
|
||||
}
|
||||
63
web/template/sidebar/css/blue.css
Normal file
63
web/template/sidebar/css/blue.css
Normal file
@@ -0,0 +1,63 @@
|
||||
.toprow{
|
||||
background-color:#79a3d5;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
|
||||
color:#fff;
|
||||
}
|
||||
.dropdown-menu,.navbar-default{
|
||||
background-color:#79a3d5;
|
||||
background-image: linear-gradient(to bottom, #323a81 0px, #79a3d5 100%);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.http_judge_form{
|
||||
white-space:nowrap;
|
||||
}
|
||||
.center{
|
||||
text-align: center
|
||||
}
|
||||
.panel-default{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
.container .jumbotron{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
.sampledata {
|
||||
background: none repeat scroll 0 0 #ccccFF;
|
||||
font-family: Monospace;
|
||||
font-size: 18px;
|
||||
line-height:2px;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
.navbar{
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
padding: 0 auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
-moz-opacity: 0.9;
|
||||
-khtml-opacity: 0.9;
|
||||
opacity: 0.9;
|
||||
z-index: 9999;
|
||||
color:#999;
|
||||
}
|
||||
.red{
|
||||
color:red;
|
||||
}
|
||||
.green{
|
||||
color:green;
|
||||
}
|
||||
.blue{
|
||||
color:blue;
|
||||
}
|
||||
/* funny color*/
|
||||
5
web/template/sidebar/css/bootstrap-theme.min.css
vendored
Normal file
5
web/template/sidebar/css/bootstrap-theme.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
5
web/template/sidebar/css/bootstrap.min.css
vendored
Normal file
5
web/template/sidebar/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
37
web/template/sidebar/css/dark.css
Normal file
37
web/template/sidebar/css/dark.css
Normal file
@@ -0,0 +1,37 @@
|
||||
@media (prefers-color-scheme: dark) {
|
||||
// one
|
||||
.app{
|
||||
filter: invert(1) hue-rotate(180deg);
|
||||
img,button,.active {
|
||||
//filter: brightness(.8) contrast(1.2);
|
||||
filter: invert(1) hue-rotate(180deg);
|
||||
}
|
||||
}
|
||||
// two
|
||||
div:not(.no-invert){
|
||||
filter: invert(1) hue-rotate(180deg);
|
||||
}
|
||||
// three
|
||||
:not(img) { filter: invert(100%) hue-rotate(180deg); }
|
||||
}
|
||||
|
||||
body {
|
||||
filter: invert(1) hue-rotate(180deg);
|
||||
margin-top: 0px !important;
|
||||
// 不需要反转的,在反转回去
|
||||
// 图片
|
||||
img,
|
||||
iframe,
|
||||
// element 元素
|
||||
.el-tag--primary, .el-tag--success, .el-tag--warning, .el-tag--error,
|
||||
.el-button--primary, .el-button--primary,
|
||||
.invert-restore{
|
||||
filter: invert(1) hue-rotate(180deg);
|
||||
}
|
||||
.invert-restore{
|
||||
// 反转回去的,里面的东西,在去除反转
|
||||
img{
|
||||
filter: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
web/template/sidebar/css/fonts/KaTeX_Main-Regular.ttf
Normal file
BIN
web/template/sidebar/css/fonts/KaTeX_Main-Regular.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/fonts/KaTeX_Main-Regular.woff
Normal file
BIN
web/template/sidebar/css/fonts/KaTeX_Main-Regular.woff
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/fonts/KaTeX_Main-Regular.woff2
Normal file
BIN
web/template/sidebar/css/fonts/KaTeX_Main-Regular.woff2
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/fonts/KaTeX_Math-Italic.ttf
Normal file
BIN
web/template/sidebar/css/fonts/KaTeX_Math-Italic.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/fonts/KaTeX_Math-Italic.woff
Normal file
BIN
web/template/sidebar/css/fonts/KaTeX_Math-Italic.woff
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/fonts/KaTeX_Math-Italic.woff2
Normal file
BIN
web/template/sidebar/css/fonts/KaTeX_Math-Italic.woff2
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/fonts/KaTeX_Size1-Regular.ttf
Normal file
BIN
web/template/sidebar/css/fonts/KaTeX_Size1-Regular.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/fonts/KaTeX_Size1-Regular.woff
Normal file
BIN
web/template/sidebar/css/fonts/KaTeX_Size1-Regular.woff
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/fonts/KaTeX_Size1-Regular.woff2
Normal file
BIN
web/template/sidebar/css/fonts/KaTeX_Size1-Regular.woff2
Normal file
Binary file not shown.
75
web/template/sidebar/css/green.css
Normal file
75
web/template/sidebar/css/green.css
Normal file
@@ -0,0 +1,75 @@
|
||||
.toprow{
|
||||
background-color:#79a3d5;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
|
||||
color:#ffffff;
|
||||
}
|
||||
.dropdown-menu,.navbar-default{
|
||||
background-color:#79a3d5;
|
||||
background-image: linear-gradient(to bottom, #323a81 0px, #79a3d5 100%);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.http_judge_form{
|
||||
white-space:nowrap;
|
||||
}
|
||||
.center{
|
||||
text-align: center
|
||||
}
|
||||
.sampledata {
|
||||
background: none repeat scroll 0 0 #ccccFF;
|
||||
font-family: Monospace;
|
||||
font-size: 18px;
|
||||
line-height:2px;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
.navbar{
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
padding: 0 auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
-moz-opacity: 0.9;
|
||||
-khtml-opacity: 0.9;
|
||||
opacity: 0.9;
|
||||
z-index: 9999;
|
||||
}
|
||||
/* funny color*/
|
||||
|
||||
.dropdown-menu,.navbar-default{
|
||||
background-color:#006600;
|
||||
background-image: linear-gradient(to bottom, #006600 0px, #66cc66 100%);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.btn-warning{
|
||||
background-color:#ff8000;
|
||||
}
|
||||
.btn-success{
|
||||
background-color:#33cc99;
|
||||
}
|
||||
.panel-default{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
.container .jumbotron{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
.btn-danger{
|
||||
background-color:#d3406d;
|
||||
}
|
||||
.toprow{
|
||||
background-color:#66cc66;
|
||||
white-space:nowrap;
|
||||
}
|
||||
74
web/template/sidebar/css/hznu.css
Normal file
74
web/template/sidebar/css/hznu.css
Normal file
@@ -0,0 +1,74 @@
|
||||
.toprow{
|
||||
background-color:#eee;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.navbar-nav li a,.navbar-header .navbar-brand{
|
||||
color:#fff;
|
||||
font-weight: 600;
|
||||
}
|
||||
.dropdown-menu,.navbar-default{
|
||||
background-color:#0e90d2;
|
||||
color:white;
|
||||
background-image: linear-gradient(to bottom, #0e90d2 0px, #0e90d2 100%);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.navbar-default .navbar-nav>li>a {
|
||||
color:white;
|
||||
}
|
||||
.http_judge_form{
|
||||
white-space:nowrap;
|
||||
}
|
||||
.center{
|
||||
text-align: center
|
||||
}
|
||||
.mynav {
|
||||
margin-top: 20px
|
||||
}
|
||||
.panel-default{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
.container .jumbotron{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
|
||||
h3.pagenav {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h3.pagenav div.item{
|
||||
padding: 4px;
|
||||
margin: 3px;
|
||||
font-size: 16px;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
h3.pagenav div.item:hover{
|
||||
background-color: #ddd;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
h3.pagenav div.active{
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.broadcast {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
#problemset {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
BIN
web/template/sidebar/css/icons.ttf
Normal file
BIN
web/template/sidebar/css/icons.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/icons.woff
Normal file
BIN
web/template/sidebar/css/icons.woff
Normal file
Binary file not shown.
BIN
web/template/sidebar/css/icons.woff2
Normal file
BIN
web/template/sidebar/css/icons.woff2
Normal file
Binary file not shown.
17308
web/template/sidebar/css/katex.js
Normal file
17308
web/template/sidebar/css/katex.js
Normal file
File diff suppressed because it is too large
Load Diff
1
web/template/sidebar/css/katex.min.css
vendored
Normal file
1
web/template/sidebar/css/katex.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
84
web/template/sidebar/css/kawai.css
Normal file
84
web/template/sidebar/css/kawai.css
Normal file
@@ -0,0 +1,84 @@
|
||||
.toprow{
|
||||
background-color:#79a3d5;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.dropdown-menu,.navbar-default{
|
||||
background-color:#79a3d5;
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.http_judge_form{
|
||||
white-space:nowrap;
|
||||
}
|
||||
.center{
|
||||
text-align: center
|
||||
}
|
||||
.sampledata {
|
||||
background: none repeat scroll 0 0 #ccccFF;
|
||||
font-family: Monospace;
|
||||
font-size: 18px;
|
||||
line-height:2px;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 50px;
|
||||
background-image:url('https://api.paugram.com/wallpaper/');
|
||||
background-attachment: fixed;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
.navbar{
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
padding: 0 auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
-moz-opacity: 0.9;
|
||||
-khtml-opacity: 0.9;
|
||||
opacity: 0.9;
|
||||
z-index: 9999;
|
||||
color:#999;
|
||||
border: 0px solid #000;
|
||||
}
|
||||
/* funny color*/
|
||||
|
||||
.dropdown-menu,.navbar-default{
|
||||
color:#999;
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.btn-warning{
|
||||
background-color:#ff8000;
|
||||
}
|
||||
.btn-success{
|
||||
background-color:#33cc99;
|
||||
}
|
||||
.panel-default{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
.container .jumbotron{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
.btn-danger{
|
||||
background-color:#d3406d;
|
||||
}
|
||||
.toprow{
|
||||
color:#999;
|
||||
background-color:#000000;
|
||||
white-space:nowrap;
|
||||
}
|
||||
|
||||
.container{
|
||||
background-color:white;
|
||||
opacity:0.95;
|
||||
|
||||
}
|
||||
70
web/template/sidebar/css/latin-ext.css
Normal file
70
web/template/sidebar/css/latin-ext.css
Normal file
@@ -0,0 +1,70 @@
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-stretch: normal;
|
||||
src: url(../fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexQ.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-stretch: normal;
|
||||
src: url(../fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexQ.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
font-stretch: normal;
|
||||
src: url(../fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjWVAexQ.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-stretch: normal;
|
||||
src: url(../fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexQ.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
font-stretch: normal;
|
||||
src: url(../fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk0ZjWVAexQ.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-stretch: normal;
|
||||
src: url(../fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVc.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-stretch: normal;
|
||||
src: url(../fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVc.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-stretch: normal;
|
||||
src: url(../fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1x4gaVc.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-stretch: normal;
|
||||
src: url(../fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVc.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
font-stretch: normal;
|
||||
src: url(../fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgshZ1x4gaVc.ttf) format('truetype');
|
||||
}
|
||||
24
web/template/sidebar/css/latin.css
Normal file
24
web/template/sidebar/css/latin.css
Normal file
@@ -0,0 +1,24 @@
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: url(S6u8w4BMUTPHjxsAXC-v.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: url(S6u_w4BMUTPHjxsI5wq_Gwfo.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(S6uyw4BMUTPHjx4wWw.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: url(S6u9w4BMUTPHh6UVSwiPHA.ttf) format('truetype');
|
||||
}
|
||||
127
web/template/sidebar/css/mathjax.css
Normal file
127
web/template/sidebar/css/mathjax.css
Normal file
@@ -0,0 +1,127 @@
|
||||
.MJX_Assistive_MathML {position: absolute!important; top: 0; left: 0; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0 0 0!important; border: 0!important; height: 1px!important; width: 1px!important; overflow: hidden!important; display: block!important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none}
|
||||
.MJX_Assistive_MathML.MJX_Assistive_MathML_Block {width: 100%!important}
|
||||
.mjx-chtml {display: inline-block; line-height: 0; text-indent: 0; text-align: left; text-transform: none; font-style: normal; font-weight: normal; font-size: 1.19em; font-size-adjust: none; letter-spacing: normal; word-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0; min-height: 0; border: 0; margin: 0; padding: 1px 0}
|
||||
.MJXc-display {display: block; text-align: center; margin: 1em 0; padding: 0; font-size: 1em !important; }
|
||||
.mjx-chtml[tabindex]:focus, body :focus .mjx-chtml[tabindex] {display: inline-table}
|
||||
.mjx-full-width {text-align: center; display: table-cell!important; width: 10000em}
|
||||
.mjx-math {display: inline-block; border-collapse: separate; border-spacing: 0}
|
||||
.mjx-math * {display: inline-block; -webkit-box-sizing: content-box!important; -moz-box-sizing: content-box!important; box-sizing: content-box!important; text-align: left}
|
||||
.mjx-numerator {display: block; text-align: center}
|
||||
.mjx-denominator {display: block; text-align: center}
|
||||
.MJXc-stacked {height: 0; position: relative}
|
||||
.MJXc-stacked > * {position: absolute}
|
||||
.MJXc-bevelled > * {display: inline-block}
|
||||
.mjx-stack {display: inline-block}
|
||||
.mjx-op {display: block}
|
||||
.mjx-under {display: table-cell}
|
||||
.mjx-over {display: block}
|
||||
.mjx-over > * {padding-left: 0px!important; padding-right: 0px!important}
|
||||
.mjx-under > * {padding-left: 0px!important; padding-right: 0px!important}
|
||||
.mjx-stack > .mjx-sup {display: block}
|
||||
.mjx-stack > .mjx-sub {display: block}
|
||||
.mjx-prestack > .mjx-presup {display: block}
|
||||
.mjx-prestack > .mjx-presub {display: block}
|
||||
.mjx-delim-h > .mjx-char {display: inline-block}
|
||||
.mjx-surd {vertical-align: top}
|
||||
.mjx-mphantom * {visibility: hidden}
|
||||
.mjx-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 2px 3px; font-style: normal; font-size: 90%}
|
||||
.mjx-annotation-xml {line-height: normal}
|
||||
.mjx-menclose > svg {fill: none; stroke: currentColor}
|
||||
.mjx-mtr {display: table-row}
|
||||
.mjx-mlabeledtr {display: table-row}
|
||||
.mjx-mtd {display: table-cell; text-align: center}
|
||||
.mjx-label {display: table-row}
|
||||
.mjx-box {display: inline-block}
|
||||
.mjx-block {display: block}
|
||||
.mjx-span {display: inline}
|
||||
.mjx-char {display: block; white-space: pre}
|
||||
.mjx-itable {display: inline-table; width: auto}
|
||||
.mjx-row {display: table-row}
|
||||
.mjx-cell {display: table-cell}
|
||||
.mjx-table {display: table; width: 100%}
|
||||
.mjx-line {display: block; height: 0}
|
||||
.mjx-strut {width: 0; padding-top: 1em}
|
||||
.mjx-vsize {width: 0}
|
||||
.MJXc-space1 {margin-left: .167em}
|
||||
.MJXc-space2 {margin-left: .222em}
|
||||
.MJXc-space3 {margin-left: .278em}
|
||||
.mjx-chartest {display: block; visibility: hidden; position: absolute; top: 0; line-height: normal; font-size: 500%}
|
||||
.mjx-chartest .mjx-char {display: inline}
|
||||
.mjx-chartest .mjx-box {padding-top: 1000px}
|
||||
.MJXc-processing {visibility: hidden; position: fixed; width: 0; height: 0; overflow: hidden}
|
||||
.MJXc-processed {display: none}
|
||||
.mjx-test {display: block; font-style: normal; font-weight: normal; font-size: 100%; font-size-adjust: none; text-indent: 0; text-transform: none; letter-spacing: normal; word-spacing: normal; overflow: hidden; height: 1px}
|
||||
.mjx-ex-box-test {position: absolute; width: 1px; height: 60ex}
|
||||
.mjx-line-box-test {display: table!important}
|
||||
.mjx-line-box-test span {display: table-cell!important; width: 10000em!important; min-width: 0; max-width: none; padding: 0; border: 0; margin: 0}
|
||||
#MathJax_CHTML_Tooltip {background-color: InfoBackground; color: InfoText; border: 1px solid black; box-shadow: 2px 2px 5px #AAAAAA; -webkit-box-shadow: 2px 2px 5px #AAAAAA; -moz-box-shadow: 2px 2px 5px #AAAAAA; -khtml-box-shadow: 2px 2px 5px #AAAAAA; padding: 3px 4px; z-index: 401; position: absolute; left: 0; top: 0; width: auto; height: auto; display: none}
|
||||
.mjx-chtml .mjx-noError {line-height: 1.2; vertical-align: ; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid}
|
||||
.MJXc-TeX-unknown-R {font-family: STIXGeneral,'Cambria Math','Arial Unicode MS',serif; font-style: normal; font-weight: normal}
|
||||
.MJXc-TeX-unknown-I {font-family: STIXGeneral,'Cambria Math','Arial Unicode MS',serif; font-style: italic; font-weight: normal}
|
||||
.MJXc-TeX-unknown-B {font-family: STIXGeneral,'Cambria Math','Arial Unicode MS',serif; font-style: normal; font-weight: bold}
|
||||
.MJXc-TeX-unknown-BI {font-family: STIXGeneral,'Cambria Math','Arial Unicode MS',serif; font-style: italic; font-weight: bold}
|
||||
.MJXc-TeX-ams-R {font-family: MJXc-TeX-ams-R,MJXc-TeX-ams-Rw}
|
||||
.MJXc-TeX-cal-B {font-family: MJXc-TeX-cal-B,MJXc-TeX-cal-Bx,MJXc-TeX-cal-Bw}
|
||||
.MJXc-TeX-frak-R {font-family: MJXc-TeX-frak-R,MJXc-TeX-frak-Rw}
|
||||
.MJXc-TeX-frak-B {font-family: MJXc-TeX-frak-B,MJXc-TeX-frak-Bx,MJXc-TeX-frak-Bw}
|
||||
.MJXc-TeX-math-BI {font-family: MJXc-TeX-math-BI,MJXc-TeX-math-BIx,MJXc-TeX-math-BIw}
|
||||
.MJXc-TeX-sans-R {font-family: MJXc-TeX-sans-R,MJXc-TeX-sans-Rw}
|
||||
.MJXc-TeX-sans-B {font-family: MJXc-TeX-sans-B,MJXc-TeX-sans-Bx,MJXc-TeX-sans-Bw}
|
||||
.MJXc-TeX-sans-I {font-family: MJXc-TeX-sans-I,MJXc-TeX-sans-Ix,MJXc-TeX-sans-Iw}
|
||||
.MJXc-TeX-script-R {font-family: MJXc-TeX-script-R,MJXc-TeX-script-Rw}
|
||||
.MJXc-TeX-type-R {font-family: MJXc-TeX-type-R,MJXc-TeX-type-Rw}
|
||||
.MJXc-TeX-cal-R {font-family: MJXc-TeX-cal-R,MJXc-TeX-cal-Rw}
|
||||
.MJXc-TeX-main-B {font-family: MJXc-TeX-main-B,MJXc-TeX-main-Bx,MJXc-TeX-main-Bw}
|
||||
.MJXc-TeX-main-I {font-family: MJXc-TeX-main-I,MJXc-TeX-main-Ix,MJXc-TeX-main-Iw}
|
||||
.MJXc-TeX-main-R {font-family: MJXc-TeX-main-R,MJXc-TeX-main-Rw}
|
||||
.MJXc-TeX-math-I {font-family: MJXc-TeX-math-I,MJXc-TeX-math-Ix,MJXc-TeX-math-Iw}
|
||||
.MJXc-TeX-size1-R {font-family: MJXc-TeX-size1-R,MJXc-TeX-size1-Rw}
|
||||
.MJXc-TeX-size2-R {font-family: MJXc-TeX-size2-R,MJXc-TeX-size2-Rw}
|
||||
.MJXc-TeX-size3-R {font-family: MJXc-TeX-size3-R,MJXc-TeX-size3-Rw}
|
||||
.MJXc-TeX-size4-R {font-family: MJXc-TeX-size4-R,MJXc-TeX-size4-Rw}
|
||||
@font-face {font-family: MJXc-TeX-ams-R; src: local('MathJax_AMS'), local('MathJax_AMS-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-ams-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_AMS-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_AMS-Regular.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-cal-B; src: local('MathJax_Caligraphic Bold'), local('MathJax_Caligraphic-Bold')}
|
||||
@font-face {font-family: MJXc-TeX-cal-Bx; src: local('MathJax_Caligraphic'); font-weight: bold}
|
||||
@font-face {font-family: MJXc-TeX-cal-Bw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Bold.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Bold.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Bold.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-frak-R; src: local('MathJax_Fraktur'), local('MathJax_Fraktur-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-frak-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Regular.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-frak-B; src: local('MathJax_Fraktur Bold'), local('MathJax_Fraktur-Bold')}
|
||||
@font-face {font-family: MJXc-TeX-frak-Bx; src: local('MathJax_Fraktur'); font-weight: bold}
|
||||
@font-face {font-family: MJXc-TeX-frak-Bw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Bold.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Bold.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Bold.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-math-BI; src: local('MathJax_Math BoldItalic'), local('MathJax_Math-BoldItalic')}
|
||||
@font-face {font-family: MJXc-TeX-math-BIx; src: local('MathJax_Math'); font-weight: bold; font-style: italic}
|
||||
@font-face {font-family: MJXc-TeX-math-BIw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Math-BoldItalic.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Math-BoldItalic.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Math-BoldItalic.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-sans-R; src: local('MathJax_SansSerif'), local('MathJax_SansSerif-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-sans-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Regular.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-sans-B; src: local('MathJax_SansSerif Bold'), local('MathJax_SansSerif-Bold')}
|
||||
@font-face {font-family: MJXc-TeX-sans-Bx; src: local('MathJax_SansSerif'); font-weight: bold}
|
||||
@font-face {font-family: MJXc-TeX-sans-Bw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Bold.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Bold.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Bold.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-sans-I; src: local('MathJax_SansSerif Italic'), local('MathJax_SansSerif-Italic')}
|
||||
@font-face {font-family: MJXc-TeX-sans-Ix; src: local('MathJax_SansSerif'); font-style: italic}
|
||||
@font-face {font-family: MJXc-TeX-sans-Iw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Italic.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Italic.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Italic.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-script-R; src: local('MathJax_Script'), local('MathJax_Script-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-script-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Script-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Script-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Script-Regular.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-type-R; src: local('MathJax_Typewriter'), local('MathJax_Typewriter-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-type-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Typewriter-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Typewriter-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Typewriter-Regular.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-cal-R; src: local('MathJax_Caligraphic'), local('MathJax_Caligraphic-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-cal-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Regular.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-main-B; src: local('MathJax_Main Bold'), local('MathJax_Main-Bold')}
|
||||
@font-face {font-family: MJXc-TeX-main-Bx; src: local('MathJax_Main'); font-weight: bold}
|
||||
@font-face {font-family: MJXc-TeX-main-Bw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Main-Bold.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Main-Bold.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-main-I; src: local('MathJax_Main Italic'), local('MathJax_Main-Italic')}
|
||||
@font-face {font-family: MJXc-TeX-main-Ix; src: local('MathJax_Main'); font-style: italic}
|
||||
@font-face {font-family: MJXc-TeX-main-Iw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Main-Italic.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Main-Italic.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-main-R; src: local('MathJax_Main'), local('MathJax_Main-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-main-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Main-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Main-Regular.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-math-I; src: local('MathJax_Math Italic'), local('MathJax_Math-Italic')}
|
||||
@font-face {font-family: MJXc-TeX-math-Ix; src: local('MathJax_Math'); font-style: italic}
|
||||
@font-face {font-family: MJXc-TeX-math-Iw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Math-Italic.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Math-Italic.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-size1-R; src: local('MathJax_Size1'), local('MathJax_Size1-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-size1-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Size1-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Size1-Regular.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-size2-R; src: local('MathJax_Size2'), local('MathJax_Size2-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-size2-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Size2-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Size2-Regular.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-size3-R; src: local('MathJax_Size3'), local('MathJax_Size3-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-size3-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Size3-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Size3-Regular.otf') format('opentype')}
|
||||
@font-face {font-family: MJXc-TeX-size4-R; src: local('MathJax_Size4'), local('MathJax_Size4-Regular')}
|
||||
@font-face {font-family: MJXc-TeX-size4-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Size4-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Size4-Regular.otf') format('opentype')}
|
||||
45
web/template/sidebar/css/miku.css
Normal file
45
web/template/sidebar/css/miku.css
Normal file
@@ -0,0 +1,45 @@
|
||||
/* 初音未来的配色方案 主体框架由AI狗蛋生成 */
|
||||
:root {
|
||||
--hatsune-green: #55a8aa; /* 主绿色 */
|
||||
--hatsune-darkblue: #094c55; /* 蓝黑色 */
|
||||
--hatsune-blue: #4cd0d499; /* 主蓝色 */
|
||||
--hatsune-pink: #ff69b4; /* 粉色 */
|
||||
--hatsune-white: #bdc8ce66; /* 白色 */
|
||||
--hatsune-red: #f04b83; /* 红色 */
|
||||
}
|
||||
|
||||
/* Semantic UI 默认颜色覆盖 */
|
||||
.ui.primary.button {
|
||||
background-color: var(--hatsune-green);
|
||||
}
|
||||
.ui.stackable.mobile.ui.container{
|
||||
background-color: var(--hatsune-blue);
|
||||
}
|
||||
.ui.secondary.button {
|
||||
background-color: var(--hatsune-blue);
|
||||
}
|
||||
|
||||
.ui.accent.button {
|
||||
background-color: var(--hatsune-pink);
|
||||
}
|
||||
|
||||
.ui.basic.button {
|
||||
background-color: var(--hatsune-white);
|
||||
}
|
||||
|
||||
/* 其他组件的颜色覆盖 */
|
||||
.ui.header {
|
||||
color: var(--hatsune-darkblue);
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--hatsune-red);
|
||||
}
|
||||
.ui.segment {
|
||||
background-color: var(--hatsune-white);
|
||||
}
|
||||
.padding {
|
||||
background-color: var(--hatsune-blue) !important;
|
||||
}
|
||||
|
||||
/* ... 可以根据需要继续覆盖其他组件的颜色 */
|
||||
8
web/template/sidebar/css/morris.min.css
vendored
Normal file
8
web/template/sidebar/css/morris.min.css
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Minified by jsDelivr using clean-css v4.1.9.
|
||||
* Original file: /npm/morris.js@0.5.0/morris.css
|
||||
*
|
||||
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
|
||||
*/
|
||||
.morris-hover{position:absolute;z-index:1000}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255,255,255,.8);border:solid 2px rgba(230,230,230,.8);font-family:sans-serif;font-size:12px;text-align:center}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:700;margin:.25em 0}.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:.1em 0}
|
||||
/*# sourceMappingURL=/sm/a7bd041563fb77baa7424d061d6b707837b92757abace778acc621e322f1ce8f.map */
|
||||
57
web/template/sidebar/css/red.css
Normal file
57
web/template/sidebar/css/red.css
Normal file
@@ -0,0 +1,57 @@
|
||||
.toprow{
|
||||
background-color:#79a3d5;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
|
||||
color:#ffffff;
|
||||
}
|
||||
.dropdown-menu,.navbar-default{
|
||||
background-color:rgba(249,74,20,0.874);
|
||||
background-image: linear-gradient(to bottom, rgba(249,74,20,0.874) 0px, rgba(249,74,20,0.874) 100%);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(249,74,20,0.874) inset, 0px 1px 5px rgba(249,74,20,0.874);
|
||||
}
|
||||
.http_judge_form{
|
||||
white-space:nowrap;
|
||||
}
|
||||
.center{
|
||||
text-align: center
|
||||
}
|
||||
.sampledata {
|
||||
background: none repeat scroll 0 0 #ccccFF;
|
||||
font-family: Monospace;
|
||||
font-size: 18px;
|
||||
line-height:2px;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
.navbar{
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
padding: 0 auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
-moz-opacity: 0.9;
|
||||
-khtml-opacity: 0.9;
|
||||
opacity: 0.9;
|
||||
z-index: 9999;
|
||||
}
|
||||
/* funny color*/
|
||||
|
||||
.btn-warning{
|
||||
background-color:#ff8000;
|
||||
}
|
||||
.btn-success{
|
||||
background-color:#33cc99;
|
||||
}
|
||||
.jumbotron{
|
||||
background-color:#efefef;
|
||||
}
|
||||
.btn-danger{
|
||||
background-color:#d3406d;
|
||||
}
|
||||
.toprow{
|
||||
background-color:rgba(249,74,20,0.874);
|
||||
white-space:nowrap;
|
||||
}
|
||||
100
web/template/sidebar/css/scrollboard.css
Normal file
100
web/template/sidebar/css/scrollboard.css
Normal file
@@ -0,0 +1,100 @@
|
||||
body{
|
||||
font-family:"Helvetica Neue",Helvetica,Arial,"Microsoft YaHei", 微软雅黑, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
.ranktable-head {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
background: #fafafa;
|
||||
box-shadow: 0px 0 8px rgba(66, 139, 202, 0.6);
|
||||
-moz-box-shadow: 0px 0 8px rgba(66, 139, 202, 0.6);
|
||||
-webkit-box-shadow: 0px 0 8px rgba(66, 139, 202, 0.6);
|
||||
}
|
||||
|
||||
.ranktable-head table {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.ranktable-head th {
|
||||
text-align: center;
|
||||
height: 27px;
|
||||
line-height: 27px!important;
|
||||
}
|
||||
|
||||
.team-item {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 44px;
|
||||
|
||||
text-align: center;
|
||||
height: 67px;
|
||||
line-height: 67px !important;
|
||||
margin: 0;
|
||||
|
||||
background: #fff;
|
||||
-webkit-transition: background 2s ease ,box-shadow .5s ease;
|
||||
-moz-transform: background 2s ease ,box-shadow .5s ease;
|
||||
-ms-transform: background 2s ease ,box-shadow .5s ease;
|
||||
-o-transform: background 2s ease ,box-shadow .5s ease;
|
||||
transform: background 2s ease ,box-shadow .5s ease;
|
||||
}
|
||||
|
||||
.team-item table {
|
||||
text-align: center;
|
||||
height: 67px;
|
||||
font-size: 20px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.team-item th,td {
|
||||
text-align: center;
|
||||
height: 67px;
|
||||
vertical-align: middle!important;
|
||||
}
|
||||
|
||||
th.rank{
|
||||
font-weight: normal;
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.problem-status span {
|
||||
display: block;
|
||||
width: 100%;
|
||||
font-size: 100%;
|
||||
font-weight: normal;
|
||||
padding: 7px 0;
|
||||
|
||||
-moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.22) inset;
|
||||
-webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.22) inset;
|
||||
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.22) inset;
|
||||
}
|
||||
|
||||
.team-item.hold {
|
||||
z-index: 1000;
|
||||
box-shadow: inset 0 0 3px #03A9F4, 0px 0 30px #00BCD4;
|
||||
-moz-box-shadow: 0 0 3px #03A9F4, 0px 0 30px #00BCD4;
|
||||
-webkit-box-shadow: 0 0 3px #03A9F4, 0px 0 30px #00BCD4;
|
||||
}
|
||||
|
||||
.team-item.gold{
|
||||
background: #fff9c0;
|
||||
}
|
||||
|
||||
.team-item.silver{
|
||||
background: #f6f6f6;
|
||||
}
|
||||
|
||||
.team-item.bronze{
|
||||
background: #eddccf;
|
||||
}
|
||||
|
||||
#timer{
|
||||
margin: 0;
|
||||
height: 0!important;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 0px;
|
||||
}
|
||||
372
web/template/sidebar/css/semantic.min.css
vendored
Normal file
372
web/template/sidebar/css/semantic.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
11
web/template/sidebar/css/semantic.min.js
vendored
Normal file
11
web/template/sidebar/css/semantic.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
323
web/template/sidebar/css/style.css
Normal file
323
web/template/sidebar/css/style.css
Normal file
@@ -0,0 +1,323 @@
|
||||
@import url('../../bs3/bootstrap.min.css');
|
||||
.ui.header,
|
||||
.ui.button,
|
||||
.ui.input input,
|
||||
.ui.menu,
|
||||
.ui.form input:not([type]),
|
||||
.ui.form input[type="date"],
|
||||
.ui.form input[type="datetime-local"],
|
||||
.ui.form input[type="email"],
|
||||
.ui.form input[type="file"],
|
||||
.ui.form input[type="number"],
|
||||
.ui.form input[type="password"],
|
||||
.ui.form input[type="search"],
|
||||
.ui.form input[type="tel"],
|
||||
.ui.form input[type="text"],
|
||||
.ui.form input[type="time"],
|
||||
.ui.form input[type="url"],
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
body {
|
||||
font-family: Lato, -apple-system, "PingFang SC",
|
||||
/* Apple */ "Source Han Sans SC", "Noto Sans CJK SC",
|
||||
/* Google */ "Microsoft Yahei", "Lantinghei SC", "Hiragino Sans GB",
|
||||
"Microsoft Sans Serif", /* M$ */ "WenQuanYi Micro Hei",
|
||||
/* *nix */ sans-serif;
|
||||
}
|
||||
|
||||
a.black-link {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
a.black-link:hover {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.font-content {
|
||||
font-family: "Open Sans", "Source Han Sans SC", "Noto Sans CJK SC",
|
||||
"PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", sans-serif;
|
||||
}
|
||||
|
||||
.markdown-edit {
|
||||
font-family: "Fira Mono", "Noto Sans CJK SC", "PingFang SC",
|
||||
"Hiragino Sans GB", "Microsoft Yahei", monospace;
|
||||
}
|
||||
|
||||
.padding {
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.ui.segment:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.ui.segment:last-child {
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.hljs {
|
||||
background: #fff !important;
|
||||
}
|
||||
|
||||
.ui.footer.segment {
|
||||
margin: 2em 0em 0em;
|
||||
padding: 1em 0em;
|
||||
border: none;
|
||||
}
|
||||
|
||||
th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
pre {
|
||||
tab-size: 4;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
table.center.aligned ul,
|
||||
table.center.aligned ol {
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
body > .ui.page.dimmer {
|
||||
position: fixed !important;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.success,
|
||||
.title:hover .status_detail.status.success,
|
||||
.title.active .status_detail.status.success,
|
||||
:not(.status_detail).status.submitted,
|
||||
.title:hover .status_detail.status.submitted,
|
||||
.title.active .status_detail.status.submitted,
|
||||
:not(.status_detail).status.accepted,
|
||||
.title:hover .status_detail.status.accepted,
|
||||
.title.active .status_detail.status.accepted {
|
||||
color: forestgreen;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.wrong_answer,
|
||||
.title:hover .status_detail.status.wrong_answer,
|
||||
.title.active .status_detail.status.wrong_answer {
|
||||
color: red;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.invalid_interaction,
|
||||
.title:hover .status_detail.status.invalid_interaction,
|
||||
.title.active .status_detail.status.invalid_interaction,
|
||||
:not(.status_detail).status.runtime_error,
|
||||
.title:hover .status_detail.status.runtime_error,
|
||||
.title.active .status_detail.status.runtime_error,
|
||||
:not(.status_detail).status.file_error,
|
||||
.title:hover .status_detail.status.file_error,
|
||||
.title.active .status_detail.status.file_error {
|
||||
color: darkorchid;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.memory_limit_exceeded,
|
||||
.title:hover .status_detail.status.memory_limit_exceeded,
|
||||
.title.active .status_detail.status.memory_limit_exceeded,
|
||||
:not(.status_detail).status.time_limit_exceeded,
|
||||
.title:hover .status_detail.status.time_limit_exceeded,
|
||||
.title.active .status_detail.status.time_limit_exceeded,
|
||||
:not(.status_detail).status.output_limit_exceeded,
|
||||
.title:hover .status_detail.status.output_limit_exceeded,
|
||||
.title.active .status_detail.status.output_limit_exceeded {
|
||||
color: sandybrown;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.waiting,
|
||||
.title:hover .status_detail.status.waiting,
|
||||
.title.active .status_detail.status.waiting,
|
||||
:not(.status_detail).status.system_error {
|
||||
color: grey;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.running,
|
||||
.title:hover .status_detail.status.running,
|
||||
.title.active .status_detail.status.running {
|
||||
color: #6cf;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.partially_correct,
|
||||
.title:hover .status_detail.status.partially_correct,
|
||||
.title.active .status_detail.status.partially_correct {
|
||||
color: #01bab2;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.judgement_failed,
|
||||
.title:hover .status_detail.status.judgement_failed,
|
||||
.title.active .status_detail.status.judgement_failed {
|
||||
color: #ff5722;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.skipped,
|
||||
.title:hover .status_detail.status.skipped,
|
||||
.title.active .status_detail.status.skipped {
|
||||
color: #78909c;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.compiling {
|
||||
color: #00b5ad;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.no_testdata {
|
||||
color: brown;
|
||||
}
|
||||
|
||||
:not(.status_detail).status.compile_error {
|
||||
color: rgb(0, 68, 136);
|
||||
}
|
||||
|
||||
/* score color */
|
||||
.score_0 {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.score_1 {
|
||||
color: #ff4b00;
|
||||
}
|
||||
|
||||
.score_2 {
|
||||
color: #ff6200;
|
||||
}
|
||||
|
||||
.score_3 {
|
||||
color: #ffa900;
|
||||
}
|
||||
|
||||
.score_4 {
|
||||
color: #ffd800;
|
||||
}
|
||||
|
||||
.score_5 {
|
||||
color: #c8ff00;
|
||||
}
|
||||
|
||||
.score_6 {
|
||||
color: #a5ff00;
|
||||
}
|
||||
|
||||
.score_7 {
|
||||
color: #52ff00;
|
||||
}
|
||||
|
||||
.score_8 {
|
||||
color: #41f741;
|
||||
}
|
||||
|
||||
.score_9 {
|
||||
color: #34d034;
|
||||
}
|
||||
|
||||
.score_10 {
|
||||
color: forestgreen;
|
||||
}
|
||||
|
||||
.score {
|
||||
text-shadow: 0 0 0.1px;
|
||||
}
|
||||
|
||||
.rating_up {
|
||||
color: #dd4b39;
|
||||
}
|
||||
|
||||
.rating_down {
|
||||
color: #3d9400;
|
||||
}
|
||||
|
||||
/* code tag */
|
||||
:not(pre) > code {
|
||||
background-color: rgba(0, 0, 0, 0.08);
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
font-size: 0.9em;
|
||||
font-weight: bold;
|
||||
padding: 1px 6px;
|
||||
vertical-align: baseline;
|
||||
color: #444;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: "Consolas", "Ubuntu Mono", "Fira Mono", "Monaco", "Menlo", "source-code-pro", monospace !important;
|
||||
}
|
||||
|
||||
/* Animated spinner */
|
||||
@keyframes spinner-icon-rotate {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.spinner.icon:before {
|
||||
animation: spinner-icon-rotate 3s linear infinite;
|
||||
display: block;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
-webkit-appearance: none;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
background: rgba(0, 0, 0, 0.25);
|
||||
-webkit-transition: color 0.2s ease;
|
||||
transition: color 0.2s ease;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:window-inactive {
|
||||
background: rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(128, 135, 139, 0.8);
|
||||
}
|
||||
|
||||
.ui.top.attached.block.header i.icon {
|
||||
font-size: 1em;
|
||||
vertical-align: initial;
|
||||
}
|
||||
|
||||
.ui.selection.dropdown .menu > .item {
|
||||
padding-left: 0.8rem !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
/* 打印样式 */
|
||||
@media print {
|
||||
html {
|
||||
position: relative !important;
|
||||
overflow: scroll !important;
|
||||
height: unset !important;
|
||||
}
|
||||
|
||||
body {
|
||||
position: unset !important;
|
||||
margin-top: unset !important;
|
||||
height: unset !important;
|
||||
}
|
||||
|
||||
#page-header, #submit-buttons, .p-label {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
67
web/template/sidebar/css/tomorrow.css
Normal file
67
web/template/sidebar/css/tomorrow.css
Normal file
@@ -0,0 +1,67 @@
|
||||
.hll { background-color: #d6d6d6 }
|
||||
.pl-c { color: #8e908c } /* Comment */
|
||||
.pl-err { color: #c82829 } /* Error */
|
||||
.pl-k { color: #8959a8 } /* Keyword */
|
||||
.pl-l { color: #f5871f } /* Literal */
|
||||
.pl-n { color: #4d4d4c } /* Name */
|
||||
.pl-o { color: #3e999f } /* Operator */
|
||||
.pl-p { color: #4d4d4c } /* Punctuation */
|
||||
.pl-ch { color: #8e908c } /* Comment.Hashbang */
|
||||
.pl-cm { color: #8e908c } /* Comment.Multiline */
|
||||
.pl-cp { color: #8e908c } /* Comment.Preproc */
|
||||
.pl-cpf { color: #8e908c } /* Comment.PreprocFile */
|
||||
.pl-c1 { color: #8e908c } /* Comment.Single */
|
||||
.pl-cs { color: #8e908c } /* Comment.Special */
|
||||
.pl-gd { color: #c82829 } /* Generic.Deleted */
|
||||
.pl-ge { font-style: italic } /* Generic.Emph */
|
||||
.pl-gh { color: #4d4d4c; font-weight: bold } /* Generic.Heading */
|
||||
.pl-gi { color: #718c00 } /* Generic.Inserted */
|
||||
.pl-gp { color: #8e908c; font-weight: bold } /* Generic.Prompt */
|
||||
.pl-gs { font-weight: bold } /* Generic.Strong */
|
||||
.pl-gu { color: #3e999f; font-weight: bold } /* Generic.Subheading */
|
||||
.pl-kc { color: #8959a8 } /* Keyword.Constant */
|
||||
.pl-kd { color: #8959a8 } /* Keyword.Declaration */
|
||||
.pl-kn { color: #3e999f } /* Keyword.Namespace */
|
||||
.pl-kp { color: #8959a8 } /* Keyword.Pseudo */
|
||||
.pl-kr { color: #8959a8 } /* Keyword.Reserved */
|
||||
.pl-kt { color: #eab700 } /* Keyword.Type */
|
||||
.pl-ld { color: #718c00 } /* Literal.Date */
|
||||
.pl-m { color: #f5871f } /* Literal.Number */
|
||||
.pl-s { color: #718c00 } /* Literal.String */
|
||||
.pl-na { color: #4271ae } /* Name.Attribute */
|
||||
.pl-nb { color: #4d4d4c } /* Name.Builtin */
|
||||
.pl-nc { color: #eab700 } /* Name.Class */
|
||||
.pl-no { color: #c82829 } /* Name.Constant */
|
||||
.pl-nd { color: #3e999f } /* Name.Decorator */
|
||||
.pl-ni { color: #4d4d4c } /* Name.Entity */
|
||||
.pl-ne { color: #c82829 } /* Name.Exception */
|
||||
.pl-nf { color: #4271ae } /* Name.Function */
|
||||
.pl-nl { color: #4d4d4c } /* Name.Label */
|
||||
.pl-nn { color: #eab700 } /* Name.Namespace */
|
||||
.pl-nx { color: #4271ae } /* Name.Other */
|
||||
.pl-py { color: #4d4d4c } /* Name.Property */
|
||||
.pl-nt { color: #3e999f } /* Name.Tag */
|
||||
.pl-nv { color: #c82829 } /* Name.Variable */
|
||||
.pl-ow { color: #3e999f } /* Operator.Word */
|
||||
.pl-w { color: #4d4d4c } /* Text.Whitespace */
|
||||
.pl-mb { color: #f5871f } /* Literal.Number.Bin */
|
||||
.pl-mf { color: #f5871f } /* Literal.Number.Float */
|
||||
.pl-mh { color: #f5871f } /* Literal.Number.Hex */
|
||||
.pl-mi { color: #f5871f } /* Literal.Number.Integer */
|
||||
.pl-mo { color: #f5871f } /* Literal.Number.Oct */
|
||||
.pl-sb { color: #718c00 } /* Literal.String.Backtick */
|
||||
.pl-sc { color: #4d4d4c } /* Literal.String.Char */
|
||||
.pl-sd { color: #8e908c } /* Literal.String.Doc */
|
||||
.pl-s2 { color: #718c00 } /* Literal.String.Double */
|
||||
.pl-se { color: #f5871f } /* Literal.String.Escape */
|
||||
.pl-sh { color: #718c00 } /* Literal.String.Heredoc */
|
||||
.pl-si { color: #f5871f } /* Literal.String.Interpol */
|
||||
.pl-sx { color: #718c00 } /* Literal.String.Other */
|
||||
.pl-sr { color: #718c00 } /* Literal.String.Regex */
|
||||
.pl-s1 { color: #718c00 } /* Literal.String.Single */
|
||||
.pl-ss { color: #718c00 } /* Literal.String.Symbol */
|
||||
.pl-bp { color: #4d4d4c } /* Name.Builtin.Pseudo */
|
||||
.pl-vc { color: #c82829 } /* Name.Variable.Class */
|
||||
.pl-vg { color: #c82829 } /* Name.Variable.Global */
|
||||
.pl-vi { color: #c82829 } /* Name.Variable.Instance */
|
||||
.pl-il { color: #f5871f } /* Literal.Number.Integer.Long */
|
||||
78
web/template/sidebar/css/white.css
Normal file
78
web/template/sidebar/css/white.css
Normal file
@@ -0,0 +1,78 @@
|
||||
.toprow{
|
||||
background-color:#eee;
|
||||
white-space:nowrap;
|
||||
}
|
||||
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
|
||||
#color:#fff;
|
||||
}
|
||||
.dropdown-menu,.navbar-default{
|
||||
#background-color:#79a3d5;
|
||||
#background-image: linear-gradient(to bottom, #323a81 0px, #79a3d5 100%);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.http_judge_form{
|
||||
white-space:nowrap;
|
||||
}
|
||||
.center{
|
||||
text-align: center
|
||||
}
|
||||
.mynav {
|
||||
margin-top: 20px
|
||||
}
|
||||
.panel-default{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
.container .jumbotron{
|
||||
padding: 5px;
|
||||
background-image: url(../../image/background.jpg);
|
||||
border: 1px solid #eee;
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
h3.pagenav {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h3.pagenav div.item{
|
||||
padding: 4px;
|
||||
margin: 3px;
|
||||
font-size: 16px;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
h3.pagenav div.item:hover{
|
||||
background-color: #ddd;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
h3.pagenav div.active{
|
||||
color: #888;
|
||||
}
|
||||
#problemset {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.hint pre{
|
||||
display:none;
|
||||
}
|
||||
.red{
|
||||
color:red;
|
||||
}
|
||||
.green{
|
||||
color:green;
|
||||
}
|
||||
.blue{
|
||||
color:blue;
|
||||
}
|
||||
.ui.segment, .ui.segments .segment{
|
||||
font-size:18px;
|
||||
line-height:28px;
|
||||
}
|
||||
51
web/template/sidebar/discuss.php
Normal file
51
web/template/sidebar/discuss.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php $show_title="$MSG_BBS - $OJ_NAME"; ?>
|
||||
<?php
|
||||
|
||||
$view_discuss=ob_get_contents();
|
||||
ob_end_clean();
|
||||
require_once(dirname(__FILE__)."/../../lang/$OJ_LANG.php");
|
||||
?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
<?php include("include/bbcode.php");?>
|
||||
<script src="<?php echo "template/bs3/"?>marked.min.js"></script>
|
||||
<div class="padding">
|
||||
<h1><?php echo $news_title ?></h1>
|
||||
<div class="ui existing segment">
|
||||
<?php echo $view_discuss?>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
marked.use({
|
||||
// 开启异步渲染
|
||||
async: true,
|
||||
pedantic: false,
|
||||
gfm: true,
|
||||
mangle: false,
|
||||
headerIds: false
|
||||
});
|
||||
$(".md").each(function(){
|
||||
$(this).html(marked.parse($(this).text()));
|
||||
});
|
||||
// adding note for ```input1 ```output1 in description
|
||||
for(let i=1;i<10;i++){
|
||||
$(".language-input"+i).parent().before("<div><?php echo $MSG_Input?>"+i+":</div>");
|
||||
$(".language-output"+i).parent().before("<div><?php echo $MSG_Output?>"+i+":</div>");
|
||||
}
|
||||
$(".md table tr td").css({
|
||||
"border": "1px solid grey",
|
||||
"text-align": "center",
|
||||
"width": "200px",
|
||||
"height": "30px"
|
||||
});
|
||||
|
||||
$(".md table th").css({
|
||||
"border": "1px solid grey",
|
||||
"width": "200px",
|
||||
"height": "30px",
|
||||
"background-color": "#9e9e9ea1",
|
||||
"text-align": "center"
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
30
web/template/sidebar/error.php
Normal file
30
web/template/sidebar/error.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
$show_title="$MSG_ERROR_INFO - $OJ_NAME";
|
||||
if(isset($OJ_MEMCACHE)) include(dirname(__FILE__)."/header.php");
|
||||
if($mark==100) {
|
||||
$ui_class="positive";
|
||||
$ui_icon="check";
|
||||
}else{
|
||||
$ui_class="negative";
|
||||
$ui_icon="remove";
|
||||
}
|
||||
?>
|
||||
<div class="ui <?php echo $ui_class?> icon message">
|
||||
<i class="<?php echo $ui_icon?> icon"></i>
|
||||
<div class="content">
|
||||
<div class="header" style="margin-bottom: 10px; " ondblclick='$(this).load("refresh-privilege.php")'>
|
||||
<?php echo $view_errors;?>
|
||||
<?php if ($OJ_LANG=="cn"&&isset($spj[0][0])&&$spj[0][0]!=2) echo "<br>如果你是管理员,希望解决这个问题,请打开
|
||||
<a href='http://hustoj.com' target='_blank'>HUSTOJ常见问题</a>,按Ctrl+F查找上面错误信息中的关键词。<br>\n
|
||||
如果你不是管理员,可以联系管理员$OJ_ADMIN 。";?>
|
||||
</div>
|
||||
<!-- <p><%= err.details %></p> -->
|
||||
<p>
|
||||
<!-- <a href="<%= err.nextUrls[text] %>" style="margin-right: 5px; "><%= text %></a> -->
|
||||
|
||||
<a href="javascript:history.go(-1)"><?php echo $MSG_BACK;?></a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include(dirname(__FILE__)."/footer.php");?>
|
||||
10
web/template/sidebar/faqs.news.php
Normal file
10
web/template/sidebar/faqs.news.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php $show_title="$MSG_FAQ - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
<div class="padding">
|
||||
<h1 class="ui center aligned header"><?php echo $MSG_FAQ ?></h1>
|
||||
<div style="font-content">
|
||||
<?php echo $view_faqs?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
131
web/template/sidebar/faqs.php
Normal file
131
web/template/sidebar/faqs.php
Normal file
@@ -0,0 +1,131 @@
|
||||
<?php $show_title="$MSG_FAQ - $OJ_NAME"; ?>
|
||||
<?php include("template/$OJ_TEMPLATE/header.php");?>
|
||||
<div class="padding">
|
||||
<h1 class="ui center aligned header">帮助</h1>
|
||||
<div style="font-content">
|
||||
<h2 class="ui header">评测</h2>
|
||||
<p>
|
||||
<br> C 使用 <code>gcc 9.4.0</code> 编译,命令为
|
||||
<code>gcc Main.c -o Main -fno-asm -Wall -lm --static -O2 -std=c99 -DONLINE_JUDGE</code>
|
||||
<br> C++ 使用 <code>g++ 9.4.0</code> 编译,命令为
|
||||
<code>g++ -fno-asm -Wall -lm --static -O2 -std=c++17 -DONLINE_JUDGE -o Main Main.cc</code>;
|
||||
<br> 您可以使用 <code>#pragma GCC optimize ("O0")</code> 手工关闭 O2 优化;
|
||||
<br> Pascal 使用 <code>fpc 3.0.4</code> 编译,命令为
|
||||
<code>fpc Main.pas -oMain -O1 -Co -Cr -Ct -Ci</code>。
|
||||
<br> Java 使用 <code>OpenJDK 17.0.4</code> 编译,命令为
|
||||
<code> javac -J-Xms32m -J-Xmx256m Main.java</code>,如果您的代码中没有 <code>public class</code>,请将入口类命名为 <code>Main</code>,在评测时提供额外 2 秒的运行时间和 512MB 的运行内存。
|
||||
<br>
|
||||
这里给出的编译器版本仅供参考,请以实际编译器版本为准。
|
||||
</p>
|
||||
<p>请使用<strong>标准输入输出</strong>。</p>
|
||||
<h2 class="ui header">Q: cin/cout为什么会超时(TLE)?</h2>
|
||||
<p>A: cin/cout因为默认同步stdin/stdout而变慢,并产生更多的系统调用而受到性能影响,可以在main函数开头加入下面代码加速:
|
||||
<div class="ui existing segment">
|
||||
<pre style="margin-top: 0; margin-bottom: 0; ">ios::sync_with_stdio(false);
|
||||
cin.tie(0);</pre>
|
||||
</div>
|
||||
|
||||
* 另外,请使用'\n'而不是 endl ,因为endl默认会增加刷新操作,而导致输出缓冲失效,降低效率。
|
||||
</p>
|
||||
|
||||
<h2 class="ui header">Q: gets函数没有了吗?</h2>
|
||||
<p>A: gets函数因为不能限制输入的长度,造成了历史上大量的缓冲区溢出漏洞,因此在最新版本中被彻底删除了,请使用fgets这个函数取代。 或者使用下面的宏定义来取代:
|
||||
<div class="ques-view"> #define gets(S) fgets(S,sizeof(S),stdin) </div>
|
||||
</p>
|
||||
<h2 class="ui header">Q: 为什么我的代码在本地正常,提交以后被判错? </h2>
|
||||
<p>A: 不要使用rewind来清空输入缓冲,OJ的输入本质是文件,与键盘输入逻辑不一样。 如果你发现别人可以正确完成问题,那么有可能是你的代码没有考虑到所有的情况。
|
||||
并不是通过样例数据就代表一定是正确答案。如果你发现所有人都不能正确提交该题,那么有可能是测试数据有问题,请向管理员<?php echo $OJ_ADMIN ?>反馈。
|
||||
|
||||
</p>
|
||||
|
||||
<h2 class="ui header">个人资料<br></h2>
|
||||
<p>本站不提供头像存储服务,而是使用 QQ 头像显示。请使用QQ邮箱注册 ,系统自动取用您在QQ的头像。</p>
|
||||
<h2 class="ui header">返回结果说明<br></h2>
|
||||
<div class="ques-view">
|
||||
<p>试题的解答提交后由评分系统评出即时得分,每一次提交会判决结果会及时通知;系统可能的反馈信息包括:</p>
|
||||
<li>等待评测:评测系统还没有评测到这个提交,请稍候</li>
|
||||
<li>正在评测:评测系统正在评测,稍候会有结果</li>
|
||||
<li>编译错误:您提交的代码无法完成编译,点击“编译错误”可以看到编译器输出的错误信息</li>
|
||||
<li>答案正确:恭喜!您通过了这道题</li>
|
||||
<li>格式错误:您的程序输出的格式不符合要求(比如空格和换行与要求不一致)</li>
|
||||
<li>答案错误:您的程序未能对评测系统的数据返回正确的结果</li>
|
||||
<li>运行超时:您的程序未能在规定时间内运行结束</li>
|
||||
<li>内存超限:您的程序使用了超过限制的内存</li>
|
||||
<li>运行错误:您的程序在运行过程中崩溃了,发生了如段错误、浮点错误等</li>
|
||||
<li>输出超限:您的程序输出了过多内容,一般可能是无限循环输出导致的结果</li>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>程序样例</h2>
|
||||
<p>以下样例程序可用于解决这道简单的题目:<strong>读入2个整数A和B,然后输出它们的和。</strong></p>
|
||||
<p><strong>gcc (.c)</strong></p>
|
||||
<div class="ui existing segment">
|
||||
<pre style="margin-top: 0; margin-bottom: 0; ">
|
||||
<code class="lang-c">#include <stdio.h>
|
||||
int main(){
|
||||
int a, b;
|
||||
while(scanf("%d %d",&a, &b) != EOF){
|
||||
printf("%d\n", a + b);
|
||||
}
|
||||
return 0;
|
||||
}</code></pre>
|
||||
</div>
|
||||
<p><strong>g++ (.cpp)</strong></p>
|
||||
<div class="ui existing segment">
|
||||
<pre style="margin-top: 0; margin-bottom: 0; ">
|
||||
<code class="lang-c++">#include <iostream>
|
||||
using namespace std;
|
||||
int main(){
|
||||
// io speed up
|
||||
const char endl = '\n';
|
||||
std::ios::sync_with_stdio(false);
|
||||
cin.tie(nullptr);
|
||||
|
||||
int a, b;
|
||||
while (cin >> a >> b){
|
||||
cout << a+b << endl;
|
||||
}
|
||||
return 0;
|
||||
}</code></pre>
|
||||
</div>
|
||||
<p><strong>fpc (.pas)</strong></p>
|
||||
<div class="ui existing segment">
|
||||
<pre style="margin-top: 0; margin-bottom: 0; ">
|
||||
<code class="lang-pascal">var
|
||||
a, b: integer;
|
||||
begin
|
||||
while not eof(input) do begin
|
||||
readln(a, b);
|
||||
writeln(a + b);
|
||||
end;
|
||||
end.</code></pre>
|
||||
</div>
|
||||
<p><strong>javac (.java)</strong></p>
|
||||
<div class="ui existing segment">
|
||||
<pre style="margin-top: 0; margin-bottom: 0; ">
|
||||
<code class="lang-java">import java.util.Scanner;
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
Scanner in = new Scanner(System.in);
|
||||
while (in.hasNextInt()) {
|
||||
int a = in.nextInt();
|
||||
int b = in.nextInt();
|
||||
System.out.println(a + b);
|
||||
}
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
<p><strong>python3 (.py)</strong></p>
|
||||
<div class="ui existing segment">
|
||||
<pre style="margin-top: 0; margin-bottom: 0; ">
|
||||
<code class="lang-c">import io
|
||||
import sys
|
||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
|
||||
for line in sys.stdin:
|
||||
a = line.split()
|
||||
print(int(a[0]) + int(a[1]))</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include("template/$OJ_TEMPLATE/footer.php");?>
|
||||
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_AMS-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_AMS-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Caligraphic-Bold.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Caligraphic-Bold.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Caligraphic-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Caligraphic-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Fraktur-Bold.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Fraktur-Bold.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Fraktur-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Fraktur-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Main-Bold.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Main-Bold.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Main-Italic.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Main-Italic.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Main-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Main-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Main-Regular.woff2
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Main-Regular.woff2
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Math-BoldItalic.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Math-BoldItalic.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Math-Italic.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Math-Italic.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Math-Italic.woff2
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Math-Italic.woff2
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Math-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Math-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_SansSerif-Bold.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_SansSerif-Bold.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_SansSerif-Italic.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_SansSerif-Italic.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_SansSerif-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_SansSerif-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Script-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Script-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Size1-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Size1-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Size2-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Size2-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Size3-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Size3-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Size4-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Size4-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/KaTeX_Typewriter-Regular.eot
Normal file
BIN
web/template/sidebar/fonts/KaTeX_Typewriter-Regular.eot
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/N0bX2SlFPv1weGeLZDtgJv7X.ttf
Normal file
BIN
web/template/sidebar/fonts/N0bX2SlFPv1weGeLZDtgJv7X.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/S6u8w4BMUTPHjxsAXC-v.ttf
Normal file
BIN
web/template/sidebar/fonts/S6u8w4BMUTPHjxsAXC-v.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/S6u9w4BMUTPHh6UVSwiPHA.ttf
Normal file
BIN
web/template/sidebar/fonts/S6u9w4BMUTPHh6UVSwiPHA.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf
Normal file
BIN
web/template/sidebar/fonts/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/S6uyw4BMUTPHjx4wWw.ttf
Normal file
BIN
web/template/sidebar/fonts/S6uyw4BMUTPHjx4wWw.ttf
Normal file
Binary file not shown.
BIN
web/template/sidebar/fonts/glyphicons-halflings-regular.eot
Normal file
BIN
web/template/sidebar/fonts/glyphicons-halflings-regular.eot
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user