Ejemplo n.º 1
0
function fullmetagame($event)
{
    $decks = $event->getDecks();
    $players = array();
    foreach ($decks as $deck) {
        $info = array("player" => $deck->playername, "deckname" => $deck->name, "archetype" => $deck->archetype, "medal" => $deck->medal, "id" => $deck->id);
        $arr = deckInfo($deck);
        $info["colors"] = $arr[1];
        if ($info['medal'] == "dot") {
            $info['medal'] = "z";
        }
        $players[] = $info;
    }
    $db = Database::getConnection();
    $succ = $db->query("CREATE TEMPORARY TABLE meta(\n\t\tplayer VARCHAR(40), deckname VARCHAR(40), archetype VARCHAR(20),\n\t\tcolors VARCHAR(10), medal VARCHAR(10), id BIGINT UNSIGNED,\n    srtordr TINYINT UNSIGNED DEFAULT 0)");
    $succ or die($db->error);
    $stmt = $db->prepare("INSERT INTO meta(player, deckname, archetype,\tcolors, medal, id)\n    VALUES(?, ?, ?, ?, ?, ?)");
    for ($ndx = 0; $ndx < sizeof($players); $ndx++) {
        $stmt->bind_param("sssssd", $players[$ndx]['player'], $players[$ndx]['deckname'], $players[$ndx]['archetype'], $players[$ndx]['colors'], $players[$ndx]['medal'], $players[$ndx]['id']);
        $stmt->execute() or die($stmt->error);
    }
    $stmt->close();
    $result = $db->query("SELECT colors, COUNT(player) AS cnt FROM meta GROUP BY(colors)");
    $stmt = $db->prepare("UPDATE meta SET srtordr = ? WHERE colors = ?");
    while ($row = $result->fetch_assoc()) {
        $stmt->bind_param("ds", $row['cnt'], $row['colors']);
        $stmt->execute() or die($stmt->error);
    }
    $stmt->close();
    $result->close();
    $result = $db->query("SELECT player, deckname, archetype, colors, medal, id, srtordr\n\t\tFROM meta ORDER BY srtordr DESC, colors, medal, player");
    $color = "orange";
    echo "<table style=\"border-width: 0px;\" align=\"center\">";
    $hg = headerColor();
    echo "<tr style=\"background-color: {$hg}\">";
    echo "<td colspan=5 align=\"center\"><b>Metagame Breakdown</td></tr>\n";
    while ($row = $result->fetch_assoc()) {
        if ($row['colors'] != $color) {
            $bg = rowColor();
            $color = $row['colors'];
            echo "<tr style=\"background-color: {$bg};\"><td>";
            echo "<img src=\"/images/rename/{$color}.gif\">&nbsp;</td>\n";
            echo "<td colspan=4 align=\"left\"><i>{$row['srtordr']} Players ";
            #echo "<img src=\"/images/rename/$color.gif\">\n";
            echo "</td></tr>\n";
        }
        echo "<tr style=\"background-color: {$bg};\"><td></td>\n";
        echo "<td align=\"left\">";
        if ($row['medal'] != "z") {
            echo "<img src=\"/images/{$row['medal']}.gif\">&nbsp;";
        }
        echo "</td>\n<td align=\"left\">";
        echo "<a href=\"profile.php?player={$row['player']}\">";
        echo "{$row['player']}</a></td>\n";
        echo "<td align=\"left\">";
        echo "<a href=\"deck.php?mode=view&id={$row['id']}\">";
        echo "{$row['deckname']}</a></td>\n";
        echo "<td align=\"right\">{$row['archetype']}</td></tr>\n";
    }
    $result->close();
    echo "</table>\n";
}
Ejemplo n.º 2
0
function matchTable($player, $limit = 0)
{
    if (!isset($_POST['format'])) {
        $_POST['format'] = "%";
    }
    if (!isset($_POST['series'])) {
        $_POST['series'] = "%";
    }
    if (!isset($_POST['season'])) {
        $_POST['season'] = "%";
    }
    if (!isset($_POST['opp'])) {
        $_POST['opp'] = "%";
    }
    $matches = $player->getFilteredMatches($_POST['format'], $_POST['series'], $_POST['season'], $_POST['opp']);
    $hc = headerColor();
    echo "<table style=\"border-width: 0px\" width=600>\n";
    echo "<tr style=\"background-color: {$hc};\"><td><b>Event</td><td align=\"center\"><b>Round</td>";
    echo "<td><b>Opponent</td>\n";
    echo "<td><b>Deck</td>\n";
    echo "<td align=\"center\"><b>Rating</td>\n";
    echo "<td align=\"center\"><b>Result</td></tr>\n";
    $oldname = "";
    foreach ($matches as $match) {
        $rnd = $match->round;
        if ($match->timing == 2 && $match->type == "Single Elimination") {
            $rnd = "T" . pow(2, $match->rounds + 1 - $match->round);
        }
        $opp = $match->otherPlayer($player->name);
        $res = "Draw";
        $color = "#FF9900";
        if ($match->playerWon($player->name)) {
            $res = "Win";
            $color = "#009900";
        }
        if ($match->playerLost($player->name)) {
            $res = "Loss";
            $color = "#FF0000";
        }
        $opponent = new Player($opp);
        $event = $match->getEvent();
        $oppRating = $opponent->getRating("Composite", $event->start);
        $oppDeck = $opponent->getDeckEvent($event->name);
        $deckStr = "No Deck Found";
        if (!is_null($oppDeck)) {
            $deckStr = "<a href=\"deck.php?mode=view&id={$oppDeck->id}\">" . "{$oppDeck->name}</a>";
        }
        if ($oldname != $event->name) {
            $bg = rowColor();
            echo "<tr style=\"background-color: {$bg}\"><td>{$event->name}</td>";
        } else {
            echo "<tr style=\"background-color: {$bg};\"><td></td>\n";
        }
        $oldname = $event->name;
        echo "<td align=\"center\">{$rnd}</td>\n";
        echo "<td><a href=\"profile.php?player={$opp}\">{$opp}</a></td>\n";
        echo "<td>{$deckStr}</td>\n";
        echo "<td align=\"center\">{$oppRating}</td>\n";
        echo "<td align=\"center\"><b><font color=\"{$color}\">{$res}</font>";
        echo "</td></tr>\n";
    }
    echo "</table>";
}