equal
deleted
inserted
replaced
513 processAction JoinLobby = do |
513 processAction JoinLobby = do |
514 chan <- client's sendChan |
514 chan <- client's sendChan |
515 rnc <- gets roomsClients |
515 rnc <- gets roomsClients |
516 clientNick <- client's nick |
516 clientNick <- client's nick |
517 clProto <- client's clientProto |
517 clProto <- client's clientProto |
518 isAuthenticated <- liftM isRegistered $ client's id |
518 isAuthenticated <- client's isRegistered |
519 isAdmin <- client's isAdministrator |
519 isAdmin <- client's isAdministrator |
520 isContr <- client's isContributor |
520 isContr <- client's isContributor |
521 loggedInClients <- liftM (Prelude.filter isVisible) $! allClientsS |
521 loggedInClients <- liftM (Prelude.filter isVisible) $! allClientsS |
522 let (lobbyNicks, clientsChans) = unzip . L.map (nick &&& sendChan) $ loggedInClients |
522 let (lobbyNicks, clientsChans) = unzip . L.map (nick &&& sendChan) $ loggedInClients |
523 let authenticatedNicks = L.map nick . L.filter isRegistered $ loggedInClients |
523 let authenticatedNicks = L.map nick . L.filter isRegistered $ loggedInClients |
529 >>= mapM (client'sM rnc nick) |
529 >>= mapM (client'sM rnc nick) |
530 let clFlags = B.concat . L.concat $ [["u" | isAuthenticated], ["a" | isAdmin], ["c" | isContr]] |
530 let clFlags = B.concat . L.concat $ [["u" | isAuthenticated], ["a" | isAdmin], ["c" | isContr]] |
531 |
531 |
532 roomsInfoList <- io $ do |
532 roomsInfoList <- io $ do |
533 rooms <- roomsM rnc |
533 rooms <- roomsM rnc |
534 mapM (\r -> (if isNothing $ masterID r then return "" else client'sM rnc nick (fromJust $ masterID r)) |
534 mapM (\r -> (mapM (client'sM rnc id) $ masterID r) |
535 >>= \cn -> return $ roomInfo clProto cn r) |
535 >>= \cn -> return $ roomInfo clProto (maybeNick cn) r) |
536 $ filter (\r -> (roomProto r == clProto)) rooms |
536 $ filter (\r -> (roomProto r == clProto)) rooms |
537 |
537 |
538 mapM_ processAction . concat $ [ |
538 mapM_ processAction . concat $ [ |
539 [AnswerClients clientsChans ["LOBBY:JOINED", clientNick]] |
539 [AnswerClients clientsChans ["LOBBY:JOINED", clientNick]] |
540 , [AnswerClients [chan] ("LOBBY:JOINED" : clientNick : lobbyNicks)] |
540 , [AnswerClients [chan] ("LOBBY:JOINED" : clientNick : lobbyNicks)] |