Change subject line so it shows the name of the site.
[cocanwiki.git] / scripts / sitemap_xml.ml
index 1df01b5..d51a934 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: sitemap_xml.ml,v 1.1 2005/11/23 11:32:37 rich Exp $
+ * $Id: sitemap_xml.ml,v 1.3 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
@@ -33,29 +33,27 @@ open Cocanwiki_strings
  * https://www.google.com/webmasters/sitemaps/docs/en_GB/protocol.html
  *)
 
-let run r (q : cgi) (dbh : Dbi.connection) hostid { hostname = hostname } _ =
+let run r (q : cgi) dbh hostid { hostname = hostname } _ =
   let template = get_template dbh hostid "sitemap.xml" in
 
   (* Pull out all the current pages. *)
-  let sth = dbh#prepare_cached "select p.url, p.url = 'index',
-                                       p.last_modified_date
-                                  from pages p
-                                 where p.hostid = ? and p.url is not null
-                                   and p.redirect is null
-                                 order by 2 desc, 1" in
-  sth#execute [`Int hostid];
+  let rows = PGSQL(dbh)
+    "select p.url, p.url = 'index', p.last_modified_date
+       from pages p
+      where p.hostid = $hostid and p.url is not null
+        and p.redirect is null
+      order by 2 desc, 1" in
 
   let table =
-    sth#map
-      (function [`String url; `Bool is_index;
-                `Timestamp last_modified_date] ->
+    List.map
+      (function (Some url, Some is_index, last_modified_date) ->
         let url = if is_index then "" else url in
         let last_modified_date = iso_8601_date_time last_modified_date in
         let priority = if is_index then "1.0" else "0.5" in
         [ "url", Template.VarString url;
           "last_modified_date", Template.VarString last_modified_date;
           "priority", Template.VarString priority ]
-        | xs -> failwith (Dbi.sdebug xs)) in
+        | _ -> assert false) rows in
 
   template#set "hostname" hostname;
   template#table "sitemap" table;