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 ? '' : ' ') . $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]); }
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 }