示例#1
0
文件: oldgames.php 项目: hdp/brass
function gamelistdisplayf(tagtree &$tt, $StartPoint, $Pagenum)
{
    if ($_SESSION['LoggedIn']) {
        $Query = 'SELECT "Game"."GameID", "Game"."Friendly", "Game"."GameName", "Game"."GTitleDeletedByAdmin", "Game"."LastMove", "Game"."GameCreator", "Game"."OriginalPlayers", "Game"."CurrentPlayers", "Game"."RailPhase", "Game"."Round", "Game"."NumRounds", "Game"."GameStatus", "GameVersion"."ShortVersionName", "GameVersionGroup"."VersionName", "GameVersion"."VersionNameSuffix", "GameVersion"."Creators", "User"."Name" AS "GameCreatorName", "PlayerGameRcd"."User" FROM "Game" JOIN "GameVersion" ON "Game"."GVersion" = "GameVersion"."VersionID" JOIN "GameVersionGroup" ON "GameVersion"."VersionGroup" = "GameVersionGroup"."VersionGroupID" JOIN "User" ON "Game"."GameCreator" = "User"."UserID" LEFT JOIN "PlayerGameRcd" ON "PlayerGameRcd"."User" = :me: AND "Game"."GameID" = "PlayerGameRcd"."Game" WHERE "Game"."GameIsFinished" = 1 ORDER BY "Game"."LastMove" DESC LIMIT :startpoint:, 100';
        $me = $_SESSION['MyUserID'];
    } else {
        $Query = 'SELECT "Game"."GameID", "Game"."Friendly", "Game"."GameName", "Game"."GTitleDeletedByAdmin", "Game"."LastMove", "Game"."GameCreator", "Game"."OriginalPlayers", "Game"."CurrentPlayers", "Game"."RailPhase", "Game"."Round", "Game"."NumRounds", "Game"."GameStatus", "GameVersion"."ShortVersionName", "GameVersionGroup"."VersionName", "GameVersion"."VersionNameSuffix", "GameVersion"."Creators", "User"."Name" AS "GameCreatorName" FROM "Game" JOIN "GameVersion" ON "Game"."GVersion" = "GameVersion"."VersionID" JOIN "GameVersionGroup" ON "GameVersion"."VersionGroup" = "GameVersionGroup"."VersionGroupID" JOIN "User" ON "Game"."GameCreator" = "User"."UserID" WHERE "Game"."GameIsFinished" = 1 ORDER BY "Game"."LastMove" DESC LIMIT :startpoint:, 100';
        $me = 0;
    }
    $QueryResult = dbquery(DBQUERY_READ_RESULTSET, $Query, 'me', $me, 'startpoint', $StartPoint);
    $CountQueryResult = dbquery(DBQUERY_READ_INTEGER_TOLERANT_ZERO, 'SELECT "MetadatumValue" FROM "Metadatum" WHERE "MetadatumName" = \'Games-Finished\'');
    if (!$CountQueryResult) {
        return false;
    }
    require_once HIDDEN_FILES_PATH . 'paginate.php';
    $PaginationBar = paginationbar('game', 'games', SITE_ADDRESS . 'oldgames.php', null, 100, $Pagenum, $CountQueryResult);
    $tt->append($PaginationBar[0]);
    if ($QueryResult === 'NONE') {
        return;
    }
    $tt->opennode('table', 'class="table_extra_horizontal_padding"');
    $tt->opennode('thead');
    $tt->opennode('tr');
    $tt->leaf('th', 'Name', 'colspan=2 style="width: 270px;"');
    $tt->leaf('th', 'Creator');
    $tt->leaf('th', 'Friendly?');
    $tt->leaf('th', 'Original', 'title="The number of players the game had when it started."');
    $tt->leaf('th', 'Final', 'title="The number of players the game had when it finished."');
    $tt->leaf('th', 'Status');
    $tt->leaf('th', 'Round');
    $tt->leaf('th', 'Last Move <span style="font-weight: normal;">(GMT)</span>');
    $tt->closenode(2);
    // tr, thead
    $tt->opennode('tbody');
    $RoundColumnStyles = array('gamelist_roundcol_c', 'gamelist_roundcol_r');
    while ($row = db_fetch_assoc($QueryResult)) {
        if ($row['GTitleDeletedByAdmin']) {
            $row['GameName'] = 'The title of this game has been cleared by an Administrator';
        }
        $RowTagAttributes = null;
        if ($_SESSION['LoggedIn']) {
            $GameCreatorColumn = '<a href="userdetails.php?UserID=' . $row['GameCreator'] . '">' . $row['GameCreatorName'] . '</a>';
            if (!is_null($row['User'])) {
                $RowTagAttributes = 'class="mygame"';
            }
        } else {
            $GameCreatorColumn = $row['GameCreatorName'];
        }
        $tt->opennode('tr', $RowTagAttributes);
        $version_name = vname($row['VersionName'], $row['VersionNameSuffix']);
        $tt->leaf('td', '<img src="gfx/icon-' . strtolower($row['ShortVersionName']) . '.png" alt="' . $version_name . '" title="' . $version_name . ' (' . $row['Creators'] . ')">', 'width=23 style="border-right: none;"');
        $tt->leaf('td', '<a href="board.php?GameID=' . $row['GameID'] . '">' . $row['GameName'] . '</a>', 'style="border-left: none; padding-left: 0px; text-align: left;"');
        $tt->leaf('td', $GameCreatorColumn);
        if ($row['Friendly']) {
            $tt->leaf('td', transtext('^Yes'), 'bgcolor="#9FFF9F"');
        } else {
            $tt->leaf('td', transtext('^No'), 'bgcolor="#FFC18A"');
        }
        $tt->leaf('td', $row['OriginalPlayers']);
        $tt->leaf('td', $row['CurrentPlayers']);
        $tt->leaf('td', $row['GameStatus']);
        $tt->leaf('td', ($row['Round'] >= 10 ? '' : '&nbsp;&nbsp;') . $row['Round'] . ' / ' . $row['NumRounds'], 'class="' . $RoundColumnStyles[$row['RailPhase']] . '"');
        $lmtime = strtotime($row['LastMove']);
        $tt->opennode('td');
        $tt->leaf('span', date('Y', $lmtime), 'style="font-size: 50%;"');
        $tt->text(date('M-d H:i:s', $lmtime));
        $tt->closenode(2);
        // td, tr
    }
    $tt->closenode(2);
    // tbody, table
    $tt->append($PaginationBar[1]);
}
示例#2
0
function AdminFP(tagtree &$tt)
{
    global $Administrator;
    $queries = array('SELECT COUNT(*) AS "Co" FROM "RecentEventLog" WHERE "EventType" = \'User\' AND "EventTime" > TIMESTAMPADD(HOUR, -24, UTC_TIMESTAMP())', 'SELECT COUNT(*) AS "Co" FROM "RecentEventLog" WHERE "EventType" = \'User\' AND "EventTime" > TIMESTAMPADD(HOUR, -72, UTC_TIMESTAMP())', 'SELECT COUNT(*) AS "Co" FROM "RecentEventLog" WHERE "EventType" = \'Message\' AND "EventTime" > TIMESTAMPADD(HOUR, -24, UTC_TIMESTAMP())', 'SELECT COUNT(*) AS "Co" FROM "RecentEventLog" WHERE "EventType" = \'Message\' AND "EventTime" > TIMESTAMPADD(HOUR, -72, UTC_TIMESTAMP())', 'SELECT COUNT(*) AS "Co" FROM "RecentEventLog" WHERE "EventType" = \'Game\' AND "EventTime" > TIMESTAMPADD(HOUR, -24, UTC_TIMESTAMP())', 'SELECT COUNT(*) AS "Co" FROM "RecentEventLog" WHERE "EventType" = \'Game\' AND "EventTime" > TIMESTAMPADD(HOUR, -72, UTC_TIMESTAMP())', 'SELECT COUNT(*) AS "Co" FROM "RecentEventLog" WHERE "EventType" = \'Email\' AND "EventTime" > TIMESTAMPADD(HOUR, -24, UTC_TIMESTAMP())', 'SELECT COUNT(*) AS "Co" FROM "RecentEventLog" WHERE "EventType" = \'Email\' AND "EventTime" > TIMESTAMPADD(HOUR, -72, UTC_TIMESTAMP())', 'SELECT COUNT(*) AS "Co" FROM "RecentEventLog" WHERE "EventType" = \'Maintenance\' AND "EventTime" > TIMESTAMPADD(HOUR, -24, UTC_TIMESTAMP())', 'SELECT COUNT(*) AS "Co" FROM "RecentEventLog" WHERE "EventType" = \'Maintenance\' AND "EventTime" > TIMESTAMPADD(HOUR, -72, UTC_TIMESTAMP())');
    $minor_warning_boundaries_above = array(10, 25, 100, 250, 30, 75, 8, 20, 110, 330);
    $major_warning_boundaries_above = array(15, 37, 150, 375, 45, 112, 12, 30, 112, 336);
    $minor_warning_boundaries_below = array(0, 0, 0, 0, 0, 0, 0, 0, 109, 328);
    $major_warning_boundaries_below = array(0, 0, 0, 0, 0, 0, 0, 0, 107, 326);
    for ($i = 0; $i < count($queries); $i++) {
        $width = $i ? null : 'width=40 ';
        $stats[$i] = dbquery(DBQUERY_READ_INTEGER, $queries[$i]);
        if ($stats[$i] > $minor_warning_boundaries_above[$i] or $stats[$i] < $minor_warning_boundaries_below[$i]) {
            $alerts[$i] = $width . 'class="hugealert"';
        } else {
            if ($stats[$i] > $major_warning_boundaries_above[$i] or $stats[$i] < $major_warning_boundaries_below[$i]) {
                $alerts[$i] = $width . 'class="bigalert"';
            } else {
                $alerts[$i] = $width;
            }
        }
    }
    if ($Administrator == 2) {
        $tt->opennode('p');
        $tt->leaf('a', 'SQL Query Page', 'href="http://orderofthehammer.com/query.php"');
        $tt->text('/');
        $tt->leaf('a', 'SQL squasher', 'href="sql_squash.php"');
        $tt->text('/');
        $tt->leaf('a', 'Manage Procedures', 'href="manageprocedures.php"');
        $tt->emptyleaf('br');
        $tt->leaf('a', 'Specification Converter', 'href="spec_convert.php"');
        $tt->text('/');
        $tt->leaf('a', 'Board Preview', 'href="gvpreview.php"');
        $tt->text('/');
        $tt->leaf('a', 'To Do list', 'href="todolist.php"');
        $tt->text('/');
        $tt->leaf('a', 'Password Generator', 'href="pwgen.php"');
        $tt->closenode();
        // p
    }
    $tt->opennode('table', 'class="table_no_borders" style="text-align: left;"');
    $tt->opennode('tr');
    $tt->leaf('td', 'New Users in last 24 hours:', 'align=right');
    $tt->leaf('td', '', 'width=10');
    $tt->leaf('td', $stats[0], $alerts[0]);
    $tt->leaf('td', 'and in last 72 hours:');
    $tt->leaf('td', '', 'width=10');
    $tt->leaf('td', $stats[1], $alerts[1]);
    $tt->next();
    $tt->leaf('td', 'New Messages in last 24 hours:', 'align=right');
    $tt->leaf('td', '');
    $tt->leaf('td', $stats[2], $alerts[2]);
    $tt->leaf('td', 'and in last 72 hours:');
    $tt->leaf('td', '');
    $tt->leaf('td', $stats[3], $alerts[3]);
    $tt->next();
    $tt->leaf('td', 'New Games in last 24 hours:', 'align=right');
    $tt->leaf('td', '');
    $tt->leaf('td', $stats[4], $alerts[4]);
    $tt->leaf('td', 'and in last 72 hours:');
    $tt->leaf('td', '');
    $tt->leaf('td', $stats[5], $alerts[5]);
    $tt->next();
    $tt->leaf('td', 'New <a href="emails.php?emailtype=3">Emails</a> in last 24 hours:', 'align=right');
    $tt->leaf('td', '');
    $tt->leaf('td', $stats[6], $alerts[6]);
    $tt->leaf('td', 'and in last 72 hours:');
    $tt->leaf('td', '');
    $tt->leaf('td', $stats[7], $alerts[7]);
    $tt->next();
    $tt->leaf('td', 'New maintenance logs in last 24 hours:', 'align=right');
    $tt->leaf('td', '');
    $tt->leaf('td', $stats[8], $alerts[8]);
    $tt->leaf('td', 'and in last 72 hours:');
    $tt->leaf('td', '');
    $tt->leaf('td', $stats[9], $alerts[9]);
    $tt->closenode(2);
    // tr, table
}