Game Courier Game Logs
This page shows logs for games played on Game Courier, a versatile web-based play-by-mail system that currently supports over 1100 Chess variants. By default, only publicly viewable unfinished games are shown. The form below lets you select various viewing options. To make a move in one of your own games, enter your userid in the form below, click Submit, then click on your name in the Next Move For column.
|Game||Log||Last Modified||Last Move by||Next Move for|
|Royal Magician's Chess||makov333-cvgameroom-2013-332-927||Sat, Dec 07, 2013||Carlos Cetina has won.|
|Royal Magician's Chess||makov333-cvgameroom-2013-326-784||Fri, Nov 29, 2013||Carlos Cetina has won.|
|Royal Magician's Chess||makov333-agentofchaos-2009-251-528||Mon, Feb 08, 2010||Vitya Makov has won.|
|Royal Magician's Chess||vopi-cvgameroom-2010-3-397||Tue, Jan 05, 2010||Vitya Makov has won.|
|Royal Magician's Chess||attackhippo-lukaszek-2009-251-529||Wed, Sep 09, 2009||attack hippo has won.|
|Royal Magician's Chess||jejujeju-carlos-2009-98-580||Wed, Jun 24, 2009||je ju has won.|
|Royal Magician's Chess||agentofchaos-cvgameroom-2008-290-400||Sat, Dec 20, 2008||Gary Gifford has won.|
|Royal Magician's Chess||judgmentality-cvgameroom-2006-142-481||Thu, Jun 08, 2006||Gary Gifford has won.|
This script queried the GameLogs table with the following prepared query:
SELECT * FROM GameLogs WHERE Game = :game AND Priority = 0 AND (Privacy = :privacy OR Opponent = '' OR Opponent IS NULL) ORDER BY Lastmod DESC
To avoid SQL injection, most of the values are passed separately. The values in the query are determined by the values in your URL's query string or by what is entered into the form at top. When you leave a field blank, it normally means that it will leave that field out of the query, not that it will search for an empty value. Here is a recreation of what the SQL query would look like with the placeholders replaced by the values:
SELECT * FROM GameLogs WHERE Game = 'Royal Magician\'s Chess' AND Priority = 0 AND (Privacy = 0 OR Opponent = '' OR Opponent IS NULL) ORDER BY Lastmod DESC
The underlying MySQL is handled by MariaDB. A few fields give you multiple options for how to use them. You can search for an exact string match, an exact non-match, a LIKE match, which allows the use of a few wildcards, and a REGEXP match, which allows for very complicated pattern matching. Since these may slow down the search, they should be avoided unless you have a special need for them.
Filtering by Userid
If you enter a userid, it will list only those games in which that id identifies one of the players. Under the Next Move for column, for each game in which it is that user's turn to move, it will include a link for him to go to the PBM and make his next move. If a given user is playing any games that are not open to public view, he will need to enter his password to view these games on this page. If all your games are publicly viewable, then you don't need to include your password on this page.
How to Delete a Log
To get links for deleting logs, you must first enter a userid. To delete a log, you must be one of the players listed in the log. When you click on the link to delete a log, you will be asked for your password. Enter it and click on the Delete button. If your userid matches one of the players, and if your password is correct, the log will be deleted.
Written by Fergus Duniho
WWW Page Created: 21 July 2017