aboutsummaryrefslogtreecommitdiff
path: root/backend/click.php
blob: f87173287efc7a5f69982a24304a7f3e5a8c0dbb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
/* hitler-clicker
 * api for incrementing counters
 * © 2025 hitler.rip <git@hitler.rip>
 * licensed under AGPLv3-or-later; see LICENSE.md for more information
 */

header('Content-Type: application/json; charset=UTF-8');

try {
	$pdo = new PDO("mysql:host=127.0.0.1;dbname=hitlerclicker", "root", "aA1234Aa");
} catch(PDOException $e) {
	die('{ "status": "database offline" }');
};

$wrkarr = [];
$ifarr = [ "token" ];
$postjson = json_decode(file_get_contents('php://input'), true);
foreach ($ifarr as $i):
	if (isset($postjson[$i])):
		$newarr = [
			"$i" => "$postjson[$i]",
		];
		$wrkarr = array_merge($wrkarr, $newarr);
	endif;
endforeach;

if (!isset($wrkarr["token"]) || trim($wrkarr["token"]) == ""):
	die('{ "status": "token was not provided.\ncould not add a click." }');
else:

	$query = $pdo->prepare("SELECT token, team, clicks FROM users WHERE token LIKE ?");
	$query->execute([$wrkarr["token"]]);
	$found = $query->fetch(PDO::FETCH_ASSOC);
	if ($found):

		$newuserclicks = $found["clicks"] + 1;

		$query = $pdo->prepare("UPDATE users SET clicks = :clicks WHERE users.token = :token");
		$query->execute([
			"clicks" => "$newuserclicks",
			"token" => "$wrkarr[token]",
		]);

		$query = $pdo->prepare("SELECT team, clicks FROM stats WHERE team LIKE ?");
		$query->execute([$found["team"]]);
		$found = $query->fetch(PDO::FETCH_ASSOC);

		$newteamclicks = $found["clicks"] + 1;

		$query = $pdo->prepare("UPDATE stats SET clicks = :clicks WHERE stats.team = :team");
		$query->execute([
			"clicks" => "$newteamclicks",
			"team" => "$found[team]",
		]);

		die("{ \"status\": \"success\", \"nuc\": \"$newuserclicks\", \"ntc\": \"$newteamclicks\" }");

		
	else:
		die('{ "status": "user does not exist in the database." }');
	endif;

endif;

echo '{ "status": "online" }';

?>