Esempio n. 1
0
function RestoreLadderGame($restoreGameId)
{
    $appRoot = realpath(dirname(__FILE__)) . '/';
    require $appRoot . './../variables.php';
    require $appRoot . './../variablesdb.php';
    require_once $appRoot . './../functions.php';
    $resultMsg = "Restoring Game #" . $restoreGameId . "<br>";
    $sql = "select * from {$gamestable} where game_id = '{$restoreGameId}'";
    $result = mysql_query($sql);
    $num = mysql_num_rows($result);
    if ($num != 1) {
        $resultMsg .= "Invalid query, found {$num} results for '{$sql}'";
    } else {
        $row = mysql_fetch_array($result);
        $deleted = $row['deleted'];
        $row_season = $row['season'];
        $isDraw = $row['isDraw'];
        if ($row_season != $season) {
            $resultMsg .= "<p>Game #" . $restoreGameId . " is not from this season!</p>";
        } else {
            if ($deleted == 'no') {
                $resultMsg .= "<p>Game #" . $restoreGameId . " is not deleted!</p>";
            } else {
                $ratingdiff = $row['ratingdiff'];
                $winpoints = $row['winpoints'];
                $losepoints = $row['losepoints'];
                $losepoints2 = $row['losepoints2'];
                $winner = $row['winner'];
                $winner2 = $row['winner2'];
                $loser = $row['loser'];
                $loser2 = $row['loser2'];
                $teamLadder = $row['teamLadder'];
                $sql = "UPDATE {$gamestable} SET deleted = 'no' where game_id = '{$restoreGameId}'";
                $result = mysql_query($sql);
                if ($result != 1) {
                    $resultMsg .= '<p>Error updating game!</p>';
                } else {
                    $resultMsg .= "<p>Game #{$restoreGameId} restored.</p>";
                }
                $sql = "select version from {$gamestable} where game_id ='{$restoreGameId}'";
                $result = mysql_query($sql);
                while ($row = mysql_fetch_array($result)) {
                    $version = $row["version"];
                }
                if ($teamLadder == 0) {
                    $pointsField = getPointsFieldForVersion($version);
                    $winsField = getWinsFieldForVersion($version);
                    $lossesField = getLossesFieldForVersion($version);
                    $gamesField = getGamesFieldForVersion($version);
                    $drawsField = "draws";
                } else {
                    $pointsField = "teamPoints";
                    $winsField = "teamWins";
                    $lossesField = "teamLosses";
                    $drawsField = "teamDraws";
                    $gamesField = "teamGames";
                }
                $winner_streakArray = getStreak($winner);
                $winner_winstreak = $winner_streakArray[0];
                $winner_losestreak = $winner_streakArray[1];
                $resultMsg .= "<p>New streak for {$winner}: Won " . $winner_winstreak . ", lost " . $winner_losestreak . "</p>";
                $loser_streakArray = getStreak($loser);
                $loser_winstreak = $loser_streakArray[0];
                $loser_losestreak = $loser_streakArray[1];
                $resultMsg .= "<p>New streak for {$loser}: Won " . $loser_winstreak . ", lost " . $loser_losestreak . "</p>";
                $sql = "SELECT {$pointsField} from {$playerstable} where name='{$loser}'";
                $result = mysql_query($sql);
                $row = mysql_fetch_array($result);
                $ra2ladder = $row[$pointsField];
                $newra2ladder = $ra2ladder - $losepoints;
                if ($newra2ladder < 0) {
                    $newra2ladder = 0;
                }
                if ($isDraw > 0) {
                    $winLoss = 0;
                    $draw = 1;
                } else {
                    $winLoss = 1;
                    $draw = 0;
                }
                $sql = "UPDATE {$playerstable} SET {$lossesField} = {$lossesField} + {$winLoss}," . "totallosses = totallosses + {$winLoss}, " . "{$drawsField}={$drawsField}+{$draw}, totaldraws = totaldraws + {$draw}, " . "{$gamesField} = {$gamesField} + 1, " . "totalgames = totalgames + 1, " . "streakwins = {$loser_winstreak}, " . "streaklosses = {$loser_losestreak}, " . "rating = rating - {$ratingdiff}, " . "{$pointsField} = {$newra2ladder} WHERE name='{$loser}'";
                $result = mysql_query($sql);
                if ($result != 1) {
                    $resultMsg .= '<p>Error updating loser: $result</p>';
                }
                $sql = "UPDATE {$playerstable} " . "SET {$winsField} = {$winsField}+ {$winLoss}, " . "totalwins = totalwins + {$winLoss}, " . "{$gamesField} = {$gamesField} + 1, " . "totalgames = totalgames + 1, " . "{$drawsField}={$drawsField}+{$draw}, totaldraws = totaldraws + {$draw}, " . "streakwins = {$winner_winstreak}, " . "streaklosses = {$winner_losestreak}, " . "rating = rating + {$ratingdiff}, " . "{$pointsField} = {$pointsField} + {$winpoints} " . "WHERE name='{$winner}'";
                $result = mysql_query($sql);
                if ($result != 1) {
                    $resultMsg .= '<p>Error updating winner: ' . $result . '</p>';
                }
                // Winner2 / Loser2
                if (!empty($loser2)) {
                    $loser2_streakArray = getStreak($loser2);
                    $loser2_winstreak = $loser2_streakArray[0];
                    $loser2_losestreak = $loser2_streakArray[1];
                    $resultMsg .= "<p>New streak for {$loser2}: Won " . $loser2_winstreak . ", lost " . $loser2_losestreak . "</p>";
                    $sql = "SELECT {$pointsField} from {$playerstable} where name='{$loser2}'";
                    $result = mysql_query($sql);
                    $row = mysql_fetch_array($result);
                    $ra2ladder = $row[$pointsField];
                    $newra2ladder = $ra2ladder - $losepoints2;
                    if ($newra2ladder < 0) {
                        $newra2ladder = 0;
                    }
                    $sql = "UPDATE {$playerstable} SET {$lossesField} = {$lossesField} + {$winLoss}," . "totallosses = totallosses + {$winLoss}, " . "{$gamesField} = {$gamesField} + 1, " . "totalgames = totalgames + 1, " . "{$drawsField} = {$drawsField} + {$draw}, totaldraws = totaldraws + {$draw}, " . "streakwins = {$loser_winstreak}, " . "streaklosses = {$loser_losestreak}, " . "rating = rating - {$ratingdiff}, " . "{$pointsField} = {$newra2ladder} WHERE name='{$loser2}'";
                    $result = mysql_query($sql);
                    if ($result != 1) {
                        $resultMsg .= '<p>Error updating loser2: $result</p>';
                    }
                }
                if (!empty($winner2)) {
                    $winner2_streakArray = getStreak($winner2);
                    $winner2_winstreak = $winner2_streakArray[0];
                    $winner2_losestreak = $winner2_streakArray[1];
                    $resultMsg .= "<p>New streak for {$winner2}: Won " . $winner2_winstreak . ", lost " . $winner2_losestreak . "</p>";
                    $sql = "UPDATE {$playerstable} " . "SET {$winsField} = {$winsField} + {$winLoss}, " . "totalwins = totalwins + {$winLoss}, " . "{$gamesField} = {$gamesField} + 1, " . "totalgames = totalgames + 1, " . "{$drawsField} = {$drawsField} + {$draw}, totaldraws = totaldraws + {$draw}, " . "streakwins = {$winner2_winstreak}, " . "streaklosses = {$winner2_losestreak}, " . "rating = rating + {$ratingdiff}, " . "{$pointsField} = {$pointsField} + {$winpoints} " . "WHERE name='{$winner2}'";
                    $result = mysql_query($sql);
                    if ($result != 1) {
                        $resultMsg .= '<p>Error updating winner: ' . $result . '</p>';
                    }
                }
            }
        }
    }
    return $resultMsg;
}
      if ($newra2ladder < 0) {
          $newra2ladder = 0;
      } 
      $sql = "UPDATE $playerstable SET $winsField=$winsField-$winLoss,
      totalwins = totalwins-$winLoss, $gamesField = $gamesField-1, totalgames =
      totalgames-1, streakwins = $winner2_winstreak, $drawsField = $drawsField-$draw, totaldraws = totaldraws-$draw, streaklosses = $winner2_losestreak, 
      rating = rating - $ratingdiff, $pointsField = $newra2ladder WHERE name='$winner2'";

      $result = mysql_query($sql);
      if ($result != 1) {
          $resultMsg .= '<p>Error updating winner2: $result</p>';
      } 
    }
            
    if (!empty($loser2)) {
      $loser2_streakArray = getStreak($loser2);
      $loser2_winstreak = $loser2_streakArray[0];
      $loser2_losestreak = $loser2_streakArray[1];
      $resultMsg .= "<p>New streak for $loser2: Won " . $loser2_winstreak . ", lost " . $loser2_losestreak . "</p>";
    
       $sql = "UPDATE $playerstable SET $lossesField =
      $lossesField-$winLoss, totallosses = totallosses-$winLoss, $gamesField= $gamesField-1, totalgames
      = totalgames-1,  streakwins = $loser2_winstreak, streaklosses = $loser2_losestreak, $drawsField = $drawsField-$draw, totaldraws = totaldraws-$draw, 
      rating = rating + $ratingdiff, $pointsField = $pointsField + $losepoints2 WHERE
      name='$loser2'";

        $result = mysql_query($sql);
        if ($result != 1) {
            $resultMsg .= '<p>Error updating loser2: $result</p>';
        } 
      }