equal
deleted
inserted
replaced
15 import CoreTypes |
15 import CoreTypes |
16 import Utils |
16 import Utils |
17 |
17 |
18 |
18 |
19 dbQueryAccount = |
19 dbQueryAccount = |
20 "SELECT users.pass, users_roles.rid FROM users LEFT JOIN users_roles ON (users.uid = users_roles.uid AND users_roles.rid = 3) WHERE users.name = ?" |
20 "SELECT users.pass, \ |
|
21 \ (SELECT COUNT(users_roles.rid) FROM users_roles WHERE users.uid = users_roles.uid AND users_roles.rid = 3), \ |
|
22 \ (SELECT COUNT(users_roles.rid) FROM users_roles WHERE users.uid = users_roles.uid AND users_roles.rid = 13) \ |
|
23 \ FROM users WHERE users.name = ?" |
21 |
24 |
22 dbQueryStats = |
25 dbQueryStats = |
23 "INSERT INTO gameserver_stats (players, rooms, last_update) VALUES (?, ?, UNIX_TIMESTAMP())" |
26 "INSERT INTO gameserver_stats (players, rooms, last_update) VALUES (?, ?, UNIX_TIMESTAMP())" |
24 |
27 |
25 dbQueryAchievement = |
28 dbQueryAchievement = |
33 |
36 |
34 case q of |
37 case q of |
35 CheckAccount clId clUid clNick _ -> do |
38 CheckAccount clId clUid clNick _ -> do |
36 statement <- prepare dbConn dbQueryAccount |
39 statement <- prepare dbConn dbQueryAccount |
37 execute statement [SqlByteString clNick] |
40 execute statement [SqlByteString clNick] |
38 passAndRole <- fetchRow statement |
41 result <- fetchRow statement |
39 finish statement |
42 finish statement |
40 let response = |
43 let response = |
41 if isJust passAndRole then |
44 if isJust result then let [pass, adm, contr] = fromJust $ result |
42 ( |
45 ( |
43 clId, |
46 clId, |
44 clUid, |
47 clUid, |
45 HasAccount |
48 HasAccount |
46 (fromSql . head . fromJust $ passAndRole) |
49 (fromSql pass) |
47 (fromSql (last . fromJust $ passAndRole) == Just (3 :: Int)) |
50 (fromSql adm == Just (1 :: Int)) |
|
51 (fromSql contr == Just (1 :: Int)) |
48 ) |
52 ) |
49 else |
53 else |
50 (clId, clUid, Guest) |
54 (clId, clUid, Guest) |
51 print response |
55 print response |
52 hFlush stdout |
56 hFlush stdout |