Example #1
0
 static function get_game_pgn()
 {
     $result = '*';
     $info = "[Event \"{$game_id}\"]\n[CustomFEN \"" . ChessHelper::get_custom_fen(ChessHelper::$game_id) . "\"]\n[Mode \"ICS\"]\n";
     $stt = "SELECT `completion_status` FROM `game` WHERE `game_id`='" . ChessHelper::$game_id . "'";
     $sttreturn = mysql_query($stt, CSession::$db_link) or die(mysql_error());
     $sttnum = mysql_numrows($sttreturn);
     $status = mysql_result($sttreturn, 0, 0);
     if ($status == "W") {
         $result = "1-0";
     } elseif ($status == "B") {
         $result = "0-1";
     } elseif ($status == "D") {
         $result = "1/2-1/2";
     }
     // $sti = "SELECT * FROM move_history WHERE game_id='" . $game_id . "' ORDER BY time ASC";
     // $stireturn = mysql_query($sti, CSession::$db_link) or die(mysql_error());
     // $stinum = mysql_numrows($stireturn);
     $stt22 = "SELECT `w_player_id`, `b_player_id` FROM `game` WHERE `game_id`='" . ChessHelper::$game_id . "'";
     $sttreturn22 = mysql_query($stt22, CSession::$db_link) or die(mysql_error());
     $sttnum22 = mysql_numrows($sttreturn22);
     $w_player_id = mysql_result($sttreturn22, 0, 'w_player_id');
     $b_player_id = mysql_result($sttreturn22, 0, 'b_player_id');
     $query = "SELECT `userid` FROM `player` WHERE `player_id` IN ({$w_player_id}, {$b_player_id})";
     $return = mysql_query($query, CSession::$db_link) or die(mysql_error());
     $num = mysql_numrows($return);
     if ($num == 2) {
         $whitename = trim(mysql_result($return, 0, 'userid'));
         $blackname = trim(mysql_result($return, 1, 'userid'));
     }
     // Self rating may not exist. Should something else be used?
     // $query = "SELECT `p_selfrating` FROM c4m_personalinfo WHERE p_playerid IN ($w_player_id, $b_player_id)";
     // $return = mysql_query($query, CSession::$db_link) or die(mysql_error());
     // if($num == 2)
     // {
     // $whiteELO = mysql_result($return, 0, 'p_selfrating');
     // $blackELO = mysql_result($return, 1, 'p_selfrating');
     // }
     $whiteELO = $blackELO = 0;
     $info .= "[Round \"" . ChessHelper::$CB->GetFullMoves() . "\"]\n[White \"{$whitename}\"]\n[Black \"{$blackname}\"]\n[WhiteELO \"{$whiteELO}\"]\n[BlackELO \"{$blackELO}\"]\n[Result \"{$result}\"]\n\n";
     // Now construct the movelist.
     $moves = ChessHelper::$CB->GetMoveList();
     $moveCounter = ChessHelper::$CB->GetStartingMoveNumber() + 1;
     $movestr = '';
     foreach ($moves as $move) {
         if ($move->nSideMoved == PLAYER_SIDE::BLACK) {
             $movestr .= $move->szSAN . ' ';
             $moveCounter++;
         } else {
             $movestr .= "{$moveCounter}. " . $move->szSAN . ' ';
         }
     }
     if (count($moves) != 0) {
         $movestr .= "{$result}";
     } else {
         $movestr .= "{$moveCounter}. {$result}";
     }
     $info .= "{$movestr}";
     return $info;
 }
function process_game_values($data)
{
    $game_id = $data['instance']['game_id'];
    $data['instance']['board'] = $game_id;
    ChessHelper::load_chess_game($game_id);
    $ML = ChessHelper::$CB->GetMoveList();
    $moves_san = array();
    foreach ($ML as $move) {
        $moves_san[] = $move->szSAN;
    }
    //echo '<pre>';var_dump($moves_san);echo '</pre>';
    $fen = ChessHelper::get_custom_fen($game_id);
    $data['instance']['board'] = array('moves_san' => $moves_san, 'fen' => $fen);
    //exit();
}