(* COCANWIKI - a wiki written in Objective CAML.
* Written by Richard W.M. Jones <rich@merjis.com>.
* Copyright (C) 2004 Merjis Ltd.
- * $Id: send_feedback.ml,v 1.3 2004/10/04 15:19:56 rich Exp $
+ * $Id: send_feedback.ml,v 1.8 2006/03/28 16:24:08 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
open Cocanwiki_template
open Cocanwiki_ok
-let run r (q : cgi) (dbh : Dbi.connection) hostid {hostname = hostname} user =
+let run r (q : cgi) dbh hostid {hostname = hostname} user =
let template = get_template dbh hostid "send_feedback.txt" in
if q#param_true "cancel" then (
);
(* Get the feedback email for this host. *)
- let sth =
- dbh#prepare_cached "select feedback_email from hosts where id = ?" in
- sth#execute [`Int hostid];
-
- let to_addr = sth#fetch1string () in
+ let to_addr = List.hd (
+ PGSQL(dbh)
+ "select feedback_email from hosts where id = $hostid"
+ ) in
+ let to_addr = Option.get to_addr in
(* Get the fields. *)
let page = q#param "page" in
let username =
match user with
Anonymous -> "anonymous"
- | User (userid, username, _) ->
- sprintf "%s (%d)" username userid in
+ | User (userid, username, _, _) ->
+ sprintf "%s (%ld)" username userid in
template#set "ip" ip;
template#set "ua" ua;
(* Send the feedback email. *)
let subject = "Wiki feedback: Feedback about " ^ page ^ " page" in
let body = template#to_string in
- Sendmail.send_mail ~subject ~to_addr:[to_addr] ~body ();
+ Sendmail.send_mail ~subject ~to_addr:[to_addr] body;
(* Confirm. *)
ok ~title:"Thank you for your feedback" ~buttons:[ok_button "/"]
- q "An email has been sent to the site administrators."
+ dbh hostid q "An email has been sent to the site administrators."
let () =
register_script ~restrict:[CanView] run