39 lines
1.2 KiB
PHP
39 lines
1.2 KiB
PHP
<?php
|
|
global $OPTIONS;
|
|
|
|
require_once (__DIR__ . '/../internals/base.php');
|
|
require_once (__DIR__ . '/../internals/database.php');
|
|
require_once (__DIR__ . '/../internals/highscores.php');
|
|
|
|
Database::connect();
|
|
|
|
$gameid = $OPTIONS['gameid'];
|
|
$check = $OPTIONS['check'];
|
|
$name = $OPTIONS['name'];
|
|
$nameid = $OPTIONS['nameid'];
|
|
$rand = $OPTIONS['rand'];
|
|
$points = $OPTIONS['points'];
|
|
|
|
if (! is_numeric($gameid)) httpError(400, 'Invalid Request');
|
|
if (! is_numeric($nameid)) httpError(400, 'Invalid Request');
|
|
if (! is_numeric($points)) httpError(400, 'Invalid Request');
|
|
|
|
$game = Highscores::getGameByID($OPTIONS['gameid']);
|
|
if ($game == NULL) httpError(400, 'Invalid Request');
|
|
|
|
$checksum_generated = Highscores::generateChecksum($rand, $name, $nameid, $points, $game['SALT']);
|
|
if ($checksum_generated != $check) die('Nice try !');
|
|
|
|
$old = Highscores::getSpecificScore($gameid, $nameid);
|
|
|
|
if ($old == null)
|
|
{
|
|
Highscores::insert($gameid, $points, $name, $nameid, $check, date("Y-m-d H:m:s", time()), $_SERVER['REMOTE_ADDR']);
|
|
echo 'ok.';
|
|
}
|
|
else
|
|
{
|
|
Highscores::update($gameid, $points, $name, $nameid, $check, date("Y-m-d H:m:s", time()), $_SERVER['REMOTE_ADDR']);
|
|
echo 'ok.';
|
|
}
|