From: rich Date: Sat, 25 Sep 2004 12:53:55 +0000 (+0000) Subject: Contact form now identified by name, not ID field. X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=c22e34dd58cdc2a79b71dedd3c52ed705c9b8b51;p=cocanwiki.git Contact form now identified by name, not ID field. --- diff --git a/scripts/contact.ml b/scripts/contact.ml index ba88f1d..436ee35 100644 --- a/scripts/contact.ml +++ b/scripts/contact.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: contact.ml,v 1.3 2004/09/23 11:56:47 rich Exp $ + * $Id: contact.ml,v 1.4 2004/09/25 12:53:55 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 @@ -39,22 +39,24 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid {hostname = hostname} user = return () in - (* Get the id field. *) - let id = - try int_of_string (q#param "id") + (* Get the name field. *) + let name = + try q#param "id" with - Not_found -> fail "The 'id' field is missing in that form." - | Failure "int_of_string" -> - fail "The 'id' field in that form is not a number." in + Not_found -> fail "The 'name' field is missing in that form." in (* Get the contacts / emails from the database. *) - let sth = dbh#prepare_cached "select subject from contacts - where hostid = ? and id = ?" in - sth#execute [`Int hostid; `Int id]; - - let subject = - try sth#fetch1string () - with Not_found -> fail "There is no such contact id in the database." in + let sth = dbh#prepare_cached "select id, subject from contacts + where hostid = ? and name = ?" in + sth#execute [`Int hostid; `String name]; + + let id, subject = + try + (match sth#fetch1 () with + [ `Int id; `String subject ] -> id, subject + | _ -> assert false + ) + with Not_found -> fail "There is no such contact form in the database." in let sth = dbh#prepare_cached "select email from contact_emails where contactid = ?" in diff --git a/templates/contact_show.html b/templates/contact_show.html index 0c24651..af1132b 100644 --- a/templates/contact_show.html +++ b/templates/contact_show.html @@ -55,7 +55,7 @@ your page to enable the form.
 <html>
 <form method="post" action="/_contact">
-<input type="hidden" name="id" value="::id::"/>
+<input type="hidden" name="id" value="::name_html::"/>
 <table class="left_table">
 <tr> <th> Name: </th>
      <td> <input name="Name" size="50" /> </td> </tr>