Webanwendung mit FastCGI und Haskell
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

33 lignes
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