(* COCANWIKI - a wiki written in Objective CAML.
* Written by Richard W.M. Jones <rich@merjis.com>.
* Copyright (C) 2004 Merjis Ltd.
- * $Id: cocanwiki.ml,v 1.11 2004/09/23 11:56:47 rich Exp $
+ * $Id: cocanwiki.ml,v 1.12 2004/09/23 15:16:21 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
*)
let _get_dbh r = Pool.get r "cocanwiki"
-(* Server-wide settings.
- *
- * These are stored in a single row in the database in the table
- * 'server_settings'. You must restart the server if you change
- * this row.
- *
- * It's not possible to read these at server start-up time because the
- * Apache server is still running as 'root' and will not normally be
- * allowed to access the database. We thus read them at the earliest
- * opportunity, in a request context, and cache the results.
- *)
-let server_settings_version =
- let settings = ref None in
- let get_settings (dbh : Dbi.connection) =
- let sth = dbh#prepare "select version from server_settings" in
- sth#execute [];
- let s =
- match sth#fetch1 () with
- | [ `Int version ] -> version
- | _ -> assert false in
- sth#finish ();
- settings := Some s;
- s
- in
-
- let server_settings_version dbh =
- let (version) =
- match !settings with
- None -> get_settings dbh
- | Some settings -> settings in
- version
- in
-
- server_settings_version
-
(* The [CgiExit] exception should be folded back into the base
* mod_caml code at some point. It just causes the 'run' function to
* return at that point safely. (XXX)