On recent changes / history pages, makes the left hand (date) column a
[cocanwiki.git] / scripts / lib / cocanwiki.ml
index 4f21cc0..38480ba 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: cocanwiki.ml,v 1.3 2004/11/01 12:57:53 rich Exp $
+ * $Id: cocanwiki.ml,v 1.4 2004/11/10 16:52:04 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
@@ -104,7 +104,13 @@ let register_script ?(restrict = []) ?(anonymous = true) run =
        *)
        let hostid, hostname, canonical_hostname, edit_anon, view_anon =
         let hostname = try Request.hostname r
-        with Not_found -> failwith "No ``Host:'' header in request" in
+        with Not_found ->
+          error ~back_button:true
+            ~title:"Browser problem" q
+            ("Your browser didn't send a \"Host\" header as part of " ^
+             "the HTTP request.  Unfortunately this web server cannot " ^
+             "handle HTTP requests without a \"Host\" header.");
+          return () in
         let hostname = String.lowercase hostname in
 
         let sth =
@@ -122,8 +128,13 @@ let register_script ?(restrict = []) ?(anonymous = true) run =
              | _ -> assert false)
         with
             Not_found ->
-              failwith ("Hostname ``" ^ hostname ^ "'' not found in " ^
-                        "the hosts/hostnames tables in the database.") in
+              error ~back_button:true
+                ~title:"Unknown website" q
+                ("No website called \"" ^ hostname ^ "\" can be found.  " ^
+                 "If you are the administrator of this site, check that " ^
+                 "the hostname is listed in the \"hostnames\" table " ^
+                 "in the database.");
+              return () in
 
        (* Create the host object. *)
        let host = { hostname = hostname;