(* 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.12 2004/10/07 11:36:46 rich Exp $
+ * $Id: restore.ml,v 1.19 2005/11/24 14:54:12 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 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
ok ~title:"Restored" ~buttons
- q "The old page was restored successfully."
+ dbh hostid q "The old page was restored successfully."
) else
q#redirect ("http://" ^ hostname ^ "/" ^ page)