git.annexia.org
/
cocanwiki.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Edit the description fields (metadata) for images and files.
[cocanwiki.git]
/
scripts
/
page.ml
diff --git
a/scripts/page.ml
b/scripts/page.ml
index
90f8a5b
..
67ac47c
100644
(file)
--- a/
scripts/page.ml
+++ b/
scripts/page.ml
@@
-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.
(* 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.3
1 2004/10/10 16:40:32
rich Exp $
+ * $Id: page.ml,v 1.3
7 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
*
* 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
@@
-25,6
+25,7
@@
open Cgi
open Printf
open ExtString
open Printf
open ExtString
+open ExtList
open Cocanwiki
open Cocanwiki_template
open Cocanwiki
open Cocanwiki_template
@@
-55,12
+56,12
@@
let run r (q : cgi) (dbh : Dbi.connection) hostid
({ edit_anon = edit_anon;
view_anon = view_anon } as host)
user =
({ 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 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,
(* Host-specific fields. *)
let sth = dbh#prepare_cached "select css is not null,
feedback_email is not null,
@@
-75,12
+76,9
@@
let run r (q : cgi) (dbh : Dbi.connection) hostid
navigation
| _ -> assert false in
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_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
(* Do we have a stats page set up? *)
let has_stats = server_settings_stats_page dbh <> None in
@@
-202,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_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. *)
t#conditional "has_stats" has_stats;
(* Pull out the sections in this page. *)
@@
-274,14
+268,14
@@
let run r (q : cgi) (dbh : Dbi.connection) hostid
(match user with
Anonymous ->
t#conditional "user_logged_in" false
(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
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
let sth = dbh#prepare_cached "delete from recently_visited
where hostid = ? and userid = ?
and url = ?" in
@@
-300,11
+294,12
@@
let run r (q : cgi) (dbh : Dbi.connection) hostid
(* What links here. *)
let wlh = what_links_here dbh hostid page' in
(* What links here. *)
let wlh = what_links_here dbh hostid page' in
+ let wlh = List.take max_links wlh in
let wlh_urls = List.map fst wlh in (* Just the URLs ... *)
let rv =
match user with
let wlh_urls = List.map fst wlh in (* Just the URLs ... *)
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.
*)
(* Recently visited URLs, but don't repeat any from the 'what
* links here' section, and don't link to self.
*)
@@
-359,7
+354,7
@@
let run r (q : cgi) (dbh : Dbi.connection) hostid
(* Deliver the page. *)
q#header ();
(* 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. *)
with
Not_found ->
(* No referer / no search terms / not a search engine referer. *)
@@
-382,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#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_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
t#conditional "has_stats" has_stats;
q#template t