Edit the description fields (metadata) for images and files.
[cocanwiki.git] / scripts / page.ml
index bfd7bd6..67ac47c 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: page.ml,v 1.32 2004/10/10 19:19:58 rich Exp $
+ * $Id: page.ml,v 1.37 2004/10/30 10:16: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
@@ -56,12 +56,12 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid
     ({ edit_anon = edit_anon;
        view_anon = view_anon } as host)
     user =
-  let template_page = get_template dbh hostid "page.html" in
-  let template_404  = get_template dbh hostid "page_404.html" in
-
   let page = q#param "page" in
   let page = if page = "" then "index" else page in
 
+  let template_page = get_template ~page dbh hostid "page.html" in
+  let template_404  = get_template dbh hostid "page_404.html" in
+
   (* Host-specific fields. *)
   let sth = dbh#prepare_cached "select css is not null,
                                        feedback_email is not null,
@@ -76,12 +76,9 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid
          navigation
       | _ -> assert false in
 
-  (* Can the user edit?  Manage users?  etc. *)
+  (* User permissions. *)
   let can_edit = can_edit host user in
   let can_manage_users = can_manage_users host user in
-  let can_manage_contacts = can_manage_contacts host user in
-  let can_manage_site = can_manage_site host user in
-  let can_edit_global_css = can_edit_global_css host user in
 
   (* Do we have a stats page set up? *)
   let has_stats = server_settings_stats_page dbh <> None in
@@ -203,10 +200,6 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid
 
     t#conditional "can_edit" can_edit;
     t#conditional "can_manage_users" can_manage_users;
-    t#conditional "can_manage_contacts" can_manage_contacts;
-    t#conditional "can_manage_site" can_manage_site;
-    t#conditional "can_edit_global_css" can_edit_global_css;
-
     t#conditional "has_stats" has_stats;
 
     (* Pull out the sections in this page. *)
@@ -275,14 +268,14 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid
     (match user with
         Anonymous ->
           t#conditional "user_logged_in" false
-       | User (_, username, _) ->
+       | User (_, username, _, _) ->
           t#conditional "user_logged_in" true;
           t#set "username" username);
 
     (* If logged in, we want to update the recently_visited table. *)
     if pageid <> None then (
       match user with
-       | User (userid, _, _) ->
+       | User (userid, _, _, _) ->
            let sth = dbh#prepare_cached "delete from recently_visited
                                            where hostid = ? and userid = ?
                                              and url = ?" in
@@ -306,7 +299,7 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid
 
       let rv =
        match user with
-         | User (userid, _, _) ->
+         | User (userid, _, _, _) ->
              (* Recently visited URLs, but don't repeat any from the 'what
               * links here' section, and don't link to self.
               *)
@@ -361,7 +354,7 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid
 
       (* Deliver the page. *)
       q#header ();
-      print_string r xhtml
+      ignore (print_string r xhtml)
     with
        Not_found ->
          (* No referer / no search terms / not a search engine referer. *)
@@ -384,13 +377,8 @@ let run r (q : cgi) (dbh : Dbi.connection) hostid
     t#set "search_terms" search_terms;
 
     t#conditional "has_host_css" has_host_css;
-
     t#conditional "can_edit" can_edit;
     t#conditional "can_manage_users" can_manage_users;
-    t#conditional "can_manage_contacts" can_manage_contacts;
-    t#conditional "can_manage_site" can_manage_site;
-    t#conditional "can_edit_global_css" can_edit_global_css;
-
     t#conditional "has_stats" has_stats;
 
     q#template t