Add IE6- and IE7-specific stylesheets, only served to broken browsers.
authorrich <rich>
Wed, 6 Dec 2006 09:46:54 +0000 (09:46 +0000)
committerrich <rich>
Wed, 6 Dec 2006 09:46:54 +0000 (09:46 +0000)
129 files changed:
conf/cocanwiki.conf
schema/cocanwiki.sql
scripts/admin/create_host.ml
scripts/admin/edit_host_css.ml
scripts/admin/edit_hostnames.ml
scripts/broken_links.ml
scripts/change_password.ml
scripts/change_password_form.ml
scripts/contact.ml
scripts/contact_show.ml
scripts/contacts.ml
scripts/crash.ml
scripts/create_contact.ml
scripts/create_contact_form.ml
scripts/create_macro.ml
scripts/create_macro_form.ml
scripts/create_user.ml
scripts/create_user_form.ml
scripts/dead_ends.ml
scripts/delete_contact.ml
scripts/delete_contact_form.ml
scripts/delete_file.ml
scripts/delete_file_form.ml
scripts/delete_image.ml
scripts/delete_image_form.ml
scripts/delete_macro.ml
scripts/delete_macro_form.ml
scripts/delete_user.ml
scripts/delete_user_form.ml
scripts/diff.ml
scripts/edit.ml
scripts/edit_contact.ml
scripts/edit_contact_form.ml
scripts/edit_file.ml
scripts/edit_file_form.ml
scripts/edit_host_css.ml
scripts/edit_host_css_form.ml
scripts/edit_host_settings.ml
scripts/edit_host_settings_form.ml
scripts/edit_image.ml
scripts/edit_image_form.ml
scripts/edit_macro.ml
scripts/edit_macro_form.ml
scripts/edit_macros.ml
scripts/edit_page_css.ml
scripts/edit_page_css_form.ml
scripts/edit_sitemenu.ml
scripts/edit_user.ml
scripts/edit_user_form.ml
scripts/email_change.ml
scripts/files.ml
scripts/forgot_password.ml
scripts/forgot_password_form.ml
scripts/history.ml
scripts/history_rss.ml
scripts/host_menu.ml
scripts/hoststyle.ml
scripts/images.ml
scripts/invite_user.ml
scripts/invite_user_confirm.ml
scripts/invite_user_confirm_form.ml
scripts/invite_user_form.ml
scripts/largest_pages.ml
scripts/lib/cocanwiki.ml
scripts/lib/cocanwiki_ok.ml
scripts/lib/cocanwiki_template.ml
scripts/lib/cocanwiki_template.mli
scripts/links.ml
scripts/login.ml
scripts/login_form.ml
scripts/logout.ml
scripts/mail_import.ml
scripts/mail_import_form.ml
scripts/mail_rebuild.ml
scripts/mailing_list_confirm.ml
scripts/mailing_list_form.ml
scripts/mailing_list_send.ml
scripts/mailing_list_unsubscribe.ml
scripts/mailing_list_view.ml
scripts/new_page_form.ml
scripts/orphans.ml
scripts/page.ml
scripts/page_email_confirm.ml
scripts/page_email_form.ml
scripts/page_email_send.ml
scripts/page_email_unsubscribe.ml
scripts/page_rss.ml
scripts/recent.ml
scripts/recent_rss.ml
scripts/recently_visited.ml
scripts/rename_page.ml
scripts/rename_page_form.ml
scripts/restore.ml
scripts/restore_form.ml
scripts/search.ml
scripts/send_feedback.ml
scripts/send_feedback_form.ml
scripts/set_password.ml
scripts/set_password_form.ml
scripts/signup.ml
scripts/sitemap.ml
scripts/sitemap_rss.ml
scripts/sitemap_xml.ml
scripts/source.ml
scripts/stats.ml
scripts/stats_top.ml
scripts/tarpit_form.ml
scripts/undelete_file.ml
scripts/undelete_file_form.ml
scripts/undelete_image.ml
scripts/undelete_image_form.ml
scripts/upload_file.ml
scripts/upload_file_form.ml
scripts/upload_image.ml
scripts/upload_image_form.ml
scripts/user_prefs.ml
scripts/user_prefs_form.ml
scripts/users.ml
scripts/what_links_here.ml
templates/edit_host_css_form.html
templates/forgot_password_form.html
templates/host_menu.html
templates/login_form.html
templates/page_404_header.html
templates/page_email_form.html
templates/page_header.html
templates/search.html
templates/send_feedback_form.html
templates/sitemap.html

index 578e854..290a2db 100644 (file)
@@ -1,5 +1,5 @@
 # Apache configuration for COCANWIKI.
-# $Id: cocanwiki.conf,v 1.24 2006/09/22 10:50:37 rich Exp $
+# $Id: cocanwiki.conf,v 1.25 2006/12/06 09:46:54 rich Exp $
 
 # Uncomment the following lines if necessary.  You will probably need
 # to adjust the paths to reflect where cocanwiki is really installed.
@@ -58,6 +58,8 @@ RewriteRule ^/_contact$ /_bin/contact.cmo [PT,L,QSA]
 RewriteRule ^/_email_change$ /_bin/email_change.cmo [PT,L,QSA]
 RewriteRule ^/_files$ /_bin/files.cmo [PT,L,QSA]
 RewriteRule ^/_global.css$ /_bin/hoststyle.cmo [PT,L,QSA]
+RewriteRule ^/_ie6_fixes.css$ /_bin/hoststyle.cmo?css=ie6_fixes [PT,L,QSA]
+RewriteRule ^/_ie7_fixes.css$ /_bin/hoststyle.cmo?css=ie7_fixes [PT,L,QSA]
 RewriteRule ^/_images$ /_bin/images.cmo [PT,L,QSA]
 RewriteRule ^/_invite$ /_bin/invite_user_confirm_form.cmo [PT,L,QSA]
 RewriteRule ^/_links$ /_bin/links.cmo [PT,L,QSA]
index b1f8e3e..03c4f41 100644 (file)
@@ -1162,7 +1162,9 @@ CREATE TABLE hosts (
     brand_description text,
     pagebug text,
     ie_imagetoolbar_no boolean DEFAULT false NOT NULL,
-    global_noodp boolean DEFAULT false NOT NULL
+    global_noodp boolean DEFAULT false NOT NULL,
+    ie6_fixes_css text,
+    ie7_fixes_css text
 );
 
 
index 5c08e0a..36fcbf4 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: create_host.ml,v 1.13 2006/08/16 15:27:02 rich Exp $
+ * $Id: create_host.ml,v 1.14 2006/12/06 09:46:57 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
@@ -46,7 +46,7 @@ let run r =
   let title = trim title in
   if title = "" then (
     Cocanwiki_ok.error ~back_button:true ~title:"Bad title"
-      dbh (-1l) q "You must give a title for this Wiki.";
+      dbh (-1l) q "You must give a title for this Wiki.";
   ) else (
     (* In theory we could verify characters in hostnames.  However
      * it's probably best to assume the sysadmin knows what they're up to
@@ -83,7 +83,7 @@ let run r =
     ] in
 
     Cocanwiki_ok.ok ~title:"Wiki created" ~buttons
-      dbh (-1l) q "A new Wiki was created."
+      dbh (-1l) q "A new Wiki was created."
   )
 
 let () =
index afb9ce5..7e41534 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_css.ml,v 1.9 2006/03/28 16:24:08 rich Exp $
+ * $Id: edit_host_css.ml,v 1.10 2006/12/06 09:46:57 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
@@ -54,7 +54,7 @@ let run r (q : cgi) dbh _ _ _ =
   ] in
 
   ok ~title:"Stylesheet changed" ~buttons
-    dbh (-1l) q
+    dbh (-1l) q
     ("The stylesheet was changed successfully.  " ^
      "Note: You must RELOAD the page to see changes to stylesheets.")
 
index 604649c..32c5936 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_hostnames.ml,v 1.12 2006/08/16 15:27:02 rich Exp $
+ * $Id: edit_hostnames.ml,v 1.13 2006/12/06 09:46:57 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
@@ -82,7 +82,7 @@ let run r (q : cgi) dbh _ host' _ =
   ] in
 
   ok ~title:"Saved" ~buttons
-    dbh (-1l) q "Hostnames updated."
+    dbh (-1l) q "Hostnames updated."
 
 let () =
   register_script run
