(* Easy Web Pages (EWP) scripts. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. * $Id: logout.ml,v 1.1 2004/09/07 16:19:43 rich Exp $ *) open Apache open Registry open Cgi open Printf open Cocanwiki open Cocanwiki_ok let expires = "Sun, 09-Sep-2001 02:46:40 GMT" let run r (q : cgi) (dbh : Dbi.connection) _ user = (* The logout function removes all of the associated cookies from the * database. This isn't required, but is nice semantics, and also helps * to reduce the size of the usercookies table in the database. *) (match user with Anonymous -> () | User (userid, _, _) -> let sth = dbh#prepare_cached "delete from usercookies where userid = ?" in sth#execute [`Int userid]; dbh#commit () ); let cookie = Cookie.cookie ~name:"auth" ~value:"none" ~path:"/" ~expires () in ok ~title:"Logged out" ~buttons:[ok_button "/"] ~cookie q "You have been logged out." let () = register_script run