X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=scripts%2Flogout.ml;h=0ec195212c8b8f68494866092017b37afd4e7e8e;hb=cd059731a60fd3d4dcf426430ad26ff227b91910;hp=11b9210be331aee775f9252cbec7a05c800c8516;hpb=1f125fd7a6794f352f30de71a3905d5356a07008;p=cocanwiki.git diff --git a/scripts/logout.ml b/scripts/logout.ml index 11b9210..0ec1952 100644 --- a/scripts/logout.ml +++ b/scripts/logout.ml @@ -1,7 +1,22 @@ -(* Easy Web Pages (EWP) scripts. +(* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: logout.ml,v 1.2 2004/09/09 09:35:33 rich Exp $ + * $Id: logout.ml,v 1.9 2006/03/28 16:24:07 rich Exp $ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. *) open Apache @@ -14,26 +29,22 @@ open Cocanwiki_ok let expires = "Sun, 09-Sep-2001 02:46:40 GMT" -let run r (q : cgi) (dbh : Dbi.connection) _ _ user = +let run r (q : cgi) dbh hostid _ 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 () + | User (userid, _, _, _) -> + PGSQL(dbh) "delete from usercookies where userid = $userid"; + PGOCaml.commit dbh ); - let cookie = - Cookie.cookie ~name:"auth" ~value:"none" ~path:"/" ~expires () in + let cookie = Cookie.cookie "auth" "none" ~path:"/" ~expires in ok ~title:"Logged out" ~buttons:[ok_button "/"] ~cookie - q "You have been logged out." + dbh hostid q "You have been logged out." let () = register_script run