コード例 #1
0
ファイル: detectcheat.php プロジェクト: thezawad/Sicily
require "./navigation.php";
if (!isset($_GET['cid'])) {
    ?>
	<form action="<?php 
    echo $_SERVER['PHP_SELF'];
    ?>
" method="get">
		cid:<input name="cid" type="text" />
	</form>
	<?php 
    die;
}
$cid = $_GET['cid'];
global $conn;
$rs = new RecordSet($conn);
$rs->Query("SELECT status.sid, status.uid, cpid, run_memory, codelength, username, nickname FROM contest_status left join status on contest_status.sid = status.sid left join user on status.uid = user.uid WHERE status.status = 'Accepted' and contest_status.cid = {$cid} order by cpid asc, run_memory asc, codelength asc");
$submits = array();
while ($rs->MoveNext()) {
    $submits[] = $rs->Fields;
}
echo "<table class='tblContainer ui-widget-content ui-corner-all'><tr class='ui-widget-header'><td>cpid</td><td>sid1</td><td>username1</td><td>sid2</td><td>username2</td></tr>";
$count = 0;
for ($i = 0; $i < count($submits); ++$i) {
    for ($j = $i + 1; $j < count($submits) && is_similar($submits[$i], $submits[$j]); ++$j) {
        if (is_same($submits[$i], $submits[$j])) {
            output($submits[$i], $submits[$j]);
            ++$count;
        }
    }
}
echo "</table>";
コード例 #2
0
ファイル: action.php プロジェクト: thezawad/Sicily
function QueryStatus(&$arg)
{
    $sid = intval(safefetch($arg, 'sid', "Fail"));
    global $conn;
    $rs = new RecordSet($conn);
    $rs->Query("SELECT sid, uid, status, run_time, run_memory, failcase FROM status WHERE sid = {$sid}");
    if (!$rs->MoveNext()) {
        Fail("Invalid run id");
    }
    Output("status", $rs->Fields["status"]);
    Output("run_time", $rs->Fields["run_time"]);
    Output("run_memory", $rs->Fields["run_memory"]);
    Output("case_num", $rs->Fields["failcase"]);
    Output("uid", $rs->Fields["uid"]);
    Output("sid", $rs->Fields["sid"]);
    $rs->Query("select count(*) from queue");
    $rs->MoveNext();
    Output("queue_size", intval($rs->Fields[0]) + 1);
    $rs->free_result();
}
コード例 #3
0
ファイル: user.php プロジェクト: thezawad/Sicily
include_once "../inc/global.inc.php";
include_once "auth.inc.php";
global $conn;
$id = $_GET["id"];
if ($id == "") {
    error("Invalid user ID!", "ranklist.php");
}
$user = new UserTbl();
if (!$user->Get($id)) {
    error("Invalid user ID!", "ranklist.php");
}
$solved = $user->detail['solved'];
$submissions = $user->detail['submissions'];
$rs = new RecordSet($conn);
$rs->Query("SELECT count(*) FROM user WHERE solved > '{$solved}' OR (solved = '{$solved}' AND submissions < '{$submissions}') OR (solved = '{$solved}' AND submissions = '{$submissions}' AND uid < '{$id}')");
$rank = $rs->Fields[0] + 1;
/*
 @mysql_connect($host, $user, $password) or die("Unable to connect database!");
 mysql_select_db($database);
 $table = "user";
 $query = "SELECT * FROM $table WHERE id = '$id'";
 $result = mysql_query($query);
 if (mysql_num_rows($result) == 0) error("Invalid user ID!", "ranklist.php");
 $row = mysql_fetch_array($result);
 $id = $row["id"];
 $username = $row["username"];
 $email = $row["email"];
 $address = $row["address"];
 $solved = $row["solved"];
 $submissions = $row["submissions"];
コード例 #4
0
ファイル: process.php プロジェクト: thezawad/Sicily
function KickoutUser(&$arg)
{
    $uid = mysql_real_escape_string(safefetch($arg, 'uid'));
    $course_id = mysql_real_escape_string(safefetch($arg, 'course_id'));
    global $conn;
    $rs = new RecordSet($conn);
    $rs->Query("DELETE FROM course_reg WHERE uid = {$uid} AND course_id = {$course_id}");
    $rs->affected_rows();
    MsgAndBack();
}
コード例 #5
0
ファイル: problems.php プロジェクト: thezawad/Sicily
					<td width="10%">Edit</td>
					<td width="10%">Copy</td>
				</tr>
				<?php 
if ($rs->MoveNext()) {
    $i = 0;
    do {
        $i++;
        printf("<tr bgcolor=\"#%s\">\n", $i % 2 ? "EEEEEE" : "FCFCFC");
        $pid = $rs->Fields['pid'];
        ?>
						<td height=25 align="center">
							<?php 
        if ($cid) {
            $rs1 = new RecordSet($conn);
            $rs1->Query("SELECT accepted FROM ranklist WHERE cid='{$cid}' AND uid='{$login_uid}' AND pid='{$pid}'");
            if ($rs1->MoveNext()) {
                if ($rs1->Fields['accepted'] == 1) {
                    echo "<img src=\"images/yes.gif\" width=\"20\" height=\"20\">";
                } else {
                    echo "<img src=\"images/no.gif\" width=\"20\" height=\"20\">";
                }
            }
        }
        //	if ($rs->Fields['list'][$rs->Fields['pid'] - 1000] == 1) echo "<img src=\"images/no.gif\" width=\"20\" height=\"20\">";
        //	if ($rs->Fields['list'][$rs->Fields['pid'] - 1000] == 2) echo "<img src=\"images/yes.gif\" width=\"20\" height=\"20\">";
        ?>
						</td>
						<td align="center"><?php 
        echo $pid;
        ?>
コード例 #6
0
ファイル: contest_create.php プロジェクト: thezawad/Sicily
<?php

require "./navigation.php";
include_once "./FCKeditor/fckeditor.php";
$course_id = tryget('course_id', '');
$courseTbl = new CourseTbl($course_id);
if ($course_id && !$courseTbl->Get()) {
    error("Course not found");
}
$course = $courseTbl->detail;
$rs = new RecordSet($conn);
$rs->Query("SELECT max(cid) FROM contests");
$rs->MoveNext();
$cid = $rs->Fields[0];
$rs->Query("SELECT * FROM contests");
?>

<script type="text/javascript">
    function pad0(num) {
        if (num < 10) return "0" + num;
        return num;
    }
    
    function calc_during() {
        if ($("#starttime").val().length == 0) {
            alert("Please set start time first!!");
            return;
        }
        var during = Date.parse($("#endtime").val()) - Date.parse($("#starttime").val());
        during = during / 1000;
        var s = during % 60;
コード例 #7
0
ファイル: contest_edit.php プロジェクト: thezawad/Sicily
if (!is_contest_modifiable($cid)) {
    error("No permission");
}
$contest = new ContestsTbl($cid);
$contest->Get() or error("no such contest");
$during = sscanf($contest->detail['during'], "%d:%d:%d", $h, $m, $s);
$endtime = strtotime($contest->detail['starttime']) + $h * 3600 + $m * 60 + $s;
$endtime = date('Y-m-d H:i:s', $endtime);
$course_id = $contest->detail['course_id'];
$courseTbl = new CourseTbl($course_id);
if ($course_id && !$courseTbl->Get()) {
    error("Course not found");
}
$course = $courseTbl->detail;
$rs = new RecordSet($conn);
$rs->Query("SELECT * FROM contests");
?>

<script type="text/javascript">
    function pad0(num) {
        if (num < 10) return "0" + num;
        return num;
    }
    
    function calc_during() {
        if ($("#starttime").val().length == 0) {
            alert("Please set start time first!!");
            return;
        }
        var during = Date.parse($("#endtime").val()) - Date.parse($("#starttime").val());
        during = during / 1000;
コード例 #8
0
ファイル: contest.php プロジェクト: thezawad/Sicily
/**
 * Generate new cpid for contest
 * @global type $conn
 * @param type $cid 
 * @return type new unused cpid
 */
