(* COCANWIKI - a wiki written in Objective CAML.
* Written by Richard W.M. Jones <rich@merjis.com>.
* Copyright (C) 2004 Merjis Ltd.
- * $Id: stats.ml,v 1.1 2004/09/23 15:16:21 rich Exp $
+ * $Id: stats.ml,v 1.2 2004/10/07 16:54:24 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 Cgi
open Printf
+open GregorianDate
+
open Cocanwiki
open Cocanwiki_template
open Cocanwiki_server_settings
template#set "stats_page" stats_page;
- (* Get the current business week. Tricky - because GregorianDate isn't
- * around to help us, it's best to get the database to help us out.
- *
- * XXX This fails sometimes near New Year. Better to get GD into extlib
- * or this codebase.
- *)
- let sth =
- dbh#prepare_cached "select extract (year from current_date) :: int,
- extract (week from current_date) :: int" in
- sth#execute [];
+ (* Get the current business week. *)
let year, week =
- match sth#fetch1 () with
- [ `Int year; `Int week ] -> year, week
- | _ -> assert false in
+ let date =
+ let tm = Unix.gmtime (Unix.time ()) in
+ (tm.Unix.tm_year + 1900, tm.Unix.tm_mon + 1, tm.Unix.tm_mday)
+ in
+ fst (GregorianDate.business_of_standard date)
+ in
template#set "year" (string_of_int year);
template#set "week" (string_of_int week);