-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfinish_game.php
More file actions
113 lines (94 loc) · 3.7 KB
/
finish_game.php
File metadata and controls
113 lines (94 loc) · 3.7 KB
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php
include "db.php";
include "bos.php";
include "validations.php";
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');
$postdata = file_get_contents("php://input");
$data = json_decode($postdata,true);
$game = new stdClass();
$game->call = 'finish';
$game->sport = $data['sport'];
$game->league = $data['league'];
$game->home = $data['home'];
$game->away = $data['away'];
$game->start_time = $data['start_time'];
$game->whistle_end_time = $data['whistle_end_time'];
$game->whistle_start_time = $data['whistle_start_time'];
$game->match_id = $data['match_id'];
$message = new stdClass();
// ******************************************
// *********** Validate first ***************
// ******************************************
// are all parameters sent
$retval = validateFinishGame($game);
if($retval->status != $codes->success200){
echo json_encode($retval);
return false;
}
// is sport valid
$retval = validateSport($game->sport);
if($retval->status != $codes->success200){
echo json_encode($retval);
return false;
}
// is league valid
$retval = validateLeague($game->sport, $game->league);
if($retval->status != $codes->success200){
echo json_encode($retval);
return false;
}
// is home team valid
$retval = validateTeam($game->league, $game->home, 'home team');
if($retval->status != $codes->success200){
echo json_encode($retval);
return false;
}
// is away team valid
$retval = validateTeam($game->league, $game->away, 'away team');
if($retval->status != $codes->success200){
echo json_encode($retval);
return false;
}
$retval = validateWhistleStartAndWhistleEnd($game->whistle_start_time, $game->whistle_end_time);
if($retval->status != $codes->success200){
echo json_encode($retval);
return false;
}
// game can only be finished if score has been added
$retval = validateProgress($game);
if($retval->status != $codes->success200){
echo json_encode($retval);
return false;
}
// ********************************************
// ** Done validating, now do some real work **
// ********************************************
// send BOS incident
$retval = bos_Send($game);
// update whistle_start_time
$q = mysqli_query($con, "UPDATE `games` SET `whistle_end_time` = '$game->whistle_end_time' WHERE `id` = '$game->match_id'");
if($q){
$message->status = "200";
$message->title = "Game finished";
$message->message = $game->home . " v " . $game->away. " - [whistle_end_time]" . $game->whistle_end_time;
}
else{
$message->status = "400";
$message->title = "Failed to add whistle end time";
$message->subcode = "492";
$message->message = "";
}
// update progress status. Set to 'Finished'
$q = mysqli_query($con, "UPDATE `progress` SET `status` = '4' WHERE `game` = '$game->match_id'");
if(!$q){
$message->status = "400";
$message->title = "Failed to update game progress";
$message->subcode = "493";
$message->message = "";
}
$message->message .= $retval->message;
echo json_encode($message);
return $message;
?>