X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=scripts%2Fedit.ml;h=016b0bb497d568319ee11aa0bfca8bb7c2b08b57;hb=4b281fea34f35536bff368f825c7a661e21c132b;hp=19324f97984613c7c3eebad122922724060b6ef2;hpb=714e5e5b4b585da1eca55274e3903ee9a1dbf0d6;p=cocanwiki.git diff --git a/scripts/edit.ml b/scripts/edit.ml index 19324f9..016b0bb 100644 --- a/scripts/edit.ml +++ b/scripts/edit.ml @@ -1,7 +1,22 @@ -(* COCANWIKI scripts. +(* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: edit.ml,v 1.2 2004/09/07 13:40:10 rich Exp $ + * $Id: edit.ml,v 1.17 2004/10/09 09:52:10 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. *) open Apache @@ -11,22 +26,22 @@ open Printf open ExtString -open Merjisforwiki - open Cocanwiki open Cocanwiki_template open Cocanwiki_ok open Cocanwiki_emailnotify open Cocanwiki_diff +open Cocanwiki_strings -let template = get_template "edit.html" -let template_conflict = get_template "edit_conflict.html" +(* Page of title. *) +type pt_t = Page of string | Title of string (* We keep an "internal model" of the page - see build_internal_model () * below. *) type model_t = { - id : int; (* Original page ID. *) + id : int; (* Original page ID (0 = none). *) + pt : pt_t; (* Page of title (only used if id=0) *) description : string; (* Description. *) redirect : string; (* Redirect to ("" = none). *) contents : (string * string * string) list; @@ -34,7 +49,11 @@ type model_t = { * for each section. *) } -let run r (q : cgi) (dbh : Dbi.connection) (hostid, hostname, _) _ = +let run r (q : cgi) (dbh : Dbi.connection) 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 + (* Workaround bugs in IE, specifically lack of support for