Exemplo n.º 1
0
function print_ratingsHistory($format)
{
    global $player;
    $db = Database::getConnection();
    $stmt = $db->prepare("SELECT e.name, r.rating, n.medal, n.deck AS id\n    FROM events e, entries n, ratings r\n    WHERE r.format= ? AND r.player = ?\n    AND e.start=r.updated AND n.player=r.player AND n.event=e.name\n    ORDER BY e.start DESC");
    $stmt->bind_param("ss", $format, $player->name);
    $stmt->execute();
    $stmt->bind_result($eventname, $rating, $medal, $deckid);
    $stmt->store_result();
    echo "<table style=\"border-width: 0px;\" align=\"center\">\n";
    echo "<tr><td align=\"center\"><b>Pre-Event</td>\n";
    echo "<td><b>Event</td>\n";
    echo "<td><b>Deck</td>\n";
    echo "<td align=\"center\"><b>Record</td>\n";
    echo "<td align=\"center\"><b>Medal</td>\n";
    echo "<td align=\"center\"><b>Post-Event</td></tr>\n";
    if ($stmt->num_rows > 0) {
        $stmt->fetch();
        $preveventname = $eventname;
        $prevrating = $rating;
        while ($stmt->fetch()) {
            $entry = new Entry($preveventname, $player->name);
            $wl = $entry->recordString();
            $img = medalImgStr($entry->medal);
            echo "<tr><td align=\"center\">{$rating}</td>\n";
            echo "<td>{$preveventname}</td>\n";
            echo "<td>" . $entry->deck->linkTo() . "</td>\n";
            echo "<td align=\"center\">{$wl}</td>\n";
            echo "<td align=\"center\">{$img}</td>";
            echo "<td align=\"center\">{$prevrating}</td></tr>";
            $prevrating = $rating;
            $preveventname = $eventname;
        }
        $entry = new Entry($preveventname, $player->name);
        $wl = $entry->recordString();
        $img = medalImgStr($entry->medal);
        echo "<tr><td align=\"center\">1600</td>\n";
        echo "<td>{$preveventname}</td>\n";
        echo "<td>" . $entry->deck->linkTo() . "</td>\n";
        echo "<td align=\"center\">{$wl}</td>\n";
        echo "<td align=\"center\">{$img}</td>";
        echo "<td align=\"center\">{$prevrating}</td></tr>";
    } else {
        echo "<tr><td colspan=6 align=\"center\"><i>";
        echo "You have not played any {$format} events.</td></tr>\n";
    }
    echo "</table>\n";
}
Exemplo n.º 2
0
function inlineMedal($medal)
{
    echo medalImgStr($medal) . "&nbsp;";
}
Exemplo n.º 3
0
function exactMatchTable($deck)
{
    if ($deck->cardcount < 5) {
        return;
    }
    $decks = $deck->findIdenticalDecks();
    if (count($decks) == 0) {
        return false;
    }
    echo "<table style=\"border-width: 0px\" cellpadding=1 align=\"right\">\n";
    echo "<tr><th colspan=5 align=\"left\"><b>THIS DECK ALSO PLAYED AS</td></tr>\n";
    foreach ($decks as $deck) {
        if (!isset($deck->playername)) {
            continue;
        }
        $cell1 = medalImgStr($deck->medal);
        $cell4 = $deck->recordString();
        echo "<tr><td>{$cell1}</td>\n";
        echo "<td style=\"width: 140px\">" . $deck->linkTo() . "</td>\n";
        echo "<td>{$deck->playername}</td>\n";
        echo "<td><a href=\"{$deck->getEvent()->threadurl}\">{$deck->eventname}</a></td>\n";
        echo "<td style=\"text-align: right; width: 30px;\">{$cell4}</td></tr>\n";
    }
    echo "</table>\n";
}
Exemplo n.º 4
0
function pointsAdjustmentForm($event)
{
    $entries = $event->getEntries();
    // Start a new form
    echo "<form action=\"event.php\" method=\"post\">";
    echo "<input type=\"hidden\" name=\"name\" value=\"" . htmlentities($event->name) . "\" />";
    echo "<table style=\"border-width: 0px\" align=\"center\">";
    echo "<input type=\"hidden\" name=\"view\" value=\"points_adj\">";
    echo "<tr class=\"top\"> <th> Player </th> <th> </th> <th> Deck </th> <th> Points <br /> Adj. </th> <th> Reason </th> </tr>";
    foreach ($entries as $entry) {
        $name = $entry->player->name;
        $adjustment = $event->getSeasonPointAdjustment($name);
        echo "<tr> <td> {$name} </td>";
        if ($entry->medal != "") {
            $img = medalImgStr($entry->medal);
            echo "<td> {$img} </td>";
        } else {
            echo "<td> </td>";
        }
        if ($entry->deck != NULL) {
            $img = image_tag("verified.png", array("alt" => "Verified", "title" => "Player posted deck"));
            echo "<td> {$img} </td>";
        } else {
            echo "<td> </td>";
        }
        if ($adjustment != NULL) {
            echo "<td style=\"text-align: center;\"> <input type=\"text\" style=\"width: 50px;\" name=\"adjustments[{$name}]\" value=\"{$adjustment['adjustment']}\" /> </td>";
            echo "<td> <input type=\"text\" style=\"width: 400px;\" name=\"reasons[{$name}]\" value=\"{$adjustment['reason']}\" /> </td>";
        } else {
            echo "<td style=\"text-align: center;\"> <input type=\"text\" style=\"width: 50px;\" name=\"adjustments[{$name}]\" value=\"\" /> </td>";
            echo "<td> <input type=\"text\" style=\"width: 400px;\" name=\"reasons[{$name}]\" value=\"\" /> </td>";
        }
        echo "</tr>";
    }
    echo "<tr> <td colspan=\"3\" class=\"buttons\"> ";
    echo "<input type=\"submit\" name=\"mode\" value=\"Update Adjustments\" />";
    echo "</td> </tr> </table> </form>";
}
Exemplo n.º 5
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    player VARCHAR(40), deckname VARCHAR(40), archetype VARCHAR(20),\n    colors 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,  colors, medal, id)\n    VALUES(?, ?, ?, ?, ?, ?)");
    foreach ($players as $player) {
        $stmt->bind_param("sssssd", $player['player'], $player['deckname'], $player['archetype'], $player['colors'], $player['medal'], $player['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    FROM meta ORDER BY srtordr DESC, colors, medal, player");
    $color = "orange";
    echo "<table style=\"border-width: 0px;\" align=\"center\">";
    echo "<tr>";
    echo "<td colspan=5 align=\"center\"><b>Metagame Breakdown</td></tr>\n";
    while ($row = $result->fetch_assoc()) {
        if ($row['colors'] != $color) {
            $color = $row['colors'];
            echo "<tr><td>";
            echo image_tag("colors/{$color}.png") . "&nbsp;</td>\n";
            echo "<td colspan=4 align=\"left\"><i>{$row['srtordr']} Players ";
            echo "</td></tr>\n";
        }
        echo "<tr><td></td>\n";
        echo "<td align=\"left\">";
        echo "</td>\n<td align=\"left\">";
        if ($event->finalized == '0') {
            echo "Player is anonymous for deck privacy until event is finalized.";
        } else {
            // puts medal next to name of person who won it
            if ($row['medal'] != "z") {
                echo medalImgStr($row['medal']) . "&nbsp;";
            }
            $play = new Player($row['player']);
            $entry = new Entry($event->name, $play->name);
            echo $play->linkTo() . "</td>\n";
            echo "<td align=\\left\">{$entry->recordString()}</td>";
            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";
}
Exemplo n.º 6
0
function content()
{
    if (!empty($_GET['deck']) || !empty($_GET['card'])) {
        $db = Database::getConnection();
        $decknamesearch = "%" . $db->escape_string($_GET['deck']) . "%";
        $cardsearch_wild = "%" . $db->escape_string($_GET['card']) . "%";
        // TODO: I need a better way of doing this
        if (empty($_GET['card']) && !empty($_GET['deck'])) {
            $stmt = $db->prepare("SELECT id FROM decks WHERE name LIKE ? LIMIT 20");
            $stmt->bind_param("s", $decknamesearch);
        } else {
            if (!empty($_GET['card']) && !empty($_GET['deck'])) {
                $stmt = $db->prepare("SELECT id FROM decks WHERE name LIKE ? AND deck_contents_cache LIKE ? LIMIT 20");
                $stmt->bind_param("ss", $decknamesearch, $cardsearch);
            } else {
                if (!empty($_GET['card']) && empty($_GET['deck'])) {
                    $stmt = $db->prepare("SELECT id FROM decks WHERE deck_contents_cache LIKE ? LIMIT 20");
                    $stmt->bind_param("s", $cardsearch_wild);
                }
            }
        }
        $stmt->execute();
        $stmt->store_result();
        $stmt->bind_result($id);
        $search_desc = "";
        if (!empty($_GET['card'])) {
            $search_desc .= " with {$_GET['card']} in them";
        }
        if (!empty($_GET['deck'])) {
            if (!empty($search_desc)) {
                $search_desc .= " AND ";
            }
            $search_desc .= " with '{$_GET['deck']}' in the deck name";
        }
        if ($stmt->num_rows() == 0) {
            echo "<center>No decks {$search_desc}! Try again!</center>\n";
        } else {
            if ($stmt->num_rows() == 20) {
                echo "<center>More than 20 decks {$search_desc}</center>\n";
            } else {
                echo "<center>{$stmt->num_rows()} decks {$search_desc}</center>\n";
            }
            $deck_ids = array();
            while ($stmt->fetch()) {
                $deck_ids[] = $id;
            }
            $stmt->close();
            echo "<table align=\"center\" style=\"border-width: 0px;\" cellpadding=3>";
            echo "<tr><th>Deck Name</th><th>Played by</th><th>Event</th> </tr>";
            foreach ($deck_ids as $deck_id) {
                $deck = new Deck($deck_id);
                echo "<tr><td>" . medalImgStr($deck->medal) . "\n";
                echo $deck->linkTo();
                echo "</td>";
                if ($deck->playername != NULL) {
                    $aplay = new Player($deck->playername);
                    echo "<td>{$aplay->linkTo()}</td>";
                } else {
                    echo "<td>???</td>";
                }
                if ($deck->eventname != NULL) {
                    echo "<td><a href=\"eventreport.php?event={$deck->eventname}\">{$deck->eventname}</a></td>";
                } else {
                    echo "<td>???</td>";
                }
                echo "</tr>\n";
            }
            echo "</table>";
        }
    } else {
        echo "<form method=\"get\" action=\"{$_SERVER['REQUEST_URI']}\"><table class=\"form\">";
        echo "<tr><th>Deck name contains</th> <td>";
        echo "<input type=\"text\" name=\"deck\"></td></tr>";
        echo "<tr><th>Deck contains card</th><td>";
        echo "<input type=\"text\" name=\"card\"></td></tr>";
        echo "<tr><td colspan=2 class=\"buttons\">";
        echo "<input type=\"submit\" value=\"Gimme some decks!\"></td></tr>";
        echo "</table></form>";
        echo "<table><tr><th colspan=2><b>MOST PLAYED DECKS</b></th></tr>";
        echo "<tr><th>Deck Name</th><th>Played</th></tr>";
        $db = Database::getConnection();
        $stmt = $db->prepare("SELECT count(d.deck_hash) as cnt, d.name, d.id FROM decks d, entries n where n.deck = d.id AND 5 < (SELECT count(*) from deckcontents where deck = d.id group by deck) group by d.deck_hash order by cnt desc limit 20");
        $stmt->execute();
        $stmt->bind_result($count, $name, $deckid);
        while ($stmt->fetch()) {
            echo "<tr><td><a href=\"deck.php?mode=view&id={$deckid}\">{$name}</a></td>";
            echo "<td>{$count} times</td></tr>";
        }
        echo "</table>";
    }
}