function prepUpload($reqData)
    {
        $id = $reqData['id'];
        $format = $reqData['format'];
        $log = $reqData['log'];
        $p1 = $reqData['p1'];
        $p2 = $reqData['p2'];
        pg_query('BEGIN');
        pg_query_params('DELETE FROM replay_players WHERE replayid = $1', array($id));
        pg_query_params('DELETE FROM replays WHERE replayid = $1', array($id));
        pg_query_params('INSERT INTO replays (replayid, format, log)
			VALUES ($1, $2, $3)', array($id, $format, $log));
        pg_query_params('INSERT INTO replay_players (replayid, userid)
			VALUES ($1, $2), ($1, $3);', array($id, to_id($p1), to_id($p2)));
        pg_query('COMMIT');
    }
function to_id($name)
{
    return preg_replace('/[^a-z0-9]/', '', strtolower($name));
}
if (!isset($_GET['id'])) {
    die('No replay ID specified.');
}
if (strpos($_GET['id'], '-') === FALSE) {
    $query = '
	SELECT replayid, rp2.userid, to_char(time, \'YYYY-MM-DD HH:MI\')
	FROM replays
	LEFT JOIN replay_players AS rp1 USING (replayid)
	LEFT JOIN replay_players AS rp2 USING (replayid)
	WHERE rp1.userid = $1 AND rp2.userid <> rp1.userid
	ORDER BY time DESC, replayid DESC;';
    $id = to_id($_GET['id']);
    $result = pg_query_params($query, array($id));
    $array_result = array();
    while (list($replayid, $otherplayer, $time) = pg_fetch_row($result)) {
        $array_result[] = '<a href="/replay/' . htmlspecialchars(rawurlencode($replayid)) . '">' . htmlspecialchars($replayid) . '</a> - ' . htmlspecialchars($id) . ' vs ' . htmlspecialchars($otherplayer) . ' (' . htmlspecialchars($time) . ')';
    }
    if (!$array_result) {
        die('No results.');
    }
    echo '<!doctype html><title>', htmlspecialchars($id), ' replays</title><ul><li>', implode('<li>', $array_result), '</ul>';
    die;
}
$id = $_GET['id'];
$result = pg_query_params('SELECT format, log FROM replays
WHERE replayid = $1', array($id));
if (!(list($format, $log) = pg_fetch_row($result))) {