(* 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.11 2004/09/28 11:28:39 rich Exp $
+ * $Id: restore.ml,v 1.18 2005/11/19 10:36:42 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
let version = int_of_string (q#param "version") in
let page = q#param "page" in
- if q#param_true "yes" then (
+ if not (q#param_true "no") then (
(* Get the IP address of the user, if available. *)
let logged_ip =
try `String (Connection.remote_ip (Request.connection r))
let logged_user =
match user with
- | User (id, _, _) -> `Int id
+ | User (id, _, _, _) -> `Int id
| _ -> `Null in
(* Copy the old version of the page to be live. *)
let sth =
dbh#prepare_cached
"set constraints pages_redirect_cn, sitemenu_url_cn,
- page_emails_url_cn, links_from_cn, links_to_cn deferred" in
+ page_emails_url_cn, links_from_cn, recently_visited_url_cn
+ deferred" in
sth#execute [];
let sth = dbh#prepare_cached "update pages set url_deleted = url,
sth#execute [`Int hostid; `String page; title; description;
creation_date; logged_ip; logged_user; redirect; css ];
- let pageid = sth#serial "pages_id_seq" in
+ let pageid = Int64.to_int (sth#serial "pages_id_seq") in
let sth = dbh#prepare_cached "insert into contents (pageid, ordering,
sectionname, content, divname)
"Page: http://" ^ hostname ^ "/" ^ page ^ "\n\n" ^
diff in
- email_notify ~body ~subject dbh hostid;
+ email_notify ~body ~subject ~user dbh hostid;
(* Done. *)
let buttons = [ ok_button ("/" ^ page) ] in