Beispiel #1
0
 // acceptgame
 // Params: action, sid, gameid
 ////////////////////////////////////////////////////////////////////////////////////////////
 case "acceptgame":
     if (isSessionIDValid($config, $xsid)) {
         if ($_GET['gameid'] != "") {
             //Instantiate theCR3DCQuery Class
             $oR3DCQuery = new CR3DCQuery($config);
             $session = base64_decode($xsid);
             list($uniq, $player_id) = preg_split("/\\|/", $session);
             //Instantiate theCR3DCQuery Class
             $oR3DCQuery = new CR3DCQuery($config);
             $IsAccepted = $oR3DCQuery->CheckGameAccepted($config, $player_id, $_GET['gameid']);
             list($PlayerType, $status) = explode(" ", $IsAccepted, 2);
             if (($status == "waiting" || $status == "-") && $PlayerType == "o") {
                 $oR3DCQuery->AcceptGame($xsid, $_GET['gameid'], $player_id);
                 echo "<RESPONSE>\n";
                 echo "<ACCEPTGAME>";
                 echo "true";
                 echo "</ACCEPTGAME>\n";
                 echo "</RESPONSE>\n";
             } else {
                 echo "<RESPONSE>\n";
                 echo "<ACCEPTGAME>";
                 echo "false";
                 echo "</ACCEPTGAME>\n";
                 echo "</RESPONSE>\n";
             }
             $oR3DCQuery->Close();
             unset($oR3DCQuery);
         } else {
        //Calculate white player
        $wnewpoints = $oR3DCQuery->ELOCalculation($wcurpoints, $bcurpoints, 0.5, 1, $oR3DCQuery->GetPlayerGameCount($w_player_id));
        //update points
        $oR3DCQuery->ELOUpdateRating($b_player_id, $bnewpoints);
        $oR3DCQuery->ELOUpdateRating($w_player_id, $wnewpoints);
    }
    ///////////////////////////////////////////////////////////////////////
    $oR3DCQuery->UpdateGameStatus($config, $gid, "C", "D");
    $oR3DCQuery->CachePlayerPointsByPlayerID($b_player_id);
    $oR3DCQuery->CachePlayerPointsByPlayerID($w_player_id);
}
/////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////
//Accept game
if ($cmdAccept != "" && $gid != "") {
    $oR3DCQuery->AcceptGame($_SESSION['sid'], $gid, $_SESSION['id']);
}
$cmdRevoke = $_GET['cmdRevoke'];
$brevoked = false;
//////////////////////////////////////////////
//Revoke game
if ($cmdRevoke != "" && $gid != "") {
    $oR3DCQuery->RevokeGame($gid, $_SESSION['id']);
    $brevoked = true;
}
$cmdRevokeChlng = $_GET['cmdRevokeChlng'];
if ($cmdRevokeChlng != "" && $gid != "") {
    $oR3DCQuery->RevokeGame2($gid, $_SESSION['id']);
    $brevoked = true;
}
//Check if the game is accepted