function gen_new_cpid($cid)
{
    global $conn;
    $rs = new RecordSet($conn);
    $rs->Query("SELECT * FROM contest_problems WHERE cid='{$cid}'");
    $problems_n = $rs->num_rows() + 1000;
    return $problems_n;
}
コード例 #9
0
ファイル: contest_detail.php プロジェクト: thezawad/Sicily
        MsgAndRedirect("contest_password.php?cid={$cid}");
    } else {
        if (!is_contest_started($cid)) {
            error(_("This contest is not started yet."));
        } else {
            error(_("You can't access to the contest"));
        }
    }
}
$problem = new ContestProblem($cid);
if (!$problem->GetByFields(array())) {
    error("No problem found");
}
global $conn;
$rs = new RecordSet($conn);
$rs->Query("SELECT cpid, COUNT(*) AS num FROM contest_status left join status on contest_status.sid = status.sid " . "WHERE cid = {$cid} and status = 'Accepted' GROUP BY cpid ORDER BY cpid");
$ac_num = array();
while ($rs->MoveNext()) {
    $ac_num[$rs->Fields['cpid']] = intval($rs->Fields['num']);
}
$rs->Query("SELECT cpid, COUNT(*) AS num FROM contest_status " . "WHERE cid = {$cid} GROUP BY cpid ORDER BY cpid");
$sm_num = array();
while ($rs->MoveNext()) {
    $sm_num[$rs->Fields['cpid']] = intval($rs->Fields['num']);
}
$rs->free_result();
?>

<script type="text/javascript" src="js/cproblem_list.js"> </script>
<script type="text/javascript" src="js/jquery.dataTables.min.js" > </script> 
<link type="text/css" rel="stylesheet" href="css/data_table.css"/>