-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsave_high_scores.php
77 lines (59 loc) · 1.6 KB
/
save_high_scores.php
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
69
70
71
72
73
74
75
76
77
<?php
require_once 'assets/config/config.php';
require_once "vendor/autoload.php";
use PhotoTech\ErrorHandler;
use PhotoTech\Database;
use PhotoTech\TriviaDatabaseOBJ as Trivia;
$errorHandler = new ErrorHandler();
// Register the exception handler method
set_exception_handler([$errorHandler, 'handleException']);
$database = new Database();
$pdo = $database->createPDO();
$trivia = new Trivia($pdo);
try {
$todays_data = new DateTime("now", new DateTimeZone("America/Detroit"));
} catch (Exception $e) {
}
/* Makes it so we don't have to decode the json coming from javascript */
header('Content-type: application/json');
/*
* The below must be used in order for the json to be decoded properly.
*/
try {
$data = json_decode(file_get_contents('php://input'), true, 512, JSON_THROW_ON_ERROR);
} catch (JsonException $e) {
}
try {
$todays_data = new DateTime('now', new DateTimeZone("America/Detroit"));
} catch (Exception $e) {
}
$data['day_of_year'] = $todays_data->format('z');
$result = $trivia->save_scores($data);
if ($result) {
output(true);
}
/*
* Throw error if something is wrong
*/
/**
* @throws JsonException
*/
function errorOutput($output, $code = 500): void
{
http_response_code($code);
echo json_encode($output, JSON_THROW_ON_ERROR);
}
/*
* If everything validates OK then send success message to Ajax / JavaScript
*/
/*
* After converting data array to JSON send back to javascript using
* this function.
*/
function output($output) {
http_response_code(200);
try {
echo json_encode($output, JSON_THROW_ON_ERROR);
} catch (JsonException) {
}
}