function mobile_movehmm($config) { if ($_GET['gameid'] != "" && $_GET['from'] != "" && $_GET['to'] != "") { //Instantiate theCR3DCQuery Class $oR3DCQuery = new CR3DCQuery($config); $xsid = $_GET['sid']; $session = base64_decode($xsid); list($uniq, $player_id) = preg_split("/\\|/", $session); $movefrom = $_GET['from']; $moveto = $_GET['to']; $bmove_error = false; //Create Move String $movestr = $movefrom . "," . $moveto; $movestr2 = $movefrom . "-" . $moveto; // get the fen for the game $fen = $oR3DCQuery->GetHackedFEN($xsid, $_GET['gameid']); //$fen3 = $oR3DCQuery->GetHackedFEN($xsid, $_GET['gameid']); $bturn = $oR3DCQuery->IsPlayersTurn($config, $player_id, $_GET['gameid']); echo "FEN: {$fen}<br/>"; ChessHelper::load_chess_game($_GET['gameid']); $turn = $fen = ChessHelper::$CB->GetFENForCurrentPosition(); echo "FEN: {$fen}<br/>"; if ($bturn) { //check to see if the move is valid if (is_Move_legal($fen, $movestr2)) { $oR3DCQuery->CurrentGameMovePiece($config, $_GET['gameid'], $xsid, $player_id, $movestr); $initiator = ""; $w_player_id = ""; $b_player_id = ""; $status = ""; $completion_status = ""; $start_time = ""; $next_move = ""; $oR3DCQuery->GetGameInfoByRef($config, $_GET['gameid'], $initiator, $w_player_id, $b_player_id, $status, $completion_status, $start_time, $next_move); //checkmate if (get_GameState() == 1) { //if($w_player_id == $player_id){ if ($next_move == 'w') { /////////////////////////////////////////////////////////////////////// //ELO Point Calculation if ($oR3DCQuery->ELOIsActive() && $oR3DCQuery->IsGameRated($_GET['gameid'])) { $bcurpoints = $oR3DCQuery->ELOGetRating($b_player_id); $wcurpoints = $oR3DCQuery->ELOGetRating($w_player_id); //Calculate black player $bnewpoints = $oR3DCQuery->ELOCalculation($bcurpoints, $wcurpoints, 1, 1, $oR3DCQuery->GetPlayerGameCount($b_player_id)); //Calculate white player $wnewpoints = $oR3DCQuery->ELOCalculation($wcurpoints, $bcurpoints, 0, 1, $oR3DCQuery->GetPlayerGameCount($w_player_id)); //update points $oR3DCQuery->ELOUpdateRating($b_player_id, $bnewpoints); $oR3DCQuery->ELOUpdateRating($w_player_id, $wnewpoints); } /////////////////////////////////////////////////////////////////////// $oR3DCQuery->UpdateGameStatus($config, $_GET['gameid'], "C", "B"); } else { /////////////////////////////////////////////////////////////////////// //ELO Point Calculation if ($oR3DCQuery->ELOIsActive() && $oR3DCQuery->IsGameRated($_GET['gameid'])) { $bcurpoints = $oR3DCQuery->ELOGetRating($b_player_id); $wcurpoints = $oR3DCQuery->ELOGetRating($w_player_id); //Calculate black player $bnewpoints = $oR3DCQuery->ELOCalculation($bcurpoints, $wcurpoints, 0, 1, $oR3DCQuery->GetPlayerGameCount($b_player_id)); //Calculate white player $wnewpoints = $oR3DCQuery->ELOCalculation($wcurpoints, $bcurpoints, 1, 1, $oR3DCQuery->GetPlayerGameCount($w_player_id)); //update points $oR3DCQuery->ELOUpdateRating($b_player_id, $bnewpoints); $oR3DCQuery->ELOUpdateRating($w_player_id, $wnewpoints); } /////////////////////////////////////////////////////////////////////// $oR3DCQuery->UpdateGameStatus($config, $_GET['gameid'], "C", "W"); } $oR3DCQuery->CachePlayerPointsByPlayerID($b_player_id); $oR3DCQuery->CachePlayerPointsByPlayerID($w_player_id); } else { if (get_GameState() == 2) { /////////////////////////////////////////////////////////////////////// //ELO Point Calculation if ($oR3DCQuery->ELOIsActive() && $oR3DCQuery->IsGameRated($_GET['gameid'])) { $bcurpoints = $oR3DCQuery->ELOGetRating($b_player_id); $wcurpoints = $oR3DCQuery->ELOGetRating($w_player_id); //Calculate black player $bnewpoints = $oR3DCQuery->ELOCalculation($bcurpoints, $wcurpoints, 0.5, 1, $oR3DCQuery->GetPlayerGameCount($b_player_id)); //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, $_GET['gameid'], "C", "D"); $bmove_error = false; $oR3DCQuery->CachePlayerPointsByPlayerID($b_player_id); $oR3DCQuery->CachePlayerPointsByPlayerID($w_player_id); } } } else { $bmove_error = true; } } else { $bmove_error = true; } $oR3DCQuery->Close(); unset($oR3DCQuery); } else { $bmove_error = true; } if ($bmove_error) { echo "<RESPONSE>\n"; echo "<MOVE>false</MOVE>\n"; echo "</RESPONSE>\n"; } else { echo "<RESPONSE>\n"; echo "<MOVE>true</MOVE>\n"; mobile_get_full_game_update(); echo "<LASTMOVE>" . ChessHelper::get_last_move() . "</LASTMOVE>"; echo "</RESPONSE>\n"; } }
} } else { clearTimeout(timer) window.location.reload(true) } } window.onload=starttime <?php //////////// //Instantiate theCR3DCQuery Class $oR3DCQuery = new CR3DCQuery($config); if ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID) && $oR3DCQuery->TimeForTGame($config, $GID)) { echo "parent.frames['chessboard'].location.reload();"; } elseif ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID) == false && $oR3DCQuery->TimeForTGame($config, $GID) == false) { echo "parent.frames['chessboard'].location.reload();"; } elseif ($oR3DCQuery->TGameStatus($GID) == false) { echo "parent.frames['chessboard'].location.reload();"; } $oR3DCQuery->Close(); unset($oR3DCQuery); /////////// ?> </script> <body> <textarea cols='32' rows='24' class='post'>
echo $Root_Path . "skins/" . $SkinName . "/"; ?> layout.css" type="text/css"> </head> <body> <?php if (isset($_SESSION['sid']) && isset($_SESSION['user']) && isset($_SESSION['id'])) { //Instantiate theCR3DCQuery Class $oR3DCQuery = new CR3DCQuery($config); if ($oR3DCQuery->TimeForTGame($config, $GID) == false) { echo "<br>" . GetStringFromStringTable("IDS_TGAME_TXT_1", $config) . ""; } else { if ($oR3DCQuery->TGameStatus($GID)) { $oR3DCQuery->GetTGameBoard($config, $GID, $_SESSION['sid'], $_SESSION['id'], $clrl, $clrd); if ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID)) { //echo "Its, ".$_SESSION['user']." turn to play."; echo str_replace("['user']", $_SESSION['user'], GetStringFromStringTable("IDS_TGAME_TXT_3", $config)); } } else { echo "<br>" . GetStringFromStringTable("IDS_TGAME_TXT_3", $config) . ""; } } $oR3DCQuery->Close(); unset($oR3DCQuery); } else { //Instantiate theCR3DCQuery Class $oR3DCQuery = new CR3DCQuery($config); if ($oR3DCQuery->TimeForTGame($config, $GID) == false) { echo "<br>" . GetStringFromStringTable("IDS_TGAME_TXT_1", $config) . ""; } else {
} /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// // Check if the game is not playable by the viewer if (!$oR3DCQuery->IsGameControlsViewableByPlayer($gid, $_SESSION['id'])) { header('Location: ./chess_members.php'); } // Make move if ($movefrom != "" && $moveto != "" && $cmdMove != "") { //Create Move String $movestr = $movefrom . "," . $moveto; $movestr2 = $movefrom . "-" . $moveto; // get the fen for the game $fen = $oR3DCQuery->GetHackedFEN($_SESSION['sid'], $gid); //$fen3 = $oR3DCQuery->GetHackedFEN($_SESSION['sid'], $gid); $bturn = $oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $gid); if ($bturn) { //check to see if the move is valid if (is_Move_legal($fen, $movestr2)) { $_SESSION['GAME_MOVE'] = $movestr; // if ! promotion screen if (!($move_promotion_figur && strlen($movestr2) == 5)) { $oR3DCQuery->CurrentGameMovePiece($config, $gid, $_SESSION['sid'], $_SESSION['id'], $movestr); $initiator = ""; $w_player_id = ""; $b_player_id = ""; $status = ""; $completion_status = ""; $start_time = ""; $next_move = ""; $oR3DCQuery->GetGameInfoByRef($config, $gid, $initiator, $w_player_id, $b_player_id, $status, $completion_status, $start_time, $next_move);
$status = ""; $completion_status = ""; $start_time = ""; $next_move = ""; $oR3DCQuery->GetGameInfoByRef($config, $GID, $initiator, $w_player_id, $b_player_id, $status, $completion_status, $start_time, $next_move); $oR3DCQuery->ManageRealTimeGame($config, $GID); $isrealtime = $oR3DCQuery->IsRequestRealTime($config, $GID, $isblack); if ($isrealtime == "IDS_REAL_TIME") { //Refresh the game board if ($_SESSION['RefreashGameOnlyOnce'] == "") { echo "parent.frames['chessboard'].location='./chess_game2.php?gameid=" . $GID . "';"; $_SESSION['RefreashGameOnlyOnce'] = "1"; } ////////////////// // Update player seconds if ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID) && $oR3DCQuery->IsTimedGameRestricted($GID)) { $oR3DCQuery->UpdatePlayerTime($GID, $isblack, 10); } if ($completion_status == "I" && $oR3DCQuery->IsTimedGameRestricted($GID)) { $oR3DCQuery->PlayerTimeConstreached($GID, $w_player_id, $b_player_id); } ///////////////// // Check if its your turn to play if ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID)) { $LastMoveDate = $oR3DCQuery->GetLastGameMoveDate($config, $GID); if ($_SESSION['Refreashed'] != $LastMoveDate) { echo "parent.frames['chessboard'].location='./chess_game2.php?gameid=" . $GID . "';"; //echo "parent.frames['chessboard'].location.reload();"; $_SESSION['Refreashed'] = $LastMoveDate; } } else {
$cmdResign = $_GET['cmdResign']; if ($cmdResign != "") { if ($isblack) { $oR3DCQuery->UpdateGameStatus($config, $gid, "C", "W"); } else { $oR3DCQuery->UpdateGameStatus($config, $gid, "C", "B"); } } $oR3DCQuery->Close(); unset($oR3DCQuery); $txtmovefrom = $_GET['txtmovefrom']; $txtmoveto = $_GET['txtmoveto']; if (isset($_SESSION['sid']) && isset($_SESSION['user']) && isset($_SESSION['id']) && $GID != "" && $txtmovefrom != "" && $txtmoveto != "") { //Instantiate theCR3DCQuery Class $oR3DCQuery = new CR3DCQuery($config); if ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID) && $oR3DCQuery->TimeForTGame($config, $GID) && $oR3DCQuery->TGameStatus($GID)) { $movestr2 = $txtmovefrom . "-" . $txtmoveto; // get the fen for the game $fen = $oR3DCQuery->GetHackedFEN($_SESSION['sid'], $GID); //check to see if the move is valid if (is_Move_legal($fen, $movestr2)) { //if ! promotion screen if (!($move_promotion_figur && strlen($movestr2) == 5)) { $Move = $txtmovefrom . "," . $txtmoveto; $oR3DCQuery->CurrentGameMovePiece($config, $gid, $_SESSION['sid'], $_SESSION['id'], $Move); //checkmate if (get_GameState() == 1) { if ($w_player_id == $_SESSION['id']) { $oR3DCQuery->UpdateGameStatus($config, $gid, "C", "B"); $bmove_error = false; } else {