Changed sense of restore script to avoid spamming scumbags.
[cocanwiki.git] / scripts / restore.ml
index 4efd03d..a3ed7c2 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.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
@@ -33,7 +33,7 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid {hostname = hostname} user =
   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))
@@ -41,7 +41,7 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid {hostname = hostname} user =
 
     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. *)
@@ -61,7 +61,8 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid {hostname = hostname} user =
     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,
@@ -76,7 +77,7 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid {hostname = hostname} user =
     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)
@@ -99,7 +100,7 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid {hostname = hostname} user =
       "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