X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=scripts%2Fforgot_password.ml;h=20608b77f046cd88dca55ddad612a6f5986f7d2f;hb=c5f822d1ca81042a8c0be2955668b0abebf1b11c;hp=5a779078f93bd2e098615397c268f3c94ffe9d51;hpb=f89070d5807832d6636118dbeb8d159254c3ace1;p=cocanwiki.git diff --git a/scripts/forgot_password.ml b/scripts/forgot_password.ml index 5a77907..20608b7 100644 --- a/scripts/forgot_password.ml +++ b/scripts/forgot_password.ml @@ -1,7 +1,22 @@ -(* COCANWIKI scripts. +(* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: forgot_password.ml,v 1.1 2004/09/07 17:16:46 rich Exp $ + * $Id: forgot_password.ml,v 1.6 2004/10/09 12:20:57 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 @@ -13,18 +28,19 @@ open Cocanwiki open Cocanwiki_ok open Cocanwiki_strings -let run r (q : cgi) (dbh : Dbi.connection) (hostid, hostname, _) _ = +let run r (q : cgi) (dbh : Dbi.connection) hostid { hostname = hostname } _ = let name = trim (q#param "name") in if name = "" then ( error ~back_button:true ~title:"No username or email address" q "You didn't give a username or email address"; - raise CgiExit + return () ); (* Look it up in the database. *) let sth = dbh#prepare_cached "select email, name, password from users where hostid = ? + and email is not null and (lower (name) = lower (?) or lower (email) = lower (?))" in sth#execute [`Int hostid; `String name; `String name]; @@ -43,7 +59,7 @@ let run r (q : cgi) (dbh : Dbi.connection) (hostid, hostname, _) _ = let body = "Someone, possibly you, requested your password for " ^ hostname ^ - ".\n" ^ + ".\n\n" ^ "Username: " ^ name ^ "\n" ^ "Password: " ^ password ^ "\n" ^ "\n" ^