βΉοΈ Informacije o api.php:
β Nije pronaΔena direktna definicija ADMIN_SECRET
PrikaΕΎi sadrΕΎaj api.php (prvih 50 linija)
1: <?php
2: header('Content-Type: application/json; charset=utf-8');
3: header('Access-Control-Allow-Origin: *');
4: header('Access-Control-Allow-Methods: GET, POST');
5:
6: require_once __DIR__ . '/config.php';
7: require_once __DIR__ . '/Db.php';
8: require_once __DIR__ . '/Referrals.php';
9: require_once __DIR__ . '/ReferralCodec.php';
10: require_once __DIR__ . '/RateLimiter.php';
11: require_once __DIR__ . '/Cache.php';
12: require_once __DIR__ . '/Leaderboard.php';
13: require_once __DIR__ . '/GlobalLeaderboard.php';
14: require_once __DIR__ . '/LevelManager.php';
15: require_once __DIR__ . '/Messages.php';
16: require_once __DIR__ . '/Friends.php';
17: require_once __DIR__ . '/Blocks.php';
18: require_once __DIR__ . '/Challenges.php';
19: require_once __DIR__ . '/VersusMatches.php';
20: require_once __DIR__ . '/Achievements.php';
21: require_once __DIR__ . '/Photos.php';
22: require_once __DIR__ . '/Moderation.php';
23: require_once __DIR__ . '/DailyActive.php';
24: require_once __DIR__ . '/DailyLogs.php';
25:
26: $action = sanitizeId($_REQUEST['action'] ?? '');
27:
28: RateLimiter::check($action);
29:
30: try {
31: switch ($action) {
32:
33: // ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
34: // PER-LEVEL
35: // ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
36:
37: case 'submit':
38: requirePost();
39:
40: $levelId = sanitizeId($_POST['level'] ?? '');
41: $moves = clampInt($_POST['moves'] ?? 0, 1, MAX_MOVES);
42: $userId = sanitizeId($_POST['user_id'] ?? '');
43: $username = sanitizeUsername($_POST['username'] ?? '');
44:
45: if (!$levelId || !$userId)
46: bail(400, 'NevaΕΎeΔi parametri');
47:
48: $lb = new Leaderboard();
49: echo json_encode($lb->submitScore($levelId, $moves, $userId, $username));
50: break;