-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.cfm
106 lines (83 loc) · 1.91 KB
/
index.cfm
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
<cfoutput>
<cfif isdefined('url.Action')>
<cfset Action = "#url.Action#">
<cfelse>
No Action given.<cfabort>
</cfif>
<cfswitch expression="#Action#">
<cfcase value="GetLeaderboard">
<cfobjectcache action = "clear">
<cfquery datasource="Bootcamp" name="Data">
Select Username
, Score
From Data
Order by Score DESC
Limit 3
</cfquery>
#trim(SerializeJSON(Data, 'struct'))#
</cfcase>
<cfcase value="CheckID">
<cfif isdefined('url.UserID')>
<cfset UserID = "#url.UserID#">
<cfelse>
<cfset UserID = "">
</cfif>
<cfquery datasource="Bootcamp" name="Data">
Select UserID
From Data
Where UserID = '#UserID#'
</cfquery>
<cfif Data.Recordcount EQ 0>
<cfset NewID = CreateUUID()>
<cfquery datasource="Bootcamp">
Insert into Data
(UserID)
Values
('#NewID#')
</cfquery>
#trim(NewID)#
<cfelse>
OK
</cfif>
</cfcase>
<cfcase value="EnterScore">
<cfset UserID = "#url.UserID#">
<cfset Score = "#url.Score#">
<cfset Username = "#url.Username#">
<cfquery datasource="Bootcamp" name="Data">
Select UserID
, Score
From Data
Where UserID = '#UserID#'
</cfquery>
<cfif Score GT Data.Score>
<cfif Username is "">
<cfset Username = "Annonymous">
</cfif>
<cfquery datasource="Bootcamp">
Update Data
Set Score = #Score#
, Username = "#Username#"
Where UserID = '#Data.UserID#'
</cfquery>
</cfif>
OK
</cfcase>
<cfcase value="GetScore">
<cfset UserID = "#url.UserID#">
<cfquery datasource="Bootcamp" name="Data">
Select Score
From Data
Where UserID = '#UserID#'
</cfquery>
<cfif Data.Recordcount GT 0>
#trim(data.score)#
<cfelse>
0
</cfif>
</cfcase>
<cfdefaultcase>
Active actions are: GetScore, EnterScore, GetLeaderboard, CheckID
</cfdefaultcase>
</cfswitch>
</cfoutput>