Beispiel #1
0
 // 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;