index a736fbc..17edcfa 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: broken_links.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: broken_links.ml,v 1.3 2006/12/06 09:46:56 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
@@ -30,7 +30,7 @@ open Cocanwiki_template
 let keys h = Hashtbl.fold (fun key _ xs -> key :: xs) h []
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "broken_links.html" in
+  let template = get_template dbh hostid "broken_links.html" in
 
   (* The links table (to_url) field can now point to a non-existant
    * page.  It's from this observation that we are able to retrieve
index 06e44be..fe2b8ba 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: change_password.ml,v 1.5 2006/03/27 18:09:46 rich Exp $
+ * $Id: change_password.ml,v 1.6 2006/12/06 09:46:56 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
@@ -49,7 +49,7 @@ let run r (q : cgi) dbh hostid _ user =
   if not old_password_ok then (
     error ~title:"Bad password"
       ~back_button:true
-      dbh hostid q "The password you gave is wrong.";
+      dbh hostid q "The password you gave is wrong.";
     return ()
   );
 
@@ -58,13 +58,13 @@ let run r (q : cgi) dbh hostid _ user =
 
   if password1 = "" || password2 = "" then (
     error ~back_button:true ~title:"Bad password"
-      dbh hostid q "The password you gave is empty.";
+      dbh hostid q "The password you gave is empty.";
     return ()
   );
 
   if password1 <> password2 then (
     error ~back_button:true ~title:"Passwords don't match"
-      dbh hostid q "The two passwords you gave aren't identical.";
+      dbh hostid q "The two passwords you gave aren't identical.";
     return ()
   );
 
@@ -79,7 +79,7 @@ let run r (q : cgi) dbh hostid _ user =
 
   let buttons = [ ok_button "/" ] in
   ok ~buttons ~title:"Password changed"
-    dbh hostid q "The password was changed."
+    dbh hostid q "The password was changed."
 
 let () =
   register_script ~anonymous:false run
index 85fd414..7eddf8c 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: change_password_form.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: change_password_form.ml,v 1.3 2006/12/06 09:46:56 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "change_password_form.html" in
+  let template = get_template dbh hostid "change_password_form.html" in
 
   q#template template
 
index 6666b15..ba468af 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: contact.ml,v 1.13 2006/07/31 09:49:42 rich Exp $
+ * $Id: contact.ml,v 1.14 2006/12/06 09:46:56 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,11 +33,12 @@ open Cocanwiki_ok
 let subj_rex = Pcre.regexp "\\$\\w+"
 
 let run r (q : cgi) dbh hostid {hostname = hostname} user =
-  let template = get_template dbh hostid "contact.txt" in
+  let template = get_template dbh hostid "contact.txt" in
 
   let fail msg =
     error ~back_button:true ~title:"Bad form"
-      dbh hostid q (msg ^ "  Please contact the owner of the site by email.");
+      r dbh hostid q
+      (msg ^ "  Please contact the owner of the site by email.");
     return ()
   in
 
@@ -168,7 +169,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
 
   (* Confirm. *)
   ok ~title:"Thank you for your contact" ~buttons:[ok_button "/"]
-    dbh hostid q "An email was sent and you should receive a reply shortly."
+    dbh hostid q "An email was sent and you should receive a reply shortly."
 
 let () =
   register_script ~restrict:[CanView] run
index 69e49aa..ba13bb8 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: contact_show.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: contact_show.ml,v 1.3 2006/12/06 09:46:56 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "contact_show.html" in
+  let template = get_template dbh hostid "contact_show.html" in
 
   let id = Int32.of_string (q#param "id") in
   template#set "id" (Int32.to_string id);
index 5a0762c..1b572a1 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: contacts.ml,v 1.3 2006/03/27 18:09:46 rich Exp $
+ * $Id: contacts.ml,v 1.4 2006/12/06 09:46:56 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "contacts.html" in
+  let template = get_template dbh hostid "contacts.html" in
 
   (* Pull out all the contacts from the database. *)
   let rows = PGSQL(dbh)
index d5aa886..25a7dec 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: crash.ml,v 1.6 2006/07/31 09:49:42 rich Exp $
+ * $Id: crash.ml,v 1.7 2006/12/06 09:46:56 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
@@ -32,7 +32,7 @@ open Cocanwiki_server_settings
 
 let run r (q : cgi) dbh hostid
     { canonical_hostname = canonical_hostname } _ =
-  let template = get_template dbh hostid "crash.html" in
+  let template = get_template dbh hostid "crash.html" in
   let crash_email = server_settings_crash_email dbh in
 
   (* Get the current time and write it into the logs. *)
index 0ec61db..eb87cea 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: create_contact.ml,v 1.6 2006/03/27 18:09:46 rich Exp $
+ * $Id: create_contact.ml,v 1.7 2006/12/06 09:46:56 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
@@ -41,20 +41,20 @@ let run r (q : cgi) dbh hostid _ _ =
 
   if name = "" then (
     error ~back_button:true ~title:"Name field missing"
-      dbh hostid q "You must name your contact form.";
+      dbh hostid q "You must name your contact form.";
     return ()
   );
 
   if subject = "" then (
     error ~back_button:true ~title:"Subject line missing"
-      dbh hostid q
+      dbh hostid q
       "You must give a subject line, which appears on contact emails.";
     return ()
   );
 
   if emails = [] then (
     error ~back_button:true ~title:"No email addresses"
-      dbh hostid q
+      dbh hostid q
       ("There are no email addresses listed for this contact form.  You " ^
        "must list at least one valid email address.");
     return ()
@@ -82,7 +82,7 @@ let run r (q : cgi) dbh hostid _ _ =
                    Template.StdPages.method_ = None;
                    Template.StdPages.params =
                      [ "id", Int32.to_string contactid ] } ] in
-  ok ~title:"Contact form created" ~buttons dbh hostid q msg
+  ok ~title:"Contact form created" ~buttons dbh hostid q msg
 
 let () =
   register_script ~restrict:[CanManageContacts] run
index c7fdb7b..0d27585 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: create_contact_form.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: create_contact_form.ml,v 1.3 2006/12/06 09:46:56 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "create_contact_form.html" in
+  let template = get_template dbh hostid "create_contact_form.html" in
 
   q#template template
 
index 96fed62..b6f65c4 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: create_macro.ml,v 1.1 2006/07/26 16:26:43 rich Exp $
+ * $Id: create_macro.ml,v 1.2 2006/12/06 09:46:56 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
@@ -36,13 +36,13 @@ let run r (q : cgi) dbh hostid _ _ =
 
   if name = "" then (
     error ~back_button:true ~title:"Name field missing"
-      dbh hostid q "You must name your macro.";
+      dbh hostid q "You must name your macro.";
     return ()
   );
 
   if not (Pcre.pmatch ~rex:name_re name) then (
     error ~back_button:true ~title:"Name field invalid"
-      dbh hostid q "Name field can only contain letters and numbers.";
+      dbh hostid q "Name field can only contain letters and numbers.";
     return ()
   );
 
@@ -56,7 +56,7 @@ let run r (q : cgi) dbh hostid _ _ =
   PGOCaml.commit dbh;
 
   let buttons = [ ok_button "/_bin/edit_macros.cmo" ] in
-  ok ~title:"Macro created" ~buttons dbh hostid q
+  ok ~title:"Macro created" ~buttons dbh hostid q
     "That macro was created."
 
 let () =
index 9346c81..fc101f9 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: create_macro_form.ml,v 1.1 2006/07/26 16:26:43 rich Exp $
+ * $Id: create_macro_form.ml,v 1.2 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "create_macro_form.html" in
+  let template = get_template dbh hostid "create_macro_form.html" in
 
   q#template template
 
index 8cad0de..a0ff510 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: create_user.ml,v 1.8 2006/07/26 16:34:18 rich Exp $
+ * $Id: create_user.ml,v 1.9 2006/12/06 09:46:57 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
@@ -35,13 +35,13 @@ let run r (q : cgi) dbh hostid _ _ =
 
   if username = "" || password1 = "" || password2 = "" then (
     error ~back_button:true ~title:"Bad username or password"
-      dbh hostid q "The username or password you gave is empty.";
+      dbh hostid q "The username or password you gave is empty.";
     return ()
   );
 
   if password1 <> password2 then (
     error ~back_button:true ~title:"Passwords don't match"
-      dbh hostid q "The two passwords you gave aren't identical.";
+      dbh hostid q "The two passwords you gave aren't identical.";
     return ()
   );
 
@@ -49,7 +49,8 @@ let run r (q : cgi) dbh hostid _ _ =
 
   if UTF8.length username > 32 || UTF8.length password > 128 then (
     error ~back_button:true ~title:"Username or password too long"
-      dbh hostid q "Usernames should be less than 32 characters long.  For passwords we let you have a generous 128 characters.";
+      r dbh hostid q
+      "Usernames should be less than 32 characters long.  For passwords we let you have a generous 128 characters.";
     return ()
   );
 
@@ -60,7 +61,7 @@ let run r (q : cgi) dbh hostid _ _ =
   (match rows with
    | [_] ->
        error ~back_button:true ~title:"Username already taken"
-        dbh hostid q "Someone has already taken that username.";
+        dbh hostid q "Someone has already taken that username.";
        return ()
    | [] -> ()
    | _ -> assert false
@@ -94,7 +95,7 @@ let run r (q : cgi) dbh hostid _ _ =
   let buttons = [ ok_button "/_users" ] in
 
   ok ~title:"Account created" ~buttons
-    dbh hostid q ("An account was created for " ^ username ^ ".")
+    dbh hostid q ("An account was created for " ^ username ^ ".")
 
 let () =
   register_script ~restrict:[CanManageUsers] run
index 8a43809..75d2174 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: create_user_form.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: create_user_form.ml,v 1.3 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "create_user_form.html" in
+  let template = get_template dbh hostid "create_user_form.html" in
 
   q#template template
 
index c72f56c..08afefc 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: dead_ends.ml,v 1.3 2006/03/27 18:09:46 rich Exp $
+ * $Id: dead_ends.ml,v 1.4 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "dead_ends.html" in
+  let template = get_template dbh hostid "dead_ends.html" in
 
   let rows =
     PGSQL(dbh)
index 12bada0..0e211a9 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: delete_contact.ml,v 1.6 2006/07/26 13:12:10 rich Exp $
+ * $Id: delete_contact.ml,v 1.7 2006/12/06 09:46:57 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
@@ -53,7 +53,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
   PGOCaml.commit dbh;
 
   ok ~title:"Contact form(s) deleted" ~buttons:[ok_button "/_bin/contacts.cmo"]
-    dbh hostid q "Those contact form(s) were deleted."
+    dbh hostid q "Those contact form(s) were deleted."
 
 let () =
   register_script ~restrict:[CanManageContacts] run
index 91b7f3b..44db5f0 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: delete_contact_form.ml,v 1.4 2006/07/26 13:12:10 rich Exp $
+ * $Id: delete_contact_form.ml,v 1.5 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid { hostname = hostname } _ =
-  let template = get_template dbh hostid "delete_contact_form.html" in
+  let template = get_template dbh hostid "delete_contact_form.html" in
 
   (* We can delete multiple contact forms from this script, which is
    * quite unusual.
index 4e37289..baae7f2 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: delete_file.ml,v 1.10 2006/03/27 18:09:46 rich Exp $
+ * $Id: delete_file.ml,v 1.11 2006/12/06 09:46:57 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
@@ -56,7 +56,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
     (* Done. *)
     let buttons = [ ok_button "/_files" ] in
     ok ~title:"File deleted" ~buttons
-      dbh hostid q "File was deleted successfully."
+      dbh hostid q "File was deleted successfully."
   ) else
     q#redirect ("http://" ^ hostname ^ "/_files")
 
index bc1e00e..f9661dc 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: delete_file_form.ml,v 1.8 2006/03/27 18:09:46 rich Exp $
+ * $Id: delete_file_form.ml,v 1.9 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "delete_file_form.html" in
+  let template = get_template dbh hostid "delete_file_form.html" in
 
   let id = Int32.of_string (q#param "id") in
 
index 04cc50a..526ed8c 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: delete_image.ml,v 1.10 2006/03/27 18:09:46 rich Exp $
+ * $Id: delete_image.ml,v 1.11 2006/12/06 09:46:57 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
@@ -60,7 +60,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
     (* Done. *)
     let buttons = [ ok_button "/_images" ] in
     ok ~title:"Image deleted" ~buttons
-      dbh hostid q "Image was deleted successfully."
+      dbh hostid q "Image was deleted successfully."
   ) else
     q#redirect ("http://" ^ hostname ^ "/_images")
 
index 955b46a..4d42ac2 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: delete_image_form.ml,v 1.8 2006/03/27 18:09:46 rich Exp $
+ * $Id: delete_image_form.ml,v 1.9 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "delete_image_form.html" in
+  let template = get_template dbh hostid "delete_image_form.html" in
 
   let id = Int32.of_string (q#param "id") in
 
index fc4a6cd..d76fe58 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: delete_macro.ml,v 1.1 2006/07/26 16:26:43 rich Exp $
+ * $Id: delete_macro.ml,v 1.2 2006/12/06 09:46:57 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
@@ -46,7 +46,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
   PGOCaml.commit dbh;
 
   ok ~title:"Macro deleted" ~buttons:[ok_button "/_bin/edit_macros.cmo"]
-    dbh hostid q "That macro was deleted."
+    dbh hostid q "That macro was deleted."
 
 let () =
   register_script ~restrict:[CanEditMacros] run
index 609a23d..995cfb7 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: delete_macro_form.ml,v 1.1 2006/07/26 16:26:43 rich Exp $
+ * $Id: delete_macro_form.ml,v 1.2 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid { hostname = hostname } _ =
-  let template = get_template dbh hostid "delete_macro_form.html" in
+  let template = get_template dbh hostid "delete_macro_form.html" in
 
   (* We can delete multiple macros from this script, which is
    * quite unusual.
index ecdc44a..653e7ed 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: delete_user.ml,v 1.7 2006/07/26 13:12:10 rich Exp $
+ * $Id: delete_user.ml,v 1.8 2006/12/06 09:46:57 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
@@ -46,7 +46,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} self =
     match self with
       | User (id, _, _, _) when id = userid ->
          error ~back_button:true ~title:"Delete own account"
-           dbh hostid q "You cannot delete your own user account.";
+           dbh hostid q "You cannot delete your own user account.";
          return ()
       | _ -> () in
 
@@ -63,7 +63,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} self =
   PGOCaml.commit dbh;
 
   ok ~title:"Account deleted" ~buttons:[ok_button "/_users"]
-    dbh hostid q "That user account was deleted."
+    dbh hostid q "That user account was deleted."
 
 let () =
   register_script ~restrict:[CanManageUsers] run
index 8437488..7749947 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: delete_user_form.ml,v 1.5 2006/03/27 18:09:46 rich Exp $
+ * $Id: delete_user_form.ml,v 1.6 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_ok
 
 let run r (q : cgi) dbh hostid _ self =
-  let template = get_template dbh hostid "delete_user_form.html" in
+  let template = get_template dbh hostid "delete_user_form.html" in
 
   let userid = Int32.of_string (q#param "userid") in
   template#set "userid" (Int32.to_string userid);
@@ -39,7 +39,7 @@ let run r (q : cgi) dbh hostid _ self =
     match self with
       | User (id, _, _, _) when id = userid ->
          error ~back_button:true ~title:"Delete own account"
-           dbh hostid q "You cannot delete your own user account.";
+           dbh hostid q "You cannot delete your own user account.";
          return ()
       | _ -> () in
 
index fb576c5..fa93674 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: diff.ml,v 1.10 2006/03/27 18:09:46 rich Exp $
+ * $Id: diff.ml,v 1.11 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_diff
 
 let run r (q : cgi) dbh hostid _ user =
-  let template = get_template dbh hostid "diff.html" in
+  let template = get_template dbh hostid "diff.html" in
 
   let page = q#param "page" in
   let page = if page = "" then "index" else page in
index 9cdcc93..a3d50a4 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.ml,v 1.37 2006/08/17 09:11:31 rich Exp $
+ * $Id: edit.ml,v 1.38 2006/12/06 09:46:57 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
@@ -35,9 +35,9 @@ open Cocanwiki_strings
 open Cocanwiki_pages
 
 let run r (q : cgi) dbh hostid {hostname = hostname} user =
-  let template = get_template dbh hostid "edit.html" in
-  let template_conflict = get_template dbh hostid "edit_conflict.html" in
-  let template_email = get_template dbh hostid "edit_page_email.txt" in
+  let template = get_template dbh hostid "edit.html" in
+  let template_conflict = get_template dbh hostid "edit_conflict.html" in
+  let template_email = get_template dbh hostid "edit_page_email.txt" in
 
   (* Workaround bugs in IE, specifically lack of support for <button>
    * elements.
@@ -340,7 +340,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
             q#redirect ("http://" ^ hostname ^ "/" ^ url)
         | Wikilib.GenURL_TooShort | Wikilib.GenURL_BadURL ->
             error ~back_button:true ~title:"Bad page name"
-              dbh hostid q
+              dbh hostid q
               "The page name supplied is too short or invalid.";
             return ()
     );
@@ -424,8 +424,9 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
        with
            SaveURLError ->
              error ~back_button:true ~title:"Page exists"
-               dbh hostid q ("While you were editing that page, it looks " ^
-                             "like another user created the same page.");
+               r dbh hostid q
+               ("While you were editing that page, it looks " ^
+                  "like another user created the same page.");
              return ()
 
          | SaveConflict (new_version, old_version, url, css) ->
index fa49661..44bbfd0 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_contact.ml,v 1.5 2006/03/27 18:09:46 rich Exp $
+ * $Id: edit_contact.ml,v 1.6 2006/12/06 09:46:57 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
@@ -44,20 +44,20 @@ let run r (q : cgi) dbh hostid _ _ =
 
   if name = "" then (
     error ~back_button:true ~title:"Name field missing"
-      dbh hostid q "You must name your contact form.";
+      dbh hostid q "You must name your contact form.";
     return ()
   );
 
   if subject = "" then (
     error ~back_button:true ~title:"Subject line missing"
-      dbh hostid q
+      dbh hostid q
       "You must give a subject line, which appears on contact emails.";
     return ()
   );
 
   if emails = [] then (
     error ~back_button:true ~title:"No email addresses"
-      dbh hostid q
+      dbh hostid q
       ("There are no email addresses listed for this contact form.  You " ^
        "must list at least one valid email address.");
     return ()
@@ -89,7 +89,7 @@ let run r (q : cgi) dbh hostid _ _ =
       Template.StdPages.method_ = None;
       Template.StdPages.params = [ "id", Int32.to_string id ] } ] in
   ok ~title:"Contact form edited" ~buttons
-    dbh hostid q "The contact form was edited."
+    dbh hostid q "The contact form was edited."
 
 let () =
   register_script ~restrict:[CanManageContacts] run
index 7c5c97b..f3ab178 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_contact_form.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: edit_contact_form.ml,v 1.3 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "edit_contact_form.html" in
+  let template = get_template dbh hostid "edit_contact_form.html" in
 
   let id = Int32.of_string (q#param "id") in
   template#set "id" (Int32.to_string id);
index 681430c..4851569 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_file.ml,v 1.4 2006/03/27 18:09:46 rich Exp $
+ * $Id: edit_file.ml,v 1.5 2006/12/06 09:46:57 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
@@ -53,7 +53,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
 
   let buttons = [ ok_button "/_files" ] in
   ok ~title:"Description fields updated" ~buttons
-    dbh hostid q "The description fields were updated."
+    dbh hostid q "The description fields were updated."
 
 let () =
   register_script ~restrict:[CanEdit] run
index 85605e2..7820b33 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_file_form.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: edit_file_form.ml,v 1.3 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_date
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "edit_file_form.html" in
+  let template = get_template dbh hostid "edit_file_form.html" in
 
   let id = Int32.of_string (q#param "id") in
 
index b322acb..bfbe99f 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_css.ml,v 1.6 2006/03/27 18:09:46 rich Exp $
+ * $Id: edit_host_css.ml,v 1.7 2006/12/06 09:46:57 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
@@ -28,15 +28,40 @@ open Cocanwiki
 open Cocanwiki_ok
 open Cocanwiki_strings
 
+type stylesheet = Global | Ie6_fixes | Ie7_fixes
+let string_of_stylesheet = function
+  | Global -> "global"
+  | Ie6_fixes -> "ie6_fixes"
+  | Ie7_fixes -> "ie7_fixes"
+let stylesheet_of_string = function
+  | "global" -> Global
+  | "ie6_fixes" -> Ie6_fixes
+  | "ie7_fixes" -> Ie7_fixes
+  | str -> failwith ("stylesheet_of_string: unknown stylesheet: " ^ str)
+
 let run r (q : cgi) dbh hostid _ _ =
-  let css = q#param "css" in
+  (* Which stylesheet to edit? *)
+  let css = if q#param_exists "css" then q#param "css" else "global" in
+  let css = stylesheet_of_string css in
 
-  let css = if string_is_whitespace css then None else Some css in
+  (* Get the updated content. *)
+  let content = q#param "content" in
+  let content = if string_is_whitespace content then None else Some content in
 
   (* XXX We should version the global stylesheet.  However this requires
    * some fairly non-trivial coding.
    *)
-  PGSQL(dbh) "update hosts set css = $?css where id = $hostid";
+  (match css with
+   | Global ->
+       PGSQL(dbh)
+        "update hosts set css = $?content where id = $hostid"
+   | Ie6_fixes ->
+       PGSQL(dbh)
+        "update hosts set ie6_fixes_css = $?content where id = $hostid"
+   | Ie7_fixes ->
+       PGSQL(dbh)
+        "update hosts set ie7_fixes_css = $?content where id = $hostid"
+  );
 
   PGOCaml.commit dbh;
 
@@ -45,11 +70,11 @@ let run r (q : cgi) dbh hostid _ _ =
     { Template.StdPages.label = "Edit stylesheet again";
       Template.StdPages.link = "/_bin/edit_host_css_form.cmo";
       Template.StdPages.method_ = None;
-      Template.StdPages.params = [] }
+      Template.StdPages.params = [ "css", string_of_stylesheet css ] }
   ] in
 
-  ok ~title:"Global stylesheet changed" ~buttons
-    dbh hostid q
+  ok ~title:"Stylesheet changed" ~buttons
+    dbh hostid q
     ("The stylesheet was changed successfully.  " ^
      "Note: You must RELOAD the page to see changes to stylesheets.")
 
index 66a3954..c9e68a8 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_css_form.ml,v 1.4 2006/03/27 18:09:46 rich Exp $
+ * $Id: edit_host_css_form.ml,v 1.5 2006/12/06 09:46:57 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,18 +27,39 @@ open Printf
 open Cocanwiki
 open Cocanwiki_template
 
+type stylesheet = Global | Ie6_fixes | Ie7_fixes
+let string_of_stylesheet = function
+  | Global -> "global"
+  | Ie6_fixes -> "ie6_fixes"
+  | Ie7_fixes -> "ie7_fixes"
+let stylesheet_of_string = function
+  | "global" -> Global
+  | "ie6_fixes" -> Ie6_fixes
+  | "ie7_fixes" -> Ie7_fixes
+  | str -> failwith ("stylesheet_of_string: unknown stylesheet: " ^ str)
+
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "edit_host_css_form.html" in
+  let template = get_template dbh hostid "edit_host_css_form.html" in
 
-  let rows = PGSQL(dbh) "select css from hosts where id = $hostid" in
+  (* Which stylesheet to edit? *)
+  let css = if q#param_exists "css" then q#param "css" else "global" in
+  let css = stylesheet_of_string css in
 
-  let css =
-    match rows with
-    | [ None ] -> ""
-    | [ Some css ] -> css
-    | _ -> assert false in
+  let content =
+    match css with
+    | Global ->
+       PGSQL(dbh) "select css from hosts where id = $hostid"
+    | Ie6_fixes ->
+       PGSQL(dbh) "select ie6_fixes_css from hosts where id = $hostid"
+    | Ie7_fixes ->
+       PGSQL(dbh) "select ie7_fixes_css from hosts where id = $hostid" in
+  let content =
+    match content with
+    | [Some c] -> c
+    | _ -> "" in
 
-  template#set "css" css;
+  template#set "css" (string_of_stylesheet css);
+  template#set "content" content;
 
   q#template template
 
index ce56463..27971ed 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.ml,v 1.13 2006/08/14 11:36:50 rich Exp $
+ * $Id: edit_host_settings.ml,v 1.14 2006/12/06 09:46:57 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
@@ -81,7 +81,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
   (* Finish off. *)
   ok ~title:"Global settings updated"
     ~buttons:[ok_button "/_bin/host_menu.cmo"]
-    dbh hostid q "The global settings were updated."
+    dbh hostid q "The global settings were updated."
 
 let () =
   register_script ~restrict:[CanManageSite] run
index 1cf7451..0e52c49 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.9 2006/08/14 11:36:50 rich Exp $
+ * $Id: edit_host_settings_form.ml,v 1.10 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "edit_host_settings_form.html" in
+  let template = get_template dbh hostid "edit_host_settings_form.html" in
 
   (* List of themes. *)
   let rows =
index 4ddd68b..4396269 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_image.ml,v 1.4 2006/03/27 18:09:46 rich Exp $
+ * $Id: edit_image.ml,v 1.5 2006/12/06 09:46:57 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
@@ -41,7 +41,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
   (* Check some ALT text was supplied. *)
   if string_is_whitespace alt then (
     error ~title:"Missing Alt text" ~back_button:true
-      dbh hostid q
+      dbh hostid q
       ("You must supply Alt text describing the image.  This is required " ^
        "by accessibility laws and to allow search engines to discover the " ^
        "content of images.");
@@ -71,7 +71,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
 
   let buttons = [ ok_button "/_images" ] in
   ok ~title:"Description fields updated" ~buttons
-    dbh hostid q "The description fields were updated."
+    dbh hostid q "The description fields were updated."
 
 let () =
   register_script ~restrict:[CanEdit] run
index ff83135..26572a1 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_image_form.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: edit_image_form.ml,v 1.3 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_date
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "edit_image_form.html" in
+  let template = get_template dbh hostid "edit_image_form.html" in
 
   let id = Int32.of_string (q#param "id") in
 
index 71ec1de..ec80e0d 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_macro.ml,v 1.1 2006/07/26 16:26:43 rich Exp $
+ * $Id: edit_macro.ml,v 1.2 2006/12/06 09:46:57 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
@@ -41,7 +41,7 @@ let run r (q : cgi) dbh hostid _ _ =
 
   let buttons = [ ok_button "/_bin/edit_macros.cmo" ] in
   ok ~title:"Macro edited" ~buttons
-    dbh hostid q "The macro was edited."
+    dbh hostid q "The macro was edited."
 
 let () =
   register_script ~restrict:[CanEditMacros] run
index 6a2f147..fa3b302 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_macro_form.ml,v 1.1 2006/07/26 16:26:43 rich Exp $
+ * $Id: edit_macro_form.ml,v 1.2 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "edit_macro_form.html" in
+  let template = get_template dbh hostid "edit_macro_form.html" in
 
   let name = q#param "name" in
 
index 0292323..6dfd456 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_macros.ml,v 1.1 2006/07/26 16:26:43 rich Exp $
+ * $Id: edit_macros.ml,v 1.2 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "edit_macros.html" in
+  let template = get_template dbh hostid "edit_macros.html" in
 
   (* Get a list of the macros for this host. *)
   let macros =
index ed9f2da..70be88e 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_page_css.ml,v 1.24 2006/08/17 09:11:31 rich Exp $
+ * $Id: edit_page_css.ml,v 1.25 2006/12/06 09:46:57 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,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
                    Template.StdPages.method_ = None;
                    Template.StdPages.params = [ "page", page ] } ] in
   ok ~title:"Stylesheet changed" ~buttons
-    dbh hostid q
+    dbh hostid q
     ("The stylesheet was changed successfully.  " ^
      "Note: You must RELOAD the page to see changes to stylesheets.")
 
index 25f317b..cb48f54 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_page_css_form.ml,v 1.8 2006/03/27 19:10:29 rich Exp $
+ * $Id: edit_page_css_form.ml,v 1.9 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "edit_page_css_form.html" in
+  let template = get_template dbh hostid "edit_page_css_form.html" in
 
   let page = q#param "page" in
 
index 6c7aebb..2ea706d 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_sitemenu.ml,v 1.12 2006/07/26 13:12:10 rich Exp $
+ * $Id: edit_sitemenu.ml,v 1.13 2006/12/06 09:46:57 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
@@ -39,7 +39,7 @@ open Cocanwiki_strings
 type model_t = (string * string) list  (* label, url *)
 
 let run r (q : cgi) dbh hostid { hostname = hostname } user=
-  let template = get_template dbh hostid "edit_sitemenu.html" in
+  let template = get_template dbh hostid "edit_sitemenu.html" in
 
   (* Workaround bugs in IE, specifically lack of support for <button>
    * elements.
@@ -270,7 +270,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
 
       let buttons = [ ok_button "/_bin/host_menu.cmo" ] in
       ok ~title:"Saved" ~buttons
-        dbh hostid q "The site menu was saved."
+        dbh hostid q "The site menu was saved."
     );
 
     no_errors
index 12eea7f..34ba7ce 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_user.ml,v 1.13 2006/07/26 16:34:18 rich Exp $
+ * $Id: edit_user.ml,v 1.14 2006/12/06 09:46:57 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
@@ -45,7 +45,7 @@ let run r (q : cgi) dbh hostid _ self =
   if original_name <> name then (
     if name = "" then (
       error ~back_button:true ~title:"Bad username"
-        dbh hostid q "The username you gave is empty.";
+        dbh hostid q "The username you gave is empty.";
       return ()
     );
 
@@ -56,7 +56,7 @@ let run r (q : cgi) dbh hostid _ self =
     (match rows with
      | [Some 1l] ->
         error ~back_button:true ~title:"Username already taken"
-          dbh hostid q
+          dbh hostid q
           ("That username has already been taken by another user.");
         return ()
      | _ -> ()
@@ -79,7 +79,7 @@ let run r (q : cgi) dbh hostid _ self =
   (match can_manage_users, self with
      | false, User (id, _, _, _) when id = userid ->
         error ~back_button:true ~title:"Remove manage users from self"
-          dbh hostid q
+          dbh hostid q
           ("You tried to remove 'Manage users' permission from yourself. " ^
            "You can't do this.  You'll have to do it from another " ^
            "user account.");
@@ -101,7 +101,7 @@ let run r (q : cgi) dbh hostid _ self =
 
   let buttons = [ ok_button "/_users" ] in
   ok ~buttons ~title:"Saved"
-    dbh hostid q "Changes were saved."
+    dbh hostid q "Changes were saved."
 
 let () =
   register_script ~restrict:[CanManageUsers] run
index f9695a5..ef3866f 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_user_form.ml,v 1.11 2006/07/26 16:34:18 rich Exp $
+ * $Id: edit_user_form.ml,v 1.12 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_date
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "edit_user_form.html" in
+  let template = get_template dbh hostid "edit_user_form.html" in
 
   let userid = Int32.of_string (q#param "userid") in
 
index 1d254a8..0dc1c9a 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: email_change.ml,v 1.4 2006/03/27 19:10:29 rich Exp $
+ * $Id: email_change.ml,v 1.5 2006/12/06 09:46:57 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
@@ -39,7 +39,7 @@ let run r (q : cgi) dbh hostid _ _ =
     | [ row ] -> row
     | [] ->
        error ~title:"Already verified"
-         dbh hostid q
+         dbh hostid q
          ("It looks like you have already verified this email address.");
        return ()
     | _ -> assert false in
@@ -51,7 +51,7 @@ let run r (q : cgi) dbh hostid _ _ =
   PGOCaml.commit dbh;
 
   ok ~title:"Email address verified"
-    dbh hostid q "Thank you for verifying your new email address."
+    dbh hostid q "Thank you for verifying your new email address."
 
 let () =
   register_script run
index 31900a2..c99d6df 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: files.ml,v 1.9 2006/03/27 19:10:29 rich Exp $
+ * $Id: files.ml,v 1.10 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "files.html" in
+  let template = get_template dbh hostid "files.html" in
 
   let deleted = q#param_true "deleted" in
   template#conditional "deleted" deleted;
index db14cae..10b0c46 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: forgot_password.ml,v 1.12 2006/08/18 10:16:35 rich Exp $
+ * $Id: forgot_password.ml,v 1.13 2006/12/06 09:46:57 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,7 +33,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
 
   if name = "" then (
     error ~back_button:true ~title:"No username or email address"
-      dbh hostid q "You didn't give a username or email address";
+      dbh hostid q "You didn't give a username or email address";
     return ()
   );
 
@@ -55,7 +55,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
        Unix.sleep 10;
 
        error ~back_button:true ~title:"Nothing known"
-         dbh hostid q
+         dbh hostid q
          "Sorry, don't know anyone with that name or email address.";
        return () in
 
@@ -82,7 +82,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
 
   let buttons = [ ok_button "/_login" ] in
   ok ~buttons ~title:"Password sent by email"
-    dbh hostid q
+    dbh hostid q
     ("Your password was sent by email.  If you don't receive the password " ^
      "within an hour, please notify the site's administrator.")
 
index fac7cf0..beae1c6 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: forgot_password_form.ml,v 1.5 2006/03/27 18:09:46 rich Exp $
+ * $Id: forgot_password_form.ml,v 1.6 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "forgot_password_form.html" in
+  let template = get_template dbh hostid "forgot_password_form.html" in
 
   q#template template
 
index 9560ba4..2afb82b 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: history.ml,v 1.11 2006/03/27 19:10:29 rich Exp $
+ * $Id: history.ml,v 1.12 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_date
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "history.html" in
+  let template = get_template dbh hostid "history.html" in
 
   let page = q#param "page" in
   let page = if page = "" then "index" else page in
index f6f2a32..d565764 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: history_rss.ml,v 1.4 2006/03/27 19:10:29 rich Exp $
+ * $Id: history_rss.ml,v 1.5 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_date
 
 let run r (q : cgi) dbh hostid {hostname = hostname} _ =
-  let template = get_template dbh hostid "history_rss.xml" in
+  let template = get_template dbh hostid "history_rss.xml" in
 
   let page = q#param "page" in
   let page = if page = "" then "index" else page in
index 736b4cd..3db4723 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: host_menu.ml,v 1.12 2006/08/14 11:36:50 rich Exp $
+ * $Id: host_menu.ml,v 1.13 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid host user =
-  let template = get_template dbh hostid "host_menu.html" in
+  let template = get_template dbh hostid "host_menu.html" in
 
   (* Get user's specific permissions. *)
   let can_manage_users = can_manage_users host user in
@@ -46,7 +46,10 @@ let run r (q : cgi) dbh hostid host user =
     (* Get lots of host-specific stuff from the database. *)
     let rows =
       PGSQL(dbh) "nullable-results"
-       "select h.canonical_hostname, h.css is not null, h.edit_anon,
+       "select h.canonical_hostname,
+                h.css is not null,
+                h.ie6_fixes_css is not null, h.ie7_fixes_css is not null,
+                h.edit_anon,
                 h.create_account_anon, h.theme_css is not null,
                 t.name, t.description, h.feedback_email, h.mailing_list,
                 h.search_box, h.navigation, h.view_anon,
@@ -56,13 +59,16 @@ let run r (q : cgi) dbh hostid host user =
            from hosts h left outer join themes t on h.theme_css = t.theme_css
           where h.id = $hostid" in
 
-    let canonical_hostname, has_global_css, edit_anon, create_account_anon,
+    let canonical_hostname, has_global_css,
+      has_ie6_fixes_css, has_ie7_fixes_css,
+      edit_anon, create_account_anon,
       has_theme_css, theme_name, theme_description, has_feedback_email,
       feedback_email, mailing_list, search_box, navigation, view_anon,
       has_brand, brand, brand_tagline, brand_description,
       ie_imagetoolbar_no, global_noodp =
       match rows with
        [ Some canonical_hostname, Some has_global_css,
+         Some has_ie6_fixes_css, Some has_ie7_fixes_css,
          Some edit_anon, Some create_account_anon, Some has_theme_css,
          theme_name, theme_description,
          feedback_email,
@@ -85,7 +91,9 @@ let run r (q : cgi) dbh hostid host user =
            match brand_tagline with None -> "" | Some s -> s in
          let brand_description =
            match brand_description with None -> "" | Some s -> s in
-         canonical_hostname, has_global_css, edit_anon, create_account_anon,
+         canonical_hostname, has_global_css,
+         has_ie6_fixes_css, has_ie7_fixes_css,
+         edit_anon, create_account_anon,
          has_theme_css, theme_name, theme_description, has_feedback_email,
          feedback_email, mailing_list, search_box, navigation, view_anon,
          has_brand, brand, brand_tagline, brand_description,
@@ -94,6 +102,8 @@ let run r (q : cgi) dbh hostid host user =
 
     template#set "canonical_hostname" canonical_hostname;
     template#conditional "has_global_css" has_global_css;
+    template#conditional "has_ie6_fixes_css" has_ie6_fixes_css;
+    template#conditional "has_ie7_fixes_css" has_ie7_fixes_css;
     template#conditional "edit_anon" edit_anon;
     template#conditional "create_account_anon" create_account_anon;
     template#conditional "has_theme_css" has_theme_css;
index c3a259c..32d92ec 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: hoststyle.ml,v 1.8 2006/03/27 19:10:29 rich Exp $
+ * $Id: hoststyle.ml,v 1.9 2006/12/06 09:46:57 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,13 +27,35 @@ open Printf
 open Cocanwiki
 open Cocanwiki_template
 
+type stylesheet = Global | Ie6_fixes | Ie7_fixes
+let string_of_stylesheet = function
+  | Global -> "global"
+  | Ie6_fixes -> "ie6_fixes"
+  | Ie7_fixes -> "ie7_fixes"
+let stylesheet_of_string = function
+  | "global" -> Global
+  | "ie6_fixes" -> Ie6_fixes
+  | "ie7_fixes" -> Ie7_fixes
+  | str -> failwith ("stylesheet_of_string: unknown stylesheet: " ^ str)
+
 let run r (q : cgi) dbh hostid _ _ =
-  (* Get the CSS. *)
-  let css = List.hd (PGSQL(dbh) "select css from hosts where id = $hostid") in
+  (* Which stylesheet to serve? *)
+  let css = if q#param_exists "css" then q#param "css" else "global" in
+  let css = stylesheet_of_string css in
+
+  (* Get the CSS itself. *)
+  let css =
+    match css with
+    | Global ->
+       PGSQL(dbh) "select css from hosts where id = $hostid"
+    | Ie6_fixes ->
+       PGSQL(dbh) "select ie6_fixes_css from hosts where id = $hostid"
+    | Ie7_fixes ->
+       PGSQL(dbh) "select ie7_fixes_css from hosts where id = $hostid" in
   let css =
     match css with
-    | None -> ""
-    | Some css -> css in
+    | [Some css] -> css
+    | _ -> "" in
 
   (* It's crucial, for speed of page delivery and rendering, to have
    * an expires header for CSS.  Even though this means that occasionally
index b11dafd..73dca4f 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: images.ml,v 1.10 2006/03/28 16:24:07 rich Exp $
+ * $Id: images.ml,v 1.11 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "images.html" in
+  let template = get_template dbh hostid "images.html" in
 
   let deleted = q#param_true "deleted" in
   template#conditional "deleted" deleted;
index f7ca741..aa9ba37 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: invite_user.ml,v 1.9 2006/07/31 09:49:43 rich Exp $
+ * $Id: invite_user.ml,v 1.10 2006/12/06 09:46:57 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
@@ -109,7 +109,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
 
   let buttons = [ ok_button "/_users" ] in
   ok ~buttons ~title:"Invitation emails sent"
-    dbh hostid q "We sent invitations emails to those address(es)."
+    dbh hostid q "We sent invitations emails to those address(es)."
 
 let () =
   register_script ~restrict:[CanManageUsers] ~anonymous:false run
index ad01874..b4cb9e7 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: invite_user_confirm.ml,v 1.8 2006/07/31 09:49:43 rich Exp $
+ * $Id: invite_user_confirm.ml,v 1.9 2006/12/06 09:46:57 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
@@ -46,7 +46,8 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
     | [ None, userid ] -> None, userid
     | [] ->
        error ~title:"Already signed up"
-          dbh hostid q "It looks like you have already used your invitation.";
+          r dbh hostid q
+         "It looks like you have already used your invitation.";
        return ()
     | _ -> assert false in
 
@@ -55,13 +56,13 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
 
   if password1 = "" || password2 = "" then (
     error ~back_button:true ~title:"Bad password"
-      dbh hostid q "The password you gave is empty.";
+      dbh hostid q "The password you gave is empty.";
     return ()
   );
 
   if password1 <> password2 then (
     error ~back_button:true ~title:"Passwords don't match"
-      dbh hostid q "The two passwords you gave aren't identical.";
+      dbh hostid q "The two passwords you gave aren't identical.";
     return ()
   );
 
index 9497adb..8a660bb 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: invite_user_confirm_form.ml,v 1.5 2006/03/28 13:20:00 rich Exp $
+ * $Id: invite_user_confirm_form.ml,v 1.6 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_ok
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "invite_user_confirm_form.html" in
+  let template = get_template dbh hostid "invite_user_confirm_form.html" in
 
   (* Get the invite ID. *)
   let invite = q#param "p" in
@@ -42,7 +42,7 @@ let run r (q : cgi) dbh hostid _ _ =
     | [username] -> username
     | [] ->
        error ~title:"Already signed up"
-         dbh hostid q
+         dbh hostid q
          ("It looks like you have already used your invitation.  If " ^
             "you cannot get to your account, please contact the " ^
             "administrator.");
index 45473ee..0a9cfad 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: invite_user_form.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: invite_user_form.ml,v 1.3 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "invite_user_form.html" in
+  let template = get_template dbh hostid "invite_user_form.html" in
 
   q#template template
 
index 161d12a..d9b54f8 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: largest_pages.ml,v 1.6 2006/03/28 16:24:07 rich Exp $
+ * $Id: largest_pages.ml,v 1.7 2006/12/06 09:46:57 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
@@ -32,7 +32,7 @@ let modem_speed = 56000 / 10          (* 56kbps modem. *)
 let overhead = 2 (* Number of seconds to open connection + render page. *)
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "largest_pages.html" in
+  let template = get_template dbh hostid "largest_pages.html" in
 
   (* Grab the pages from the database, ordered by size.
    * NB.  At the moment we count the size of the markup, which is only an
index 61fcc06..917e2d5 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.14 2006/08/16 15:27:02 rich Exp $
+ * $Id: cocanwiki.ml,v 1.15 2006/12/06 09:46:57 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
@@ -127,7 +127,7 @@ let register_script ?(restrict = []) ?(anonymous = true) run =
               try Request.hostname r
               with Not_found ->
                 error ~back_button:true
-                  ~title:"Browser problem" dbh (-1l) q
+                  ~title:"Browser problem" dbh (-1l) 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\" " ^
@@ -149,7 +149,7 @@ let register_script ?(restrict = []) ?(anonymous = true) run =
                 create_account_anon
             | [] ->
               error ~back_button:true
-                ~title:"Unknown website" dbh (-1l) q
+                ~title:"Unknown website" dbh (-1l) 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 " ^
@@ -270,7 +270,7 @@ let register_script ?(restrict = []) ?(anonymous = true) run =
             ) else
               error ~back_button:true
                 ~title:"Access denied"
-                dbh hostid q
+                dbh hostid q
                 "You do not have permission to access this part of the site."
           );
 
index 7415688..aa76f17 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_ok.ml,v 1.3 2005/11/24 14:54:15 rich Exp $
+ * $Id: cocanwiki_ok.ml,v 1.4 2006/12/06 09:46:57 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
@@ -30,16 +30,16 @@ open Cocanwiki_template
  * Also have some standard buttons around.
  *)
 let error ?cookie ?cookies ?title ?(icon = "/_graphics/error.png")
-    ?icon_alt ?back_button ?close_button dbh hostid q message =
-  let template = get_template dbh hostid "ok_error.html" in
+    ?icon_alt ?back_button ?close_button dbh hostid q message =
+  let template = get_template dbh hostid "ok_error.html" in
   (* Set the status so scripts can determine if the request failed. *)
   Request.set_status q#request cHTTP_BAD_REQUEST;
   Template.StdPages.error ?cookie ?cookies ~template
     ?title ~icon ?icon_alt ?back_button ?close_button q message
 
 let ok ?cookie ?cookies ?title ?(icon = "/_graphics/ok.png")
-    ?icon_alt ?back_button ?close_button ?buttons dbh hostid q message =
-  let template = get_template dbh hostid "ok_error.html" in
+    ?icon_alt ?back_button ?close_button ?buttons dbh hostid q message =
+  let template = get_template dbh hostid "ok_error.html" in
   Template.StdPages.ok ?cookie ?cookies ~template
     ?title ~icon ?icon_alt ?back_button ?close_button ?buttons q message
 
index 21b280f..8782f01 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_template.ml,v 1.11 2006/08/16 15:27:02 rich Exp $
+ * $Id: cocanwiki_template.ml,v 1.12 2006/12/06 09:46:57 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 Unix
 
+open ExtString
+
+open Apache
+
 open Cocanwiki_files
 open Cocanwiki_strings
 
@@ -55,6 +59,15 @@ let base =
 let { tm_year = year } = gmtime (time ())
 let year = year + 1900
 
+(* Sniff for MSIE of a particular version. *)
+let is_msie_version user_agent version =
+  try
+    let index = String.find user_agent "MSIE " in
+    let index = index + 5 in
+    String.length user_agent > index && user_agent.[index] = version
+  with
+    Invalid_string -> false
+
 (* Cache of precompiled templates, arranged by full path. *)
 let cache = Hashtbl.create 32
 
@@ -79,7 +92,7 @@ let _get_template filename =
        Hashtbl.replace cache path (template, mtime);
        template
 
-let get_template ?page dbh hostid filename =
+let get_template ?page dbh hostid filename =
   let template = _get_template filename in
 
   if hostid > 0l then (
@@ -87,13 +100,15 @@ let get_template ?page dbh hostid filename =
     let rows =
       PGSQL(dbh) "nullable-results"
        "select h.theme_css, h.css is not null,
+                h.ie6_fixes_css is not null, h.ie7_fixes_css is not null,
                 p.name, p.url, h.search_box,
                 h.brand, h.brand_tagline, h.brand_description,
                 h.pagebug, h.ie_imagetoolbar_no, h.global_noodp
            from hosts h left outer join powered_by p on h.powered_by = p.id
           where h.id = $hostid" in
 
-    let theme_css, has_host_css, powered_by_name, powered_by_url, search_box,
+    let theme_css, has_host_css, has_ie6_fixes_css, has_ie7_fixes_css,
+      powered_by_name, powered_by_url, search_box,
       brand, brand_tagline, brand_description, pagebug, ie_imagetoolbar_no,
       global_noodp =
       match rows with
@@ -110,6 +125,22 @@ let get_template ?page dbh hostid filename =
       | Some true -> true
       | _ -> false in
 
+    (* Send the IE6/7 fixes header only to browsers claiming to be MSIE.
+     * A browser such as Opera which claims to be MSIE will see the header
+     * but ignore it because it is surrounded by comment code to defend
+     * against browsers which aren't really MSIE.
+     *)
+    let ua = lazy (
+      try Table.get (Request.headers_in r) "User-Agent"
+      with Not_found -> ""
+    ) in
+
+    let has_ie6_fixes_css =
+      has_ie6_fixes_css = Some true && is_msie_version (Lazy.force ua) '6' in
+
+    let has_ie7_fixes_css =
+      has_ie7_fixes_css = Some true && is_msie_version (Lazy.force ua) '7' in
+
     let powered_by_name, powered_by_url =
       match powered_by_name, powered_by_url with
       | None, None ->
@@ -153,6 +184,8 @@ let get_template ?page dbh hostid filename =
 
     template#set "theme_css" theme_css;
     template#conditional "has_host_css" has_host_css;
+    template#conditional "has_ie6_fixes_css" has_ie6_fixes_css;
+    template#conditional "has_ie7_fixes_css" has_ie7_fixes_css;
     template#set "powered_by_name" powered_by_name;
     template#set "powered_by_url" powered_by_url;
     template#conditional "search_box" search_box;
@@ -198,6 +231,8 @@ let get_template ?page dbh hostid filename =
   else (* if we have no hostid *) (
     template#set "theme_css" "/_css/standard.css";
     template#conditional "has_host_css" false;
+    template#conditional "has_ie6_fixes_css" false;
+    template#conditional "has_ie7_fixes_css" false;
     template#set "powered_by_name" (Cocanwiki_version.package ^ " " ^
                                    Cocanwiki_version.version);
     template#set "powered_by_url" "http://sandbox.merjis.com/";
index cf8fdb3..dfe958d 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_template.mli,v 1.2 2006/03/27 16:43:44 rich Exp $
+ * $Id: cocanwiki_template.mli,v 1.3 2006/12/06 09:46:57 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
  * Boston, MA 02111-1307, USA.
  *)
 
+open Apache
+
 (** Get template from filename, with no host-specific substitutions. *)
 val _get_template : string -> Template.template
 
 (** Get template from filename, with host-specific substitutions.
   * The special ~page parameter is only used by [page.ml].
   *)
-val get_template : ?page:string -> PGOCaml.pa_pg_data PGOCaml.t -> int32 -> string -> Template.template
+val get_template : ?page:string -> Request.t -> PGOCaml.pa_pg_data PGOCaml.t -> int32 -> string -> Template.template
index 953ad42..7d238e2 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: links.ml,v 1.5 2006/03/28 16:24:07 rich Exp $
+ * $Id: links.ml,v 1.6 2006/12/06 09:46:57 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
@@ -35,7 +35,7 @@ open Cocanwiki_links
  * simple machine-parsable text file.
  *)
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "links.txt" in
+  let template = get_template dbh hostid "links.txt" in
 
   if q#param_exists "page" then (
     let page = q#param "page" in
index 1132798..a2c13df 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: login.ml,v 1.11 2006/03/28 16:24:07 rich Exp $
+ * $Id: login.ml,v 1.12 2006/12/06 09:46:57 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
@@ -45,7 +45,7 @@ let run r (q : cgi) dbh hostid _ _ =
        error
          ~title:"Bad name or password"
          ~back_button:true
-         dbh hostid q "The name or password was wrong.";
+         dbh hostid q "The name or password was wrong.";
        return ()
     | [ row ] -> row
     | _ -> assert false in
@@ -79,7 +79,7 @@ let run r (q : cgi) dbh hostid _ _ =
     ) else [ ok_button ] in
 
   ok ~title:"Logged in" ~buttons ~cookie
-    dbh hostid q
+    dbh hostid q
     ("Welcome " ^ username ^ "." ^
        if force_password_change then "  Please change your password now."
        else "")
index 9d2ed94..d25dc20 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: login_form.ml,v 1.8 2006/07/26 13:19:49 rich Exp $
+ * $Id: login_form.ml,v 1.9 2006/12/06 09:46:57 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
@@ -30,7 +30,7 @@ open Cocanwiki_strings
 
 let run r (q : cgi) dbh hostid
     { create_account_anon = create_account_anon } _ =
-  let template = get_template dbh hostid "login_form.html" in
+  let template = get_template dbh hostid "login_form.html" in
 
   let redirect = try q#param "redirect" with Not_found -> "" in
 
index 0ec1952..aad3bab 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: logout.ml,v 1.9 2006/03/28 16:24:07 rich Exp $
+ * $Id: logout.ml,v 1.10 2006/12/06 09:46:57 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
@@ -44,7 +44,7 @@ let run r (q : cgi) dbh hostid _ user =
   let cookie = Cookie.cookie "auth" "none" ~path:"/" ~expires in
 
   ok ~title:"Logged out" ~buttons:[ok_button "/"] ~cookie
-    dbh hostid q "You have been logged out."
+    dbh hostid q "You have been logged out."
 
 let () =
   register_script run
index 6f1d355..52e2db8 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: mail_import.ml,v 1.16 2006/08/17 09:11:31 rich Exp $
+ * $Id: mail_import.ml,v 1.17 2006/12/06 09:46:57 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
@@ -44,7 +44,7 @@ let comma_re = Pcre.regexp "\\s*,\\s*"
 let lines_re = Pcre.regexp "\\r?\\n"
 
 let run r (q : cgi) dbh hostid _ user =
-  let hdr_template = get_template dbh hostid "mail_import_header.txt" in
+  let hdr_template = get_template dbh hostid "mail_import_header.txt" in
 
   (* Overwrite old messages? *)
   let overwrite = q#param_true "overwrite" in
@@ -59,7 +59,7 @@ let run r (q : cgi) dbh hostid _ user =
     with
        Not_found ->
          error ~back_button:true ~title:"No message"
-           dbh hostid q "No message was uploaded.";
+           dbh hostid q "No message was uploaded.";
          return () in
 
   (* Parse the message. *)
@@ -86,7 +86,7 @@ let run r (q : cgi) dbh hostid _ user =
    *)
   if date = "" || inet_message_id = "" then (
     error ~back_button:true ~title:"Headers missing"
-      dbh hostid q
+      dbh hostid q
       "Date or Message-ID header missing.  Cannot handle this message. ";
     return ()
   );
@@ -155,7 +155,7 @@ let run r (q : cgi) dbh hostid _ user =
     | [id] ->
        if not overwrite then (
          ok ~title:"Message exists"
-            dbh hostid q "Message already imported";
+            dbh hostid q "Message already imported";
          return ()
        );
        Some id
@@ -362,7 +362,7 @@ let run r (q : cgi) dbh hostid _ user =
 
   (* Finish off. *)
   ok ~title:"Imported"
-    dbh hostid q ("Message " ^ inet_message_id ^ " was imported.")
+    dbh hostid q ("Message " ^ inet_message_id ^ " was imported.")
 
 let () =
   register_script ~restrict:[CanImportMail] run
index 88921d8..b54cf25 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: mail_import_form.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: mail_import_form.ml,v 1.3 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "mail_import_form.html" in
+  let template = get_template dbh hostid "mail_import_form.html" in
 
   q#template template
 
index 458c692..47681cb 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: mail_rebuild.ml,v 1.5 2006/07/27 16:46:55 rich Exp $
+ * $Id: mail_rebuild.ml,v 1.6 2006/12/06 09:46:57 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
@@ -39,7 +39,7 @@ let run r (q : cgi) dbh hostid _ user =
 
   (* Finish off. *)
   ok ~title:"Rebuilt"
-    dbh hostid q "Thread index rebuilt."
+    dbh hostid q "Thread index rebuilt."
 
 let () =
   register_script ~restrict:[CanImportMail] run
index e35c32b..1a4f64a 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: mailing_list_confirm.ml,v 1.7 2006/07/26 13:12:10 rich Exp $
+ * $Id: mailing_list_confirm.ml,v 1.8 2006/12/06 09:46:57 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
@@ -39,7 +39,7 @@ let run r (q : cgi) dbh hostid _ _ =
    | [_] -> ()
    | [] ->
        error ~close_button:true ~title:"Email already confirmed"
-        dbh hostid q
+        dbh hostid q
         "It looks like that email address has already been confirmed.";
        return ()
    | _ -> assert false);
@@ -53,8 +53,8 @@ let run r (q : cgi) dbh hostid _ _ =
   (* Confirmed. *)
   let buttons = [ ok_button "/" ] in
   ok ~buttons ~title:"Confirmed"
-    dbh hostid q ("Your email address has been confirmed.  " ^
-                 "You are now on our mailing list.")
+    dbh hostid q ("Your email address has been confirmed.  " ^
+                     "You are now on our mailing list.")
 
 let () =
   register_script ~restrict:[CanView] run
index 086ed38..7bdc18e 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: mailing_list_form.ml,v 1.3 2006/03/27 18:09:46 rich Exp $
+ * $Id: mailing_list_form.ml,v 1.4 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "mailing_list_form.html" in
+  let template = get_template dbh hostid "mailing_list_form.html" in
 
   q#template template
 
index 1ea0bae..592e3f3 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: mailing_list_send.ml,v 1.9 2006/07/31 09:49:43 rich Exp $
+ * $Id: mailing_list_send.ml,v 1.10 2006/12/06 09:46:57 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
@@ -30,14 +30,14 @@ open Cocanwiki_template
 open Cocanwiki_strings
 
 let run r (q : cgi) dbh hostid { hostname = hostname } _ =
-  let template = get_template dbh hostid "mailing_list_send.txt" in
+  let template = get_template dbh hostid "mailing_list_send.txt" in
 
   let email = trim (q#param "email") in
   let name = trim (q#param "name") in
 
   if email = "" then (
     error ~title:"No email address" ~back_button:true
-      dbh hostid q "You must give an email address.";
+      dbh hostid q "You must give an email address.";
     return ()
   );
 
@@ -55,7 +55,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
 
   if registered then (
     error ~title:"Email address already used" ~back_button:true
-      dbh hostid q
+      dbh hostid q
       ("That email address is already on our mailing list. "^
        "If you are not receiving mailing list messages, then you will " ^
        "need to confirm that address. If you continue to have problems " ^
@@ -95,7 +95,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
   (* Finish up. *)
   let buttons = [ ok_button "/" ] in
   ok ~buttons ~title:"Confirmation email sent"
-    dbh hostid q
+    dbh hostid q
     ("Please check your email now.  You have been sent a confirmation " ^
      "email so we can verify the email address is yours.  Click on the " ^
      "first link in that email to confirm.")
index 346a332..a890fd1 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: mailing_list_unsubscribe.ml,v 1.4 2006/03/28 13:20:00 rich Exp $
+ * $Id: mailing_list_unsubscribe.ml,v 1.5 2006/12/06 09:46:57 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
@@ -39,7 +39,7 @@ let run r (q : cgi) dbh hostid _ _ =
   (* Confirmed. *)
   let buttons = [ ok_button "/" ] in
   ok ~buttons ~title:"Unsubscribed"
-    dbh hostid q "Your email address has been unsubscribed."
+    dbh hostid q "Your email address has been unsubscribed."
 
 let () =
   register_script run
index f0cfc38..6ce6ddf 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: mailing_list_view.ml,v 1.4 2006/03/28 13:20:00 rich Exp $
+ * $Id: mailing_list_view.ml,v 1.5 2006/12/06 09:46:57 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
@@ -29,8 +29,8 @@ open Cocanwiki_template
 open Cocanwiki_date
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "mailing_list_view.html" in
-  let template_csv = get_template dbh hostid "mailing_list_view.txt" in
+  let template = get_template dbh hostid "mailing_list_view.html" in
+  let template_csv = get_template dbh hostid "mailing_list_view.txt" in
 
   (* CSV format? *)
   let csv = q#param_true "csv" in
index 6cff0ba..d8dd6e9 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: new_page_form.ml,v 1.2 2006/03/27 18:09:46 rich Exp $
+ * $Id: new_page_form.ml,v 1.3 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "new_page_form.html" in
+  let template = get_template dbh hostid "new_page_form.html" in
 
   q#template template
 
index 945d818..efaca52 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: orphans.ml,v 1.5 2006/03/28 16:24:07 rich Exp $
+ * $Id: orphans.ml,v 1.6 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "orphans.html" in
+  let template = get_template dbh hostid "orphans.html" in
 
   (* Start with the front page, the contents of the site menu and the
    * special "copyright" page.
index 2eaad4a..db74684 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: page.ml,v 1.58 2006/08/17 09:11:31 rich Exp $
+ * $Id: page.ml,v 1.59 2006/12/06 09:46:57 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
@@ -73,12 +73,12 @@ let run r (q : cgi) dbh hostid
    *)
 
   let template_page_header =
-    get_template ~page dbh hostid "page_header.html" in
-  let template_page = get_template ~page dbh hostid "page.html" in
+    get_template ~page dbh hostid "page_header.html" in
+  let template_page = get_template ~page dbh hostid "page.html" in
 
   (* This is the simpler template for 404 pages. *)
-  let template_404_header  = get_template dbh hostid "page_404_header.html" in
-  let template_404  = get_template dbh hostid "page_404.html" in
+  let template_404_header = get_template r dbh hostid "page_404_header.html" in
+  let template_404  = get_template dbh hostid "page_404.html" in
 
   (* Host-specific fields. *)
   let rows =
@@ -708,7 +708,7 @@ let run r (q : cgi) dbh hostid
   let rec loop page' i =
     if i > max_redirect then (
       error ~title:"Too many redirections" ~back_button:true
-        dbh hostid q
+        dbh hostid q
        ("Too many redirects between pages.  This may happen because " ^
         "of a cycle of redirections.");
       return ()
index d4fcb0c..bc6e148 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: page_email_confirm.ml,v 1.5 2006/03/28 16:24:07 rich Exp $
+ * $Id: page_email_confirm.ml,v 1.6 2006/12/06 09:46:57 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
@@ -39,7 +39,7 @@ let run r (q : cgi) dbh hostid _ _ =
     | [ row ] -> row
     | [] -> 
        error ~close_button:true ~title:"Email already confirmed"
-         dbh hostid q
+         dbh hostid q
          "It looks like that email address has already been confirmed.";
        return ()
     | _ -> assert false in
@@ -53,7 +53,7 @@ let run r (q : cgi) dbh hostid _ _ =
   (* Confirmed. *)
   let buttons = [ ok_button ("/" ^ page) ] in
   ok ~buttons ~title:"Confirmed"
-    dbh hostid q
+    dbh hostid q
     ("Your email address has been confirmed.  You will now receive " ^
      "an email whenever that page is updated.")
 
index f361135..517cea1 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: page_email_form.ml,v 1.4 2006/03/28 16:24:07 rich Exp $
+ * $Id: page_email_form.ml,v 1.5 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "page_email_form.html" in
+  let template = get_template dbh hostid "page_email_form.html" in
 
   let page = q#param "page" in
   template#set "page" page;
index 75e2745..ead1787 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: page_email_send.ml,v 1.7 2006/07/31 09:49:43 rich Exp $
+ * $Id: page_email_send.ml,v 1.8 2006/12/06 09:46:57 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
@@ -30,14 +30,14 @@ open Cocanwiki_template
 open Cocanwiki_strings
 
 let run r (q : cgi) dbh hostid { hostname = hostname } _ =
-  let template = get_template dbh hostid "page_email_send.txt" in
+  let template = get_template dbh hostid "page_email_send.txt" in
 
   let page = q#param "page" in
   let email = trim (q#param "email") in
 
   if email = "" then (
     error ~title:"No email address" ~back_button:true
-      dbh hostid q "You must give an email address.";
+      dbh hostid q "You must give an email address.";
     return ()
   );
 
@@ -59,7 +59,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
 
   if registered then (
     error ~title:"Email address already used" ~back_button:true
-      dbh hostid q
+      dbh hostid q
       ("That email address is already used for notifications from this page. "^
        "If you are not receiving updates for this page, then you will " ^
        "need to confirm that address. If you continue to have problems " ^
@@ -100,7 +100,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
   (* Finish up. *)
   let buttons = [ ok_button ("/" ^ page) ] in
   ok ~buttons ~title:"Confirmation email sent"
-    dbh hostid q
+    dbh hostid q
     ("Please check your email now.  You have been sent a confirmation " ^
      "email so we can verify the email address is yours.  Click on the " ^
      "first link in that email to confirm.")
index 0f75d86..57784e5 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: page_email_unsubscribe.ml,v 1.4 2006/03/28 16:24:08 rich Exp $
+ * $Id: page_email_unsubscribe.ml,v 1.5 2006/12/06 09:46:57 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
@@ -39,7 +39,7 @@ let run r (q : cgi) dbh hostid _ _ =
   (* Confirmed. *)
   let buttons = [ ok_button "/" ] in
   ok ~buttons ~title:"Unsubscribed"
-    dbh hostid q "Your email address has been unsubscribed."
+    dbh hostid q "Your email address has been unsubscribed."
 
 let () =
   register_script run
index a11103a..ffe334b 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: page_rss.ml,v 1.5 2006/07/27 16:46:55 rich Exp $
+ * $Id: page_rss.ml,v 1.6 2006/12/06 09:46:57 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
@@ -35,7 +35,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid {hostname = hostname} _ =
-  let template = get_template dbh hostid "page_rss.xml" in
+  let template = get_template dbh hostid "page_rss.xml" in
 
   let page = q#param "page" in
   let page = if page = "" then "index" else page in
index 2ff1e67..774d405 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: recent.ml,v 1.12 2006/03/28 16:24:08 rich Exp $
+ * $Id: recent.ml,v 1.13 2006/12/06 09:46:57 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,7 +33,7 @@ let default_limit = 100
 let max_limit = 1000
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "recent.html" in
+  let template = get_template dbh hostid "recent.html" in
 
   (* Count the number of changes. *)
   let count = Option.get (
index 5fe133e..f6753aa 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: recent_rss.ml,v 1.4 2006/03/28 16:24:08 rich Exp $
+ * $Id: recent_rss.ml,v 1.5 2006/12/06 09:46:57 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
@@ -31,7 +31,7 @@ open Cocanwiki_date
 let limit = 30_l
 
 let run r (q : cgi) dbh hostid {hostname = hostname} _ =
-  let template = get_template dbh hostid "recent_rss.xml" in
+  let template = get_template dbh hostid "recent_rss.xml" in
 
   template#set "hostname" hostname;
 
index 8522f6c..bd8da80 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: recently_visited.ml,v 1.5 2006/03/28 18:40:50 rich Exp $
+ * $Id: recently_visited.ml,v 1.6 2006/12/06 09:46:57 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
@@ -30,7 +30,7 @@ open Cocanwiki_template
 let limit = 50_l
 
 let run r (q : cgi) dbh hostid _ user =
-  let template = get_template dbh hostid "recently_visited.html" in
+  let template = get_template dbh hostid "recently_visited.html" in
 
   let userid =
     match user with
index d27e951..89accff 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: rename_page.ml,v 1.9 2006/08/14 11:36:50 rich Exp $
+ * $Id: rename_page.ml,v 1.10 2006/12/06 09:46:57 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
@@ -42,7 +42,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
   (* New title mustn't be empty string. *)
   if new_title = "" then (
     error ~back_button:true ~title:"Empty title not allowed"
-      dbh hostid q "The new title cannot be empty.";
+      dbh hostid q "The new title cannot be empty.";
     return ()
   );
 
@@ -60,7 +60,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
        | Wikilib.GenURL_OK url | Wikilib.GenURL_Duplicate url -> url
        | Wikilib.GenURL_TooShort | Wikilib.GenURL_BadURL ->
            error ~title:"Bad title" ~back_button:true
-             dbh hostid q
+             dbh hostid q
              ("The new title for the page isn't valid.  " ^
               "It may be too short or it may not contain " ^
               "enough alphabet letters.");
@@ -91,7 +91,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
     with
        SaveURLError ->
          error ~title:"Page exists"
-           dbh hostid q
+           dbh hostid q
            ("Another page with the same title exists.  " ^
             "If you tried to rename a page, then rename it back to the " ^
             "original title, then you may see this error.  This is a bug " ^
@@ -113,7 +113,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
 
   let buttons = [ ok_button ("/" ^ new_page) ] in
   ok ~title:"Page renamed" ~buttons
-    dbh hostid q "That page was renamed."
+    dbh hostid q "That page was renamed."
 
 let () =
   register_script ~restrict:[CanEdit] run
index 5d60967..dc4b834 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: rename_page_form.ml,v 1.3 2006/03/28 16:24:08 rich Exp $
+ * $Id: rename_page_form.ml,v 1.4 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "rename_page_form.html" in
+  let template = get_template dbh hostid "rename_page_form.html" in
 
   let page = q#param "page" in
 
index bb1e243..eceb9ac 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: restore.ml,v 1.26 2006/08/17 09:11:31 rich Exp $
+ * $Id: restore.ml,v 1.27 2006/12/06 09:46:57 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
@@ -100,7 +100,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
     (* Done. *)
     let buttons = [ ok_button ("/" ^ page) ] in
     ok ~title:"Restored" ~buttons
-      dbh hostid q "The old page was restored successfully."
+      dbh hostid q "The old page was restored successfully."
   ) else
     q#redirect ("http://" ^ hostname ^ "/" ^ page)
 
index f09a1fe..00824fd 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: restore_form.ml,v 1.13 2006/03/28 16:24:08 rich Exp $
+ * $Id: restore_form.ml,v 1.14 2006/12/06 09:46:57 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
@@ -30,7 +30,7 @@ open Cocanwiki_ok
 open Cocanwiki_diff
 
 let run r (q : cgi) dbh hostid _ user =
-  let template = get_template dbh hostid "restore_form.html" in
+  let template = get_template dbh hostid "restore_form.html" in
 
   (* Parameters. *)
   let page = q#param "page" in
@@ -50,7 +50,7 @@ let run r (q : cgi) dbh hostid _ user =
 
   if version = old_version then (
     error ~back_button:true ~title:"Restoring live version"
-      dbh hostid q "You seem to be trying to restore the live version.";
+      dbh hostid q "You seem to be trying to restore the live version.";
     return ()
   );
 
index 217617c..49014c5 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: search.ml,v 1.12 2006/08/16 15:27:02 rich Exp $
+ * $Id: search.ml,v 1.13 2006/12/06 09:46:57 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,7 +33,7 @@ open Cocanwiki_date
 let split_words = Pcre.regexp "\\W+"
 
 let run r (q : cgi) dbh hostid host user =
-  let template = get_template dbh hostid "search.html" in
+  let template = get_template dbh hostid "search.html" in
 
   template#set "canonical_hostname" host.canonical_hostname;
 
index f47517a..1dbb5d5 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: send_feedback.ml,v 1.10 2006/07/31 09:49:43 rich Exp $
+ * $Id: send_feedback.ml,v 1.11 2006/12/06 09:46:57 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
@@ -31,7 +31,7 @@ open Cocanwiki_template
 open Cocanwiki_ok
 
 let run r (q : cgi) dbh hostid {hostname = hostname} user =
-  let template = get_template dbh hostid "send_feedback.txt" in
+  let template = get_template dbh hostid "send_feedback.txt" in
 
   if q#param_true "cancel" then
     (* Request cancelled. *)
@@ -90,7 +90,7 @@ let run r (q : cgi) dbh hostid {hostname = hostname} user =
 
   (* Confirm. *)
   ok ~title:"Thank you for your feedback" ~buttons:[ok_button "/"]
-    dbh hostid q "An email has been sent to the site administrators."
+    dbh hostid q "An email has been sent to the site administrators."
 
 let () =
   register_script ~restrict:[CanView] run
index ba2b321..79578ec 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: send_feedback_form.ml,v 1.4 2006/03/27 18:09:46 rich Exp $
+ * $Id: send_feedback_form.ml,v 1.5 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "send_feedback_form.html" in
+  let template = get_template dbh hostid "send_feedback_form.html" in
 
   let page = q#param "page" in
 
index 3750e4a..52acde0 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: set_password.ml,v 1.5 2006/03/28 16:24:08 rich Exp $
+ * $Id: set_password.ml,v 1.6 2006/12/06 09:46:57 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
@@ -34,7 +34,7 @@ let run r (q : cgi) dbh hostid _ _ =
 
   if password1 <> password2 then (
     error ~back_button:true ~title:"Passwords don't match"
-      dbh hostid q "The two passwords you gave aren't identical.";
+      dbh hostid q "The two passwords you gave aren't identical.";
     return ()
   );
 
@@ -46,7 +46,7 @@ let run r (q : cgi) dbh hostid _ _ =
   PGOCaml.commit dbh;
 
   ok ~title:"Password updated" ~buttons:[ok_button "/_users"]
-    dbh hostid q "The password on that user account was updated."
+    dbh hostid q "The password on that user account was updated."
 
 let () =
   register_script ~restrict:[CanManageUsers] run
index 99a309d..71d80ef 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: set_password_form.ml,v 1.3 2006/03/28 16:24:08 rich Exp $
+ * $Id: set_password_form.ml,v 1.4 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "set_password_form.html" in
+  let template = get_template dbh hostid "set_password_form.html" in
 
   let userid = Int32.of_string (q#param "userid") in
 
index d3e28ac..a69d83b 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: signup.ml,v 1.11 2006/03/28 16:24:08 rich Exp $
+ * $Id: signup.ml,v 1.12 2006/12/06 09:46:57 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
@@ -39,8 +39,9 @@ let run r (q : cgi) dbh hostid _ _ =
 
   if not create_account_anon then (
     error ~title:"Not allowed to create accounts"
-      dbh hostid q ("To get an account on this service, please contact the " ^
-                   "administrator.");
+      r dbh hostid q
+      ("To get an account on this service, please contact the " ^
+        "administrator.");
     return ()
   );
 
@@ -50,13 +51,13 @@ let run r (q : cgi) dbh hostid _ _ =
 
   if username = "" || password1 = "" || password2 = "" then (
     error ~back_button:true ~title:"Bad username or password"
-      dbh hostid q "The username or password you gave is empty.";
+      dbh hostid q "The username or password you gave is empty.";
     return ()
   );
 
   if password1 <> password2 then (
     error ~back_button:true ~title:"Passwords don't match"
-      dbh hostid q "The two passwords you gave aren't identical.";
+      dbh hostid q "The two passwords you gave aren't identical.";
     return ()
   );
 
@@ -64,7 +65,7 @@ let run r (q : cgi) dbh hostid _ _ =
 
   if UTF8.length username > 32 || UTF8.length password > 128 then (
     error ~back_button:true ~title:"Username or password too long"
-      dbh hostid q "Usernames should be less than 32 characters long.  For passwords we let you have a generous 128 characters.";
+      dbh hostid q "Usernames should be less than 32 characters long.  For passwords we let you have a generous 128 characters.";
     return ()
   );
 
@@ -78,7 +79,7 @@ let run r (q : cgi) dbh hostid _ _ =
   (match rows with
    | [_] ->
        error ~back_button:true ~title:"Username already taken"
-        dbh hostid q
+        dbh hostid q
         ("Someone, possibly you, has already taken that username. " ^
            "If you think you have forgotten your password, try going back " ^
            "and clicking on the 'Forgotten your password?' link.");
@@ -106,7 +107,7 @@ let run r (q : cgi) dbh hostid _ _ =
   ok ~title:"Account created"
     ~buttons
     ~cookie
-    dbh hostid q
+    dbh hostid q
     ("An account was created for you, " ^ username ^ ". " ^
      "We hope you enjoy using this service.")
 
index 1220324..6aa487d 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.ml,v 1.10 2006/07/27 16:46:55 rich Exp $
+ * $Id: sitemap.ml,v 1.11 2006/12/06 09:46:57 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
@@ -30,7 +30,7 @@ open Cocanwiki_date
 open Cocanwiki_strings
 
 let run r (q : cgi) dbh hostid { hostname = hostname } _ =
-  let template = get_template dbh hostid "sitemap.html" in
+  let template = get_template dbh hostid "sitemap.html" in
 
   (* Pull out all the current pages, and a bit of content from each. *)
   let rows = PGSQL(dbh)
index 5b006ff..1b5eee9 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_rss.ml,v 1.1 2006/09/22 10:50:38 rich Exp $
+ * $Id: sitemap_rss.ml,v 1.2 2006/12/06 09:46:57 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
@@ -30,7 +30,7 @@ open Cocanwiki_date
 open Cocanwiki_strings
 
 let run r (q : cgi) dbh hostid {hostname = hostname} _ =
-  let template = get_template dbh hostid "sitemap_rss.xml" in
+  let template = get_template dbh hostid "sitemap_rss.xml" in
 
   template#set "hostname" hostname;
 
index d51a934..b584908 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.3 2006/03/28 16:24:08 rich Exp $
+ * $Id: sitemap_xml.ml,v 1.4 2006/12/06 09:46:57 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
@@ -34,7 +34,7 @@ open Cocanwiki_strings
  *)
 
 let run r (q : cgi) dbh hostid { hostname = hostname } _ =
-  let template = get_template dbh hostid "sitemap.xml" in
+  let template = get_template dbh hostid "sitemap.xml" in
 
   (* Pull out all the current pages. *)
   let rows = PGSQL(dbh)
index 88be5da..8d31fb7 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: source.ml,v 1.7 2006/08/17 09:11:31 rich Exp $
+ * $Id: source.ml,v 1.8 2006/12/06 09:46:57 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
@@ -45,7 +45,7 @@ let run r (q : cgi) dbh hostid _ _ =
     with
        Not_found ->
          error ~title:"Page not found"
-           dbh hostid q "That page was not found";
+           dbh hostid q "That page was not found";
          return () in
 
   (* XXX CSS - eventually both title and CSS fields should be returned in
index b7ddab7..c25b2b8 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: stats.ml,v 1.6 2006/03/28 16:24:08 rich Exp $
+ * $Id: stats.ml,v 1.7 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_server_settings
 
 let run r (q : cgi) dbh hostid { canonical_hostname = canonical_hostname } _ =
-  let template = get_template dbh hostid "stats.html" in
+  let template = get_template dbh hostid "stats.html" in
 
   let page = q#param "page" in
 
index ed80c0b..aa23636 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: stats_top.ml,v 1.3 2006/03/27 18:09:47 rich Exp $
+ * $Id: stats_top.ml,v 1.4 2006/12/06 09:46:57 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
@@ -30,7 +30,7 @@ open Cocanwiki_server_settings
 
 let run r (q : cgi) dbh hostid
   { canonical_hostname = canonical_hostname } _ =
-  let template = get_template dbh hostid "stats_top.html" in
+  let template = get_template dbh hostid "stats_top.html" in
 
   let page = q#param "page" in
 
index 630b125..e1f47ed 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: tarpit_form.ml,v 1.1 2006/08/09 15:35:47 rich Exp $
+ * $Id: tarpit_form.ml,v 1.2 2006/12/06 09:46:57 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
@@ -34,7 +34,7 @@ open Cocanwiki_template
  * /_bin/tarpit.cmo which will print their IP address for banning.
  *)
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "tarpit_form.html" in
+  let template = get_template dbh hostid "tarpit_form.html" in
 
   let rand = Random.int 999_999_999 in
   template#set "rand" (string_of_int rand);
index e2f42c0..0f0acda 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: undelete_file.ml,v 1.9 2006/03/28 16:24:08 rich Exp $
+ * $Id: undelete_file.ml,v 1.10 2006/12/06 09:46:57 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
@@ -61,7 +61,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
     (* Done. *)
     let buttons = [ ok_button "/_files" ] in
     ok ~title:"File restored" ~buttons
-      dbh hostid q "File was restored successfully."
+      dbh hostid q "File was restored successfully."
   ) else
     q#redirect ("http://" ^ hostname ^ "/_files")
 
index af52048..26720fe 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: undelete_file_form.ml,v 1.9 2006/03/28 16:24:08 rich Exp $
+ * $Id: undelete_file_form.ml,v 1.10 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "undelete_file_form.html" in
+  let template = get_template dbh hostid "undelete_file_form.html" in
 
   let id = Int32.of_string (q#param "id") in
 
index 615c2b8..11373e1 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: undelete_image.ml,v 1.9 2006/03/28 16:24:08 rich Exp $
+ * $Id: undelete_image.ml,v 1.10 2006/12/06 09:46:57 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
@@ -67,7 +67,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } _ =
     (* Done. *)
     let buttons = [ ok_button "/_images" ] in
     ok ~title:"Image restored" ~buttons
-      dbh hostid q "Image was restored successfully."
+      dbh hostid q "Image was restored successfully."
   ) else
     q#redirect ("http://" ^ hostname ^ "/_images")
 
index 17a96f5..fccd3ad 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: undelete_image_form.ml,v 1.9 2006/03/28 16:24:08 rich Exp $
+ * $Id: undelete_image_form.ml,v 1.10 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "undelete_image_form.html" in
+  let template = get_template dbh hostid "undelete_image_form.html" in
 
   let id = Int32.of_string (q#param "id") in
 
index 852302b..4830d89 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: upload_file.ml,v 1.13 2006/03/28 16:24:08 rich Exp $
+ * $Id: upload_file.ml,v 1.14 2006/12/06 09:46:57 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
@@ -48,13 +48,13 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
     with
        Not_found ->
          error ~title:"No file" ~back_button:true
-           dbh hostid q "No file was uploaded.";
+           dbh hostid q "No file was uploaded.";
          return () in
 
   (* Check the name is valid. *)
   if not (Pcre.pmatch ~rex:file_ok_re name) then (
     error ~title:"Bad File Name" ~back_button:true
-      dbh hostid q
+      dbh hostid q
       ("The File Name must contain only lowercase English letters, " ^
        "numbers, dots, dashes and underscore.");
     return ()
@@ -76,7 +76,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
   if exists then (
     if not replace then (
       error ~title:"File already exists" ~back_button:true
-       dbh hostid q "An file with the same name already exists.";
+       dbh hostid q "An file with the same name already exists.";
     return ()
     ) else (
       PGSQL(dbh) "update files
@@ -101,7 +101,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
 
   let buttons = [ ok_button "/_files" ] in
   ok ~title:"File uploaded" ~buttons
-    dbh hostid q "File was uploaded successfully."
+    dbh hostid q "File was uploaded successfully."
 
 let () =
   register_script ~restrict:[CanEdit] run
index 8cec265..4a296c7 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: upload_file_form.ml,v 1.10 2006/03/28 16:24:08 rich Exp $
+ * $Id: upload_file_form.ml,v 1.11 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "upload_file_form.html" in
+  let template = get_template dbh hostid "upload_file_form.html" in
 
   (* If called with a 'name' argument, prefill the name field.
    * If called with an 'id' argument, get the name field from the
index c777d0a..bd76164 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: upload_image.ml,v 1.14 2006/03/28 16:24:08 rich Exp $
+ * $Id: upload_image.ml,v 1.15 2006/12/06 09:46:57 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
@@ -50,13 +50,13 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
     with
        Not_found ->
          error ~title:"No image" ~back_button:true
-           dbh hostid q "No image was uploaded.";
+           dbh hostid q "No image was uploaded.";
          return () in
 
   (* Check the name is valid. *)
   if not (Pcre.pmatch ~rex:image_ok_re name) then (
     error ~title:"Bad Image Name" ~back_button:true
-      dbh hostid q
+      dbh hostid q
       ("The Image Name must contain only lowercase English letters, " ^
        "numbers, dots, dashes and underscore.  " ^
        "It must end with .jpg, .gif or .png " ^
@@ -70,7 +70,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
     with
        Invalid_argument _ ->
          error ~title:"Bad image" ~back_button:true
-           dbh hostid q
+           dbh hostid q
            ("Unknown image type.  Is the file you uploaded really an " ^
             "image?");
          return () in
@@ -88,7 +88,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
       | _ -> assert false in
   if not ext_ok then (
     error ~title:"Bad Image Name" ~back_button:true
-      dbh hostid q
+      dbh hostid q
       ("The Image Name extension has to match the image format.  " ^
        "For example if the image is in JPEG format, the name must " ^
        "be 'something.jpg'.  I detected the following image type " ^
@@ -99,7 +99,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
   (* Check some ALT text was supplied. *)
   if string_is_whitespace alt then (
     error ~title:"Missing Alt text" ~back_button:true
-      dbh hostid q
+      dbh hostid q
       ("You must supply Alt text describing the image.  This is required " ^
        "by accessibility laws and to allow search engines to discover the " ^
        "content of images.");
@@ -126,7 +126,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
   if exists then (
     if not replace then (
       error ~title:"Image already exists" ~back_button:true
-       dbh hostid q "An image with the same name already exists.";
+       dbh hostid q "An image with the same name already exists.";
     return ()
     ) else (
       PGSQL(dbh) "update images
@@ -159,7 +159,7 @@ let run r (q : cgi) dbh hostid { hostname = hostname } user=
 
   let buttons = [ ok_button "/_images" ] in
   ok ~title:"Image uploaded" ~buttons
-    dbh hostid q "Image was uploaded successfully."
+    dbh hostid q "Image was uploaded successfully."
 
 let () =
   register_script ~restrict:[CanEdit] run
index 52e1a20..1624171 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: upload_image_form.ml,v 1.10 2006/03/28 16:24:08 rich Exp $
+ * $Id: upload_image_form.ml,v 1.11 2006/12/06 09:46:57 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
@@ -28,7 +28,7 @@ open Cocanwiki
 open Cocanwiki_template
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "upload_image_form.html" in
+  let template = get_template dbh hostid "upload_image_form.html" in
 
   (* If called with a 'name' argument, prefill the name field.
    * If called with an 'id' argument, get the name field from the
index ebcf6fd..826d3c4 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: user_prefs.ml,v 1.9 2006/07/31 09:49:43 rich Exp $
+ * $Id: user_prefs.ml,v 1.10 2006/12/06 09:46:57 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
@@ -101,7 +101,7 @@ let run r (q : cgi) dbh hostid {hostname=hostname} user =
 
   let buttons = [ ok_button "/_userprefs" ] in
   ok ~title:"Preferences updated" ~buttons
-    dbh hostid q
+    dbh hostid q
     ("Your user preferences were updated.  " ^
        if confirm_needed then
         ("Because you changed your email address, we have sent a " ^
index 4d66eb7..4c735c0 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: user_prefs_form.ml,v 1.5 2006/03/28 16:24:08 rich Exp $
+ * $Id: user_prefs_form.ml,v 1.6 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_date
 
 let run r (q : cgi) dbh hostid host user =
-  let template = get_template dbh hostid "user_prefs_form.html" in
+  let template = get_template dbh hostid "user_prefs_form.html" in
 
   let userid, name, prefs =
     match user with
index 651cbde..f747187 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: users.ml,v 1.11 2006/07/26 16:34:18 rich Exp $
+ * $Id: users.ml,v 1.12 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_date
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "users.html" in
+  let template = get_template dbh hostid "users.html" in
 
   let rows =
     PGSQL(dbh)
index d904d0f..4516f57 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: what_links_here.ml,v 1.6 2006/03/28 16:24:08 rich Exp $
+ * $Id: what_links_here.ml,v 1.7 2006/12/06 09:46:57 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
@@ -29,7 +29,7 @@ open Cocanwiki_template
 open Cocanwiki_links
 
 let run r (q : cgi) dbh hostid _ _ =
-  let template = get_template dbh hostid "what_links_here.html" in
+  let template = get_template dbh hostid "what_links_here.html" in
 
   let page = q#param "page" in
   template#set "page" page;
index c860a75..5d3d36d 100644 (file)
 <h1><span>Edit global stylesheet</span></h1>
 
 <form method="post" action="edit_host_css.cmo">
+<input type="hidden" name="css" value="::css_html_tag::" />
 <p>
 Editing the global stylesheet:
 </p>
 
 <p>
-<textarea name="css" cols="80" rows="30">::css_html_textarea::</textarea>
+<textarea name="content" cols="80" rows="30">::content_html_textarea::</textarea>
 </p>
 
 <p>
index 0e29fdc..3a46d59 100644 (file)
@@ -6,7 +6,9 @@
 <meta name="author" content="http://merjis.com/" />
 <link rel="stylesheet" href="::theme_css_html_tag::" type="text/css" title="Standard"/>
 <link rel="alternate stylesheet" href="/_css/easytoread.css" type="text/css" title="High contrast, big fonts"/>
-::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::
+::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::::if(has_ie6_fixes_css)::
+<!--[if ie 6]><link rel="stylesheet" href="/_ie6_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::::if(has_ie7_fixes_css)::
+<!--[if ie 7]><link rel="stylesheet" href="/_ie7_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::
 <link rel="stylesheet" href="/_css/login.css" type="text/css" title="Standard"/>
 </head><body>
 
index cdba835..6701229 100644 (file)
 </tr>
 <tr>
 <th> Global stylesheet: </th>
-<td> ::if(has_global_css)::<a href="/_global.css">View global stylesheet</a>::else::No global stylesheet for this site.::end::<br/>
+<td>
+::if(has_global_css)::<a href="/_global.css">View global stylesheet</a>::else::No global stylesheet for this site.::end:: <br/>
+::if(has_ie6_fixes_css)::<a href="/_ie6_fixes.css">View IE6 fixes stylesheet</a>::else::No IE6 fixes stylesheet for this site.::end:: <br/>
+::if(has_ie7_fixes_css)::<a href="/_ie7_fixes.css">View IE7 fixes stylesheet</a>::else::No IE7 fixes stylesheet for this site.::end:: <br/>
 ::if(can_edit_global_css)::
-<a href="/_bin/edit_host_css_form.cmo">Edit global stylesheet ...</a>
+<a href="/_bin/edit_host_css_form.cmo">Edit global stylesheet ...</a> <br/>
+<a href="/_bin/edit_host_css_form.cmo?css=ie6_fixes">Edit IE6 fixes stylesheet ...</a> <br/>
+<a href="/_bin/edit_host_css_form.cmo?css=ie7_fixes">Edit IE7 fixes stylesheet ...</a>
 ::end::
 </td>
 </tr>
index 6ba4959..e8dce7b 100644 (file)
@@ -6,7 +6,9 @@
 <meta name="author" content="http://merjis.com/" />
 <link rel="stylesheet" href="::theme_css_html_tag::" type="text/css" title="Standard"/>
 <link rel="alternate stylesheet" href="/_css/easytoread.css" type="text/css" title="High contrast, big fonts"/>
-::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::
+::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::::if(has_ie6_fixes_css)::
+<!--[if ie 6]><link rel="stylesheet" href="/_ie6_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::::if(has_ie7_fixes_css)::
+<!--[if ie 7]><link rel="stylesheet" href="/_ie7_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::
 <link rel="stylesheet" href="/_css/login.css" type="text/css" title="Standard"/>
 </head><body>
 
index 4c3c569..e2c5735 100644 (file)
@@ -7,7 +7,9 @@
 <link rel="stylesheet" href="::theme_css_html_tag::" type="text/css" title="Standard"/>
 <link rel="stylesheet" href="/_css/search.css" type="text/css" title="Standard"/>
 <link rel="alternate stylesheet" href="/_css/easytoread.css" type="text/css" title="High contrast, big fonts"/>
-::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::
+::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::::if(has_ie6_fixes_css)::
+<!--[if ie 6]><link rel="stylesheet" href="/_ie6_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::::if(has_ie7_fixes_css)::
+<!--[if ie 7]><link rel="stylesheet" href="/_ie7_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::
 </head><body onload="document.f.q.focus ()">
 
 <h1><span>Page not found</span></h1>
index f1579a9..8e2de9f 100644 (file)
@@ -5,7 +5,9 @@
 <meta name="author" content="http://merjis.com/" />
 <link rel="stylesheet" href="::theme_css_html_tag::" type="text/css" title="Standard"/>
 <link rel="alternate stylesheet" href="/_css/easytoread.css" type="text/css" title="High contrast, big fonts"/>
-::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::
+::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::::if(has_ie6_fixes_css)::
+<!--[if ie 6]><link rel="stylesheet" href="/_ie6_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::::if(has_ie7_fixes_css)::
+<!--[if ie 7]><link rel="stylesheet" href="/_ie7_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::
 </head><body>
 
 <h1><span>Send an email when the page is updated</span></h1>
index 6b4c82e..c5bc296 100644 (file)
@@ -9,7 +9,9 @@
 <meta name="author" content="http://merjis.com/" />
 <link rel="stylesheet" href="::theme_css_html_tag::" type="text/css" title="Standard"/>
 <link rel="alternate stylesheet" href="/_css/easytoread.css" type="text/css" title="High contrast, big fonts"/>::if(has_host_css)::
-<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::::if(has_page_css)::
+<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::::if(has_ie6_fixes_css)::
+<!--[if ie 6]><link rel="stylesheet" href="/_ie6_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::::if(has_ie7_fixes_css)::
+<!--[if ie 7]><link rel="stylesheet" href="/_ie7_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::::if(has_page_css)::
 <link rel="stylesheet" href="/::page_html_tag::/styles.css::if(is_old_version)::?version=::old_version::::end::" type="text/css" title="Standard"/>::end::::if(ie_imagetoolbar_no)::
 <meta http-equiv="imagetoolbar" content="no" />::end::
 <script src="/_js/go.js" type="text/javascript"></script>
index ca8f0b2..6427027 100644 (file)
@@ -6,7 +6,9 @@
 <link rel="stylesheet" href="::theme_css_html_tag::" type="text/css" title="Standard"/>
 <link rel="stylesheet" href="/_css/search.css" type="text/css" title="Standard"/>
 <link rel="alternate stylesheet" href="/_css/easytoread.css" type="text/css" title="High contrast, big fonts"/>
-::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::
+::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::::if(has_ie6_fixes_css)::
+<!--[if ie 6]><link rel="stylesheet" href="/_ie6_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::::if(has_ie7_fixes_css)::
+<!--[if ie 7]><link rel="stylesheet" href="/_ie7_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::
 </head><body onload="document.f.q.focus ()">
 
 <h1><span>Search this site</span></h1>
index 59b81d6..0da3fea 100644 (file)
@@ -5,7 +5,9 @@
 <meta name="author" content="http://merjis.com/" />
 <link rel="stylesheet" href="::theme_css_html_tag::" type="text/css" title="Standard"/>
 <link rel="alternate stylesheet" href="/_css/easytoread.css" type="text/css" title="High contrast, big fonts"/>
-::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::
+::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::::if(has_ie6_fixes_css)::
+<!--[if ie 6]><link rel="stylesheet" href="/_ie6_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::::if(has_ie7_fixes_css)::
+<!--[if ie 7]><link rel="stylesheet" href="/_ie7_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::
 </head><body>
 
 <h1><span>Send feedback about this page</span></h1>
index 5bf3187..6c2a1f8 100644 (file)
@@ -6,7 +6,9 @@
 <link rel="stylesheet" href="::theme_css_html_tag::" type="text/css" title="Standard"/>
 <link rel="stylesheet" href="/_css/sitemap.css" type="text/css" title="Standard"/>
 <link rel="alternate stylesheet" href="/_css/easytoread.css" type="text/css" title="High contrast, big fonts"/>
-::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::
+::if(has_host_css)::<link rel="stylesheet" href="/_global.css" type="text/css" title="Standard"/>::end::::if(has_ie6_fixes_css)::
+<!--[if ie 6]><link rel="stylesheet" href="/_ie6_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::::if(has_ie7_fixes_css)::
+<!--[if ie 7]><link rel="stylesheet" href="/_ie7_fixes.css" type="text/css" title="Standard"/><![endif]-->::end::
 </head><body>
 
 <h1><span>Sitemap</span></h1>