ldc-babyweb/add_score.php
Vincent BRIDIER ef907a8f6d - Update ELO
2021-02-09 15:50:55 +01:00

70 lines
3.1 KiB
PHP

<?php
require_once 'Db.php';
$db = new Database('localhost', 'babyweb', 'root', '');
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
$_POST = json_decode(file_get_contents('php://input'), true);
$is1v1 = true;
$red_score = $_POST['red_score'];
$blue_score = $_POST['blue_score'];
$red_p1 = $_POST['red_p1'];
$red_p2 = $_POST['red_p2'] !== 'NULL' ? $_POST['red_p2'] : NULL;
$blue_p1 = $_POST['blue_p1'];
$blue_p2 = $_POST['blue_p2'] !== 'NULL' ? $_POST['blue_p2'] : NULL;
$db->requestPushInsert("INSERT INTO matchs (red_score, blue_score, red_p1, red_p2, blue_p1, blue_p2, created_at) VALUES (:red_score, :blue_score, :red_p1, :red_p2, :blue_p1, :blue_p2, NOW())",
[
'red_score' => $red_score,
'blue_score' => $blue_score,
'red_p1' => $red_p1,
'red_p2' => $red_p2,
'blue_p1' => $blue_p1,
'blue_p2' => $blue_p2,
]);
if ($red_p2 !== NULL && $blue_p2 !== NULL)
$is1v1 = false;
if ($is1v1 === true){
$redPScore = $db->request("SELECT score FROM players WHERE id = :id", ['id' => $red_p1])['score'];
$bluePScore = $db->request("SELECT score FROM players WHERE id = :id", ['id' => $blue_p1])['score'];
$diff = $red_score > $blue_score ? (($bluePScore - $redPScore) / 100) : (($redPScore - $bluePScore) / 100);
$diff = $diff >= -10 ? $diff + 10 : 0;
if ($red_score > $blue_score){
$db->requestPush("UPDATE players SET score = score + :score WHERE id = :id", ['id' => $red_p1, 'score' => $diff]);
$db->requestPush("UPDATE players SET score = score - :score WHERE id = :id", ['id' => $blue_p1, 'score' => $diff]);
}else{
$db->requestPush("UPDATE players SET score = score - :score WHERE id = :id", ['id' => $red_p1, 'score' => $diff]);
$db->requestPush("UPDATE players SET score = score + :score WHERE id = :id", ['id' => $blue_p1, 'score' => $diff]);
}
}else{
if ($red_score > $blue_score){
$db->requestPush("UPDATE players SET score = score + 10 WHERE id = :id", ['id' => $red_p1]);
if ($red_p2 != NULL)
$db->requestPush("UPDATE players SET score = score + 10 WHERE id = :id", ['id' => $red_p2]);
$db->requestPush("UPDATE players SET score = score - 10 WHERE id = :id", ['id' => $blue_p1]);
if ($blue_p2 != NULL)
$db->requestPush("UPDATE players SET score = score - 10 WHERE id = :id", ['id' => $blue_p2]);
}else{
$db->requestPush("UPDATE players SET score = score + 10 WHERE id = :id", ['id' => $blue_p1]);
if ($blue_p2 != NULL)
$db->requestPush("UPDATE players SET score = score + 10 WHERE id = :id", ['id' => $blue_p2]);
$db->requestPush("UPDATE players SET score = score - 10 WHERE id = :id", ['id' => $red_p1]);
if ($red_p2 != NULL)
$db->requestPush("UPDATE players SET score = score - 10 WHERE id = :id", ['id' => $red_p2]);
}
}
$players = $db->requestAll("SELECT * FROM players ORDER BY score DESC");
echo json_encode($players);
}