Highscores
This commit is contained in:
		| @@ -1,38 +1,42 @@ | ||||
| <?php | ||||
| 	global $OPTIONS; | ||||
| require_once (__DIR__ . '/../internals/website.php'); | ||||
|  | ||||
| 	require_once (__DIR__ . '/../internals/base.php'); | ||||
| 	require_once (__DIR__ . '/../internals/database.php'); | ||||
| 	require_once (__DIR__ . '/../internals/highscores.php'); | ||||
| /** @var PageFrameOptions $FRAME_OPTIONS */ global $FRAME_OPTIONS; | ||||
| /** @var URLRoute $ROUTE */ global $ROUTE; | ||||
| /** @var Website $SITE */ global $SITE; | ||||
|  | ||||
| 	Database::connect(); | ||||
| $FRAME_OPTIONS->title = null; | ||||
| $FRAME_OPTIONS->canonical_url = null; | ||||
| $FRAME_OPTIONS->activeHeader = null; | ||||
| $FRAME_OPTIONS->frame = 'api_frame.php'; | ||||
|  | ||||
| 	$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'); | ||||
| $gameid = $ROUTE->parameter['gameid']; | ||||
| $check  = $ROUTE->parameter['check']; | ||||
| $name   = $ROUTE->parameter['name']; | ||||
| $nameid = $ROUTE->parameter['nameid']; | ||||
| $rand   = $ROUTE->parameter['rand']; | ||||
| $points = $ROUTE->parameter['points']; | ||||
|  | ||||
| 	$game = Highscores::getGameByID($OPTIONS['gameid']); | ||||
| 	if ($game == NULL) httpError(400, 'Invalid Request'); | ||||
| if (! is_numeric($gameid)) { $FRAME_OPTIONS->forceResult(400, 'Invalid Request'); return; } | ||||
| if (! is_numeric($nameid)) { $FRAME_OPTIONS->forceResult(400, 'Invalid Request'); return; } | ||||
| if (! is_numeric($points)) { $FRAME_OPTIONS->forceResult(400, 'Invalid Request'); return; } | ||||
|  | ||||
| 	$checksum_generated = Highscores::generateChecksum($rand, $name, $nameid, $points, $game['SALT']); | ||||
| 	if ($checksum_generated != $check) die('Nice try !'); | ||||
| $game = $SITE->modules->Highscores()->getGameByID($ROUTE->parameter['gameid']); | ||||
| if ($game == NULL) { $FRAME_OPTIONS->forceResult(400, 'Invalid Request'); return; } | ||||
|  | ||||
| 	$old = Highscores::getSpecificScore($gameid, $nameid); | ||||
| $checksum_generated = $SITE->modules->Highscores()->generateChecksum($rand, $name, $nameid, $points, $game['SALT']); | ||||
| if ($checksum_generated != $check) die('Nice try !'); | ||||
|  | ||||
| 	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.'; | ||||
| 	} | ||||
| $old = $SITE->modules->Highscores()->getSpecificScore($gameid, $nameid); | ||||
|  | ||||
| if ($old == null) | ||||
| { | ||||
| 	$SITE->modules->Highscores()->insert($gameid, $points, $name, $nameid, $check, date("Y-m-d H:m:s", time()), $_SERVER['REMOTE_ADDR']); | ||||
| 	echo 'ok.'; | ||||
| } | ||||
| else | ||||
| { | ||||
| 	$SITE->modules->Highscores()->update($gameid, $points, $name, $nameid, $check, date("Y-m-d H:m:s", time()), $_SERVER['REMOTE_ADDR']); | ||||
| 	echo 'ok.'; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user