function UpdateLadderGamePoints($game_id, $logRep) { $logRep->logInfo('UpdateLadderGamePoints: game_id='.$game_id); $sql = "SELECT * FROM weblm_games WHERE game_id = '$game_id'"; $logRep->logInfo('UpdateLadderGamePoints: sql='.$sql); $result = mysql_query($sql); $row = mysql_fetch_array($result); $draw = $row['isDraw']; $teamBonusOld = $row['teamBonus']; $winpoints = $row['winpoints']; $winner = $row['winner']; $winner2 = $row['winner2']; $sixGameId = $row['sixGameId']; $winTeamId = $row['winnerteam']; $loseTeamId = $row['loserteam']; $teamBonusNewArray = getTeamBonus($winTeamId, $loseTeamId, $draw, $winpoints-$teamBonusOld); $teamBonusNew = $teamBonusNewArray['bonusWinner']; $logRep->logInfo('UpdateLadderGamePoints: teamBonusNewArray[msg]='.$teamBonusNewArray['msg'].' teamBonusOld='.$teamBonusOld.' teamBonusNew='.$teamBonusNew); if ($teamBonusOld != $teamBonusNew) { $teamBonusDiff = $teamBonusNew - $teamBonusOld; $sql = "UPDATE weblm_games SET winpoints=winpoints+$teamBonusDiff, ". "teamBonus='$teamBonusNew' WHERE game_id=$game_id"; $result = mysql_query($sql); $logRep->logInfo('UpdateLadderGamePoints: sql='.$sql.' affected='.mysql_affected_rows()); $pointsField = getPointsFieldForVersion('H'); // PES6 PC $sql = "SELECT $pointsField from weblm_players where name = '$winner'"; $result = mysql_query($sql); $row = mysql_fetch_array($result); $pointsOld = $row[$pointsField]; $pointsNew = $pointsOld + $teamBonusDiff; if ($pointsNew < 0) { $pointsNew = 0; } $sql = "UPDATE weblm_players SET $pointsField = $pointsNew WHERE name = '$winner'"; $result = mysql_query($sql); $logRep->logInfo('UpdateLadderGamePoints: sql='.$sql.' affected='.mysql_affected_rows()); if (!empty($winner2)) { $sql = "SELECT $pointsField FROM weblm_players WHERE name = '$winner2'"; $result = mysql_query($sql); $row = mysql_fetch_array($result); $pointsOld = $row[$pointsField]; $pointsNew = $pointsOld + $teamBonusDiff; if ($pointsNew < 0) { $pointsNew = 0; } $sql = "UPDATE weblm_players SET $pointsField=$pointsNew WHERE name='$winner2'"; $result = mysql_query($sql); $logRep->logInfo('UpdateLadderGamePoints: sql='.$sql.' affected='.mysql_affected_rows()); } } }
else { $adminname = GetInfo($idcontrol,'admin_username'); $comment = mysql_real_escape_string($comment); $sql = "UPDATE $gamestable set winnerresult = '$winnergoals', ". "loserresult = '$losergoals', ". "winnerteam = '$winnerteam', loserteam = '$loserteam', ". "fairness = '$fairness', ". "host = '$host', ". "comment = '$comment', ". "deleteReason = '$deleteReason', ". "deletedBy = '$adminname', ". "version = '$version' ". "WHERE game_id = '$gameId'"; $result = mysql_query($sql); $teamBonusNewArray = getTeamBonus($winnerteam, $loserteam, $draw, $winpoints-$teamBonusOld); $teamBonusNew = $teamBonusNewArray['bonusWinner']; $msg.= $teamBonusNewArray['msg']; if ($teamBonusOld != $teamBonusNew) { $teamBonusDiff = $teamBonusNew - $teamBonusOld; $msg.= "<p>Team bonus changed: <b>$teamBonusOld</b> -> <b>$teamBonusNew</b></p>"; $sql = "UPDATE $gamestable SET winpoints = winpoints + $teamBonusDiff, ". "teamBonus = '$teamBonusNew' WHERE game_id = '$gameId'"; $msg.= "<p>Updating game - SQL: $sql</p>"; $result = mysql_query($sql); $pointsField = getPointsFieldForVersion($version); $sqlp = "SELECT $pointsField from $playerstable where name = '$winner'"; $resultp = mysql_query($sqlp);
function calculateGamePointsReportGame(&$winner1, &$winner2, &$loser1, &$loser2, $winnerresult, $loserresult, &$winnerteam, &$loserteam, $ratingOldWinner1, $ratingOldWinner2, $ratingOldLoser1, $ratingOldLoser2, $pointsOldWinner1, $pointsOldWinner2, $pointsOldLoser1, $pointsOldLoser2, $type, $isDraw, &$comment, $sixGameId) { $msg = ""; $singleBonus = 1.4; $doublePenalty = 0.6; if ($type == "1on1") { $ratingoldwinnerAvg = $ratingOldWinner1; $ra2oldwinnerAvg = $pointsOldWinner1; $ratingoldloserAvg = $ratingOldLoser1; $ra2oldloserAvg = $pointsOldLoser1; } else { if ($type == "2on1") { $ratingoldwinnerAvg = round(($ratingOldWinner1 + $ratingOldWinner2) / 2); $ra2oldwinnerAvg = round(($pointsOldWinner1 + $pointsOldWinner2) / 2); $ratingoldloserAvg = $ratingOldLoser1; $ra2oldloserAvg = $pointsOldLoser1; $msg .= "<p>" . getPlayerLinkBold($winner1) . "–" . getPlayerLinkBold($winner2) . " points average: <b>{$ra2oldwinnerAvg}</b></p>"; } else { if ($type == "1on2") { $ratingoldwinnerAvg = $ratingOldWinner1; $ra2oldwinnerAvg = $pointsOldWinner1; $ratingoldloserAvg = round(($ratingOldLoser1 + $ratingOldLoser2) / 2); $ra2oldloserAvg = round(($pointsOldLoser1 + $pointsOldLoser2) / 2); $msg .= "<p>" . getPlayerLinkBold($loser1) . "–" . getPlayerLinkBold($loser2) . " points average: <b>{$ra2oldloserAvg}</b></p>"; } else { $ratingoldwinnerAvg = round(($ratingOldWinner1 + $ratingOldWinner2) / 2); $ra2oldwinnerAvg = round(($pointsOldWinner1 + $pointsOldWinner2) / 2); $ratingoldloserAvg = round(($ratingOldLoser1 + $ratingOldLoser2) / 2); $ra2oldloserAvg = round(($pointsOldLoser1 + $pointsOldLoser2) / 2); $msg .= "<p>" . getPlayerLinkBold($winner1) . "–" . getPlayerLinkBold($winner2) . " points average: <b>{$ra2oldwinnerAvg}</b></p>"; $msg .= "<p>" . getPlayerLinkBold($loser1) . "–" . getPlayerLinkBold($loser2) . " points average: <b>{$ra2oldloserAvg}</b></p>"; } } } $ratingdiff = getRatingDifference($ratingoldwinnerAvg, $ratingoldloserAvg); if ($isDraw > 0) { $ra2newwinneradd = getLadderPointsDraw($ra2oldloserAvg, $ra2oldwinnerAvg); $ra2newloserrem = getLadderPointsDraw($ra2oldwinnerAvg, $ra2oldloserAvg); } else { if ($ra2oldwinnerAvg > $ra2oldloserAvg) { $ra2newwinneradd = getLadderPointsBetterWon($ra2oldloserAvg, $ra2oldwinnerAvg); $ra2newloserrem = getLadderPointsBetterWon($ra2oldwinnerAvg, $ra2oldloserAvg); } else { if ($ra2oldwinnerAvg <= $ra2oldloserAvg) { $ra2newwinneradd = getLadderPointsBetterLost($ra2oldloserAvg, $ra2oldwinnerAvg); $ra2newloserrem = getLadderPointsBetterLost($ra2oldwinnerAvg, $ra2oldloserAvg); } } } if ($type == "2on1") { $penalty = round($ra2newwinneradd * $doublePenalty); $winPenalty = $ra2newwinneradd - $penalty; $msg .= "<p>{$type} win points penalty: <b>-{$winPenalty}</b></p>"; $ra2newwinneradd = round($penalty); $ra2newloserrem = round($ra2newloserrem * $doublePenalty); } else { if ($type == "1on2") { $bonus = round($ra2newwinneradd * $singleBonus); $winBonus = $bonus - $ra2newwinneradd; $msg .= "<p>{$type} win points bonus: <b>+{$winBonus}</b></p>"; $ra2newwinneradd = round($bonus); $ra2newloserrem = round($ra2newloserrem * $singleBonus); } else { if ($type == "2on2") { $ra2newwinneradd = round($ra2newwinneradd); $ra2newloserrem = round($ra2newloserrem); } } } // draw? if ($isDraw > 0) { $ratingdiff = 0; if ($ra2oldwinnerAvg > $ra2oldloserAvg) { // point winner(s) must go to the left side // names flip($winner1, $loser1); flip($winner2, $loser2); flip($pointsOldWinner1, $pointsOldLoser1); flip($pointsOldWinner2, $pointsOldLoser2); flip($winnerteam, $loserteam); if (is_null($sixGameId)) { // add reporter to comment $comment = "[reported by {$loser1}] " . $comment; } } } $cowardFactor = getCowardFactor($ra2oldwinnerAvg, $ra2oldloserAvg); if ($cowardFactor < 1) { $msg .= "<p>500+ ladder points each - win/lose points reduced by factor <b>{$cowardFactor}</b></p>"; $ra2newwinneradd = round($ra2newwinneradd * $cowardFactor); $ra2newloserrem = round($ra2newloserrem * $cowardFactor); } $teamBonusArray = getTeamBonus($winnerteam, $loserteam, $isDraw, $ra2newwinneradd); $teamBonusWinner = $teamBonusArray['bonusWinner']; $ra2winneraddbonus = $ra2newwinneradd + $teamBonusWinner; if ($teamBonusWinner > 0) { $teamBonusWinnerDisplay = "(+" . $teamBonusWinner . " for team)"; } $msg .= $teamBonusArray['msg']; // set new points amount $ra2newwinner = $pointsOldWinner1 + $ra2winneraddbonus; $msg .= "<p>" . getPlayerLinkBold($winner1) . " wins {$ra2winneraddbonus} {$teamBonusWinnerDisplay} for a total of {$ra2newwinner} points.</p>"; if (!empty($winner2)) { $ra2newwinner2 = $pointsOldWinner2 + $ra2winneraddbonus; $msg .= "<p>" . getPlayerLinkBold($winner2) . " wins {$ra2winneraddbonus} {$teamBonusWinnerDisplay} for a total of {$ra2newwinner2} points.</p>"; } $ra2newloserremL1 = 0; $ra2newloser = getLosePoints($pointsOldLoser1, $ra2newloserrem, $ra2newloserremL1); $msg .= "<p>" . getPlayerLinkBold($loser1) . " loses {$ra2newloserremL1} for a total of {$ra2newloser} points.</p>"; if (!empty($loser2)) { $ra2newloserremL2 = 0; $ra2newloser2 = getLosePoints($pointsOldLoser2, $ra2newloserrem, $ra2newloserremL2); $msg .= "<p>" . getPlayerLinkBold($loser2) . " loses {$ra2newloserremL2} for a total of {$ra2newloser2} points.</p>"; } $result = array(); $result["ratingdiff"] = $ratingdiff; $result["pointsNewWinner1"] = $ra2newwinner; $result["pointsNewWinner2"] = $ra2newwinner2; $result["pointsNewLoser1"] = $ra2newloser; $result["pointsNewLoser2"] = $ra2newloser2; $result["addPointsWinner"] = $ra2winneraddbonus; $result["removePointsLoser1"] = $ra2newloserremL1; $result["removePointsLoser2"] = $ra2newloserremL2; $result["teamBonusWinner"] = $teamBonusWinner; $result["message"] = $msg; return $result; }