Change subject line so it shows the name of the site.
[cocanwiki.git] / scripts / edit_host_settings_form.ml
index 553e7d2..6b8e73c 100644 (file)
@@ -1,7 +1,7 @@
 (* COCANWIKI - a wiki written in Objective CAML.
  * Written by Richard W.M. Jones <rich@merjis.com>.
  * Copyright (C) 2004 Merjis Ltd.
- * $Id: edit_host_settings_form.ml,v 1.6 2004/11/03 13:36:45 rich Exp $
+ * $Id: edit_host_settings_form.ml,v 1.7 2006/03/27 18:09:46 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
@@ -27,48 +27,47 @@ open Printf
 open Cocanwiki
 open Cocanwiki_template
 
-let run r (q : cgi) (dbh : Dbi.connection) hostid _ _ =
+let run r (q : cgi) dbh hostid _ _ =
   let template = get_template dbh hostid "edit_host_settings_form.html" in
 
   (* List of themes. *)
-  let sth = dbh#prepare_cached "select theme_css, name, description
-                                  from themes order by 2, 1" in
-  sth#execute [];
+  let rows =
+    PGSQL(dbh) "select theme_css, name, description
+                  from themes order by 2, 1" in
 
   let themes =
-    sth#map (function [`String theme_css; `String name; `String description] ->
-              theme_css, (name, description)
-              | _ -> assert false) in
+    List.map (fun (theme_css, name, description) ->
+               theme_css, (name, description)) rows in
 
   (* Get lots of host-specific stuff from the database. *)
-  let sth =
-    dbh#prepare_cached
+  let rows =
+    PGSQL(dbh)
       "select canonical_hostname, edit_anon, create_account_anon, theme_css,
               feedback_email, mailing_list, search_box, navigation, view_anon,
-              coalesce (brand, ''), coalesce (brand_tagline, ''),
-              coalesce (brand_description, '')
-         from hosts where id = ?" in
-  sth#execute [`Int hostid];
+              brand, brand_tagline, brand_description
+         from hosts where id = $hostid" in
 
   let canonical_hostname, edit_anon, create_account_anon, theme_css,
       feedback_email, mailing_list, search_box, navigation, view_anon,
       brand, brand_tagline, brand_description =
-    match sth#fetch1 () with
-       [ `String canonical_hostname;
-         `Bool edit_anon; `Bool create_account_anon;
-         (`String _ | `Null) as theme_css;
-         (`String _ | `Null) as feedback_email;
-         `Bool mailing_list; `Bool search_box; `Bool navigation;
-         `Bool view_anon;
-         `String brand; `String brand_tagline; `String brand_description ] ->
-         let theme_css =
-           match theme_css with `String s -> s | `Null -> "" in
-         let feedback_email =
-           match feedback_email with `String s -> s | `Null -> "" in
-         canonical_hostname, edit_anon, create_account_anon, theme_css,
-         feedback_email, mailing_list, search_box, navigation, view_anon,
-         brand, brand_tagline, brand_description
-      | _ -> assert false in
+    match rows with
+    | [canonical_hostname, edit_anon, create_account_anon, theme_css,
+       feedback_email, mailing_list, search_box, navigation, view_anon,
+       brand, brand_tagline, brand_description] ->
+       let theme_css =
+         match theme_css with Some s -> s | None -> "" in
+       let feedback_email =
+         match feedback_email with Some s -> s | None -> "" in
+       let brand =
+         match brand with Some s -> s | None -> "" in
+       let brand_tagline =
+         match brand_tagline with Some s -> s | None -> "" in
+       let brand_description =
+         match brand_description with Some s -> s | None -> "" in
+       canonical_hostname, edit_anon, create_account_anon, theme_css,
+       feedback_email, mailing_list, search_box, navigation, view_anon,
+       brand, brand_tagline, brand_description
+    | _ -> assert false in
 
   template#set "canonical_hostname" canonical_hostname;
   template#conditional "edit_anon" edit_anon;