Webanwendung mit FastCGI und Haskell
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

33 řádky
774B

  1. module App.Logout (
  2. Logout(..)
  3. ) where
  4. import Network.FastCGI
  5. import Request
  6. import Database
  7. import AppMonad
  8. import Template
  9. data Logout = Logout
  10. instance RequestHandler Logout where
  11. handle handler = do
  12. loginStatus <- isLoggedIn
  13. if loginStatus then confirmLogout else redirect "/login"
  14. confirmLogout :: App CGIResult
  15. confirmLogout = do
  16. method <- requestMethod
  17. case method of
  18. "POST" -> logout
  19. _ -> render "confirm_logout" [ ("pagetitle", "Abmelden") ] >>= output
  20. logout :: App CGIResult
  21. logout = do
  22. deleteCookie $ newCookie "username" ""
  23. deleteCookie $ newCookie "login_string" ""
  24. res <- render "logged_out" [ ("pagetitle", "Abgemeldet")
  25. , ("kind", "jetzt")]
  26. output res