Add working check for www account existance
authorunc0rr
Mon, 23 Feb 2009 20:34:29 +0000
changeset 1834 71cb978dc85f
parent 1833 e901ec5644b4
child 1835 a55d16c645a1
Add working check for www account existance
gameServer/Actions.hs
gameServer/HWProtoNEState.hs
gameServer/OfficialServer/DBInteraction.hs
--- a/gameServer/Actions.hs	Mon Feb 23 20:25:07 2009 +0000
+++ b/gameServer/Actions.hs	Mon Feb 23 20:34:29 2009 +0000
@@ -28,6 +28,7 @@
 	| ModifyClient (ClientInfo -> ClientInfo)
 	| ModifyRoom (RoomInfo -> RoomInfo)
 	| AddRoom String String
+	| CheckRegistered
 	| Dump
 
 type CmdHandler = Int -> Clients -> Rooms -> [String] -> [Action]
@@ -241,6 +242,12 @@
 		rmTeamMsg = toEngineMsg $ 'F' : teamName
 
 
+processAction (clID, serverInfo, clients, rooms) (CheckRegistered) = do
+	writeChan (dbQueries serverInfo) $ HasRegistered $ nick client
+	return (clID, serverInfo, clients, rooms)
+	where
+		client = clients ! clID
+
 processAction (clID, serverInfo, clients, rooms) (Dump) = do
 	writeChan (sendChan $ clients ! clID) ["DUMP", show serverInfo, showTree clients, showTree rooms]
 	return (clID, serverInfo, clients, rooms)
--- a/gameServer/HWProtoNEState.hs	Mon Feb 23 20:25:07 2009 +0000
+++ b/gameServer/HWProtoNEState.hs	Mon Feb 23 20:34:29 2009 +0000
@@ -17,6 +17,7 @@
 		[]
 	else
 		(RoomAddThisClient 0)
+		: CheckRegistered
 		: answerLobbyNicks
 		-- ++ (answerServerMessage client clients)
 	where
--- a/gameServer/OfficialServer/DBInteraction.hs	Mon Feb 23 20:25:07 2009 +0000
+++ b/gameServer/OfficialServer/DBInteraction.hs	Mon Feb 23 20:34:29 2009 +0000
@@ -10,13 +10,19 @@
 import Control.Concurrent
 import Control.Exception
 import Monad
+import Maybe
 ------------------------
 import CoreTypes
 
 dbInteractionLoop queries dbConn = do
 	q <- readChan queries
 	case q of
-		HasRegistered queryStr -> putStrLn queryStr
+		HasRegistered name -> do
+			statement <- prepare dbConn "SELECT uid FROM users WHERE name=?"
+			execute statement [SqlString name]
+			uid <- fetchRow statement
+			finish statement
+			putStrLn (show $ isJust uid)
 		CheckPassword queryStr -> putStrLn queryStr
 
 	dbInteractionLoop queries dbConn