function clearByes($tid)
{
    $bye = bye();
    $pl = dbcount("(player_id)", DB_T_PLAYERS, "player_tour='" . $tid . "' AND player_checkin='1'");
    $max = getMaxPl($pl);
    $rounds = log($max) / log(2);
    for ($i = 1; $i <= $rounds; $i++) {
        for ($j = 1; $j <= $max / pow(2, $i); $j++) {
            $result = dbquery("SELECT * FROM " . DB_T_MATCHES . " WHERE match_round='" . $i . "' AND match_match='" . $j . "' AND match_tour='" . $tid . "'");
            $data = dbarray($result);
            if ($data['match_pl1'] == $bye && $data['match_pl2'] == $bye) {
                EnterResult($tid, $i, $j, 1, 0);
            }
            if ($data['match_pl1'] == $bye && $data['match_pl2'] != $bye && $data['match_pl2'] != 0) {
                EnterResult($tid, $i, $j, 0, 1);
            }
            if ($data['match_pl1'] != $bye && $data['match_pl2'] == $bye && $data['match_pl1'] != 0) {
                EnterResult($tid, $i, $j, 1, 0);
            }
        }
    }
    $x = $rounds + 1;
    $result2 = dbquery("SELECT * FROM " . DB_T_MATCHES . " WHERE match_round='" . $x . "' AND match_match='1' AND match_tour='" . $tid . "'");
    $data2 = dbarray($result);
    if ($data2['match_pl1'] == $bye && $data2['match_pl2'] == $bye) {
        EnterResult($tid, $x, 1, 1, 0);
    }
    if ($data2['match_pl1'] == $bye && $data2['match_pl2'] != $bye && $data2['match_pl2'] != 0) {
        EnterResult($tid, $x, 1, 0, 1);
    }
    if ($data2['match_pl1'] != $bye && $data2['match_pl2'] == $bye && $data2['match_pl1'] != 0) {
        EnterResult($tid, $x, 1, 1, 0);
    }
}
Пример #2
0
    }
    redirect(BASEDIR . "tourney.php?p=result&id=" . $_POST['mid']);
}
if (isset($_POST['add_result'])) {
    $data = dbarray(dbquery("SELECT * FROM " . DB_T_MATCHES . " WHERE match_id='" . $_POST['mid'] . "'"));
    if (isset($_POST['score1']) && isnum($_POST['score1']) && isset($_POST['score2']) && isnum($_POST['score2']) && $_POST['score1'] != $_POST['score2']) {
        if (checkrights("T")) {
            EnterResult($data['match_tour'], $data['match_round'], $data['match_match'], $_POST['score1'], $_POST['score2']);
            clearByes($data['match_tour']);
            redirect(BASEDIR . "tourney.php?p=viewbracket&id=" . $data['match_tour']);
        } elseif ($data['match_pl1'] == $userdata['user_id'] && $_POST['score1'] < $_POST['score2']) {
            EnterResult($data['match_tour'], $data['match_round'], $data['match_match'], $_POST['score1'], $_POST['score2']);
            clearByes($data['match_tour']);
            redirect(BASEDIR . "tourney.php?p=viewbracket&id=" . $data['match_tour']);
        } elseif ($data['match_pl2'] == $userdata['user_id'] && $_POST['score1'] > $_POST['score2']) {
            EnterResult($data['match_tour'], $data['match_round'], $data['match_match'], $_POST['score1'], $_POST['score2']);
            clearByes($data['match_tour']);
            redirect(BASEDIR . "tourney.php?p=viewbracket&id=" . $data['match_tour']);
        } else {
            redirect(FUSION_SELF . "?p=result&id=" . $_GET['id']);
        }
    } else {
        redirect(FUSION_SELF . "?p=result&id=" . $_GET['id']);
    }
}
$result = dbquery("SELECT tm.*, tt.* FROM " . DB_T_MATCHES . " tm LEFT JOIN " . DB_T_TOURS . " tt ON tt.tour_id=tm.match_tour WHERE match_id='" . $_GET['id'] . "'");
if (dbrows($result)) {
    $bye = bye();
    opentable("Enter result");
    $data = dbarray($result);
    // table with match info