(* 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.6 2004/09/09 12:21:22 rich Exp $
+ * $Id: upload_file.ml,v 1.8 2004/10/21 19:54:29 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
(* Valid file names. *)
let file_ok_re = Pcre.regexp "^[a-z0-9][-._a-z0-9]*$"
-let run r (q : cgi) (dbh : Dbi.connection) hostid { hostname = hostname } _ =
+let run r (q : cgi) (dbh : Dbi.connection) hostid { hostname = hostname } user=
let name = q#param "name" in
let title = q#param "title" in
Not_found ->
error ~title:"No file" ~back_button:true
q "No file was uploaded.";
- raise CgiExit in
+ 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
q ("The File Name must contain only lowercase English letters, " ^
"numbers, dots, dashes and underscore.");
- raise CgiExit
+ return ()
);
(* Identify the MIME type from the extension. *)
let body = fun () ->
"Page: http://" ^ hostname ^ "/_files" in
- email_notify ~body ~subject dbh hostid;
+ email_notify ~body ~subject ~user dbh hostid;
let buttons = [ ok_button "/_files" ] in
ok ~title:"File uploaded" ~buttons