Added 'broken links' script.
[cocanwiki.git] / scripts / what_links_here.ml
index ea9b572..f05994c 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: what_links_here.ml,v 1.1 2004/09/28 11:51:38 rich Exp $
+ * $Id: what_links_here.ml,v 1.3 2004/10/04 15:19:56 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
@@ -54,8 +54,19 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid _ _ =
         | _ -> assert false) in
 
   template#table "pages" table;
+  template#conditional "pages_empty" (table = []);
+
+  (* Is the page in the site menu?  If so, then every other page
+   * links here, so we should say so.
+   *)
+  let sth = dbh#prepare_cached "select 1 from sitemenu
+                                 where hostid = ? and url = ?" in
+  sth#execute [`Int hostid; `String page];
+
+  let in_sitemenu = try sth#fetch1int () = 1 with Not_found -> false in
+  template#conditional "in_sitemenu" in_sitemenu;
 
   q#template template
 
 let () =
-  register_script run
+  register_script ~restrict:[CanView] run