// Accepts a draw request. Checks that the draw request is still current. If not, then // it does nothing (returning draw status none). // Params: action, sid, gameid //////////////////////////////////////////////////////////////////////////////////////////// case "acceptdrawgame": if (isSessionIDValid($config, $xsid)) { $session = base64_decode($xsid); list($uniq, $player_id) = preg_split("/\\|/", $session); if ($_GET['gameid'] != "") { //Instantiate theCR3DCQuery Class $oR3DCQuery = new CR3DCQuery($config); $isblack = $oR3DCQuery->IsPlayerBlack($config, $_GET['gameid'], $player_id); $isdraw = $oR3DCQuery->IsRequestDraw($config, $_GET['gameid'], $isblack); if ($isdraw == 'IDS_DRAW_REQUESTED') { if ($isblack) { $oR3DCQuery->DrawGame($config, $_GET['gameid'], "b"); } else { $oR3DCQuery->DrawGame($config, $_GET['gameid'], "w"); } } $isdraw = $oR3DCQuery->IsRequestDraw($config, $_GET['gameid'], $isblack); $oR3DCQuery->Close(); unset($oR3DCQuery); echo "<RESPONSE>\n"; echo "<DRAW>true</DRAW>\n"; echo "<DRAWCODE>{$isdraw}</DRAWCODE>\n"; echo "</RESPONSE>\n"; } else { echo "<RESPONSE>\n"; echo "<DRAW>false</DRAW>\n"; echo "</RESPONSE>\n";
} /////////////////////////////////////////////////////////////////////// $oR3DCQuery->UpdateGameStatus($config, $gid, "C", "B"); $oR3DCQuery->CachePlayerPointsByPlayerID($b_player_id); $oR3DCQuery->CachePlayerPointsByPlayerID($w_player_id); } } /////////////// $cmdRevokeDraw = $_GET['cmdRevokeDraw']; if ($cmdRevokeDraw != "") { $oR3DCQuery->RevokeDrawGame($ConfigFile, $gid, $_SESSION['id']); } $cmdDraw = $_GET['cmdDraw']; if ($cmdDraw != "") { if ($isblack) { $oR3DCQuery->DrawGame($config, $gid, "b"); } else { $oR3DCQuery->DrawGame($config, $gid, "w"); } } $isexitrealtime = false; $isdraw = $oR3DCQuery->IsRequestDraw($config, $gid, $isblack); $cmdExitRealtime = $_GET['cmdExitRealtime']; if ($cmdExitRealtime != "") { $oR3DCQuery->ExitRealTimeGame($config, $gid); $isexitrealtime = true; $_SESSION['RealTimeDoOnce'] = 0; } $rtend = $_GET['rtend']; if ($rtend == 1) { $isexitrealtime = true;