X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=scripts%2Fusers.ml;h=8a3fcec1b76f6f040bc115d6510a3160858a91b5;hb=cd059731a60fd3d4dcf426430ad26ff227b91910;hp=ca84d9ecf81dd6debbe2b5d30e2f1be4655c3a7b;hpb=bfa88724ee152ba00c2b2fca881dd78a6599820a;p=cocanwiki.git diff --git a/scripts/users.ml b/scripts/users.ml index ca84d9e..8a3fcec 100644 --- a/scripts/users.ml +++ b/scripts/users.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: users.ml,v 1.9 2006/03/27 18:09:47 rich Exp $ + * $Id: users.ml,v 1.10 2006/03/28 16:24:08 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 @@ -31,41 +31,38 @@ open Cocanwiki_date let run r (q : cgi) dbh hostid _ _ = let template = get_template dbh hostid "users.html" in - let sth = - dbh#prepare_cached + let rows = + PGSQL(dbh) "select id, name, email, registration_date, invite is not null, can_edit, can_manage_users, can_manage_contacts, can_manage_site, can_edit_global_css, can_import_mail - from users where hostid = ? order by name" in - sth#execute [Some hostid]; + from users where hostid = $hostid order by name" in let table = - sth#map - (function - [Some userid; Some name; (None | Some _) as email; - `Date registration_date; `Bool invite_pending; - `Bool can_edit; `Bool can_manage_users; - `Bool can_manage_contacts; `Bool can_manage_site; - `Bool can_edit_global_css; `Bool can_import_mail] -> - let email = match email with None -> "" | Some s -> s in - [ "userid", Template.VarString (Int32.to_string userid); - "name", Template.VarString name; - "email", Template.VarString email; - "registration_date", - Template.VarString (printable_date' registration_date); - "invite_pending", - Template.VarConditional invite_pending; - "can_edit", Template.VarConditional can_edit; - "can_manage_users", Template.VarConditional can_manage_users; - "can_manage_contacts", - Template.VarConditional can_manage_contacts; - "can_manage_site", Template.VarConditional can_manage_site; - "can_edit_global_css", - Template.VarConditional can_edit_global_css; - "can_import_mail", - Template.VarConditional can_import_mail;] - | _ -> assert false) in + List.map + (fun (userid, name, email, registration_date, invite_pending, + can_edit, can_manage_users, can_manage_contacts, can_manage_site, + can_edit_global_css, can_import_mail) -> + let email = match email with None -> "" | Some s -> s in + let invite_pending = Option.get invite_pending in + [ "userid", Template.VarString (Int32.to_string userid); + "name", Template.VarString name; + "email", Template.VarString email; + "registration_date", + Template.VarString (printable_date' registration_date); + "invite_pending", + Template.VarConditional invite_pending; + "can_edit", Template.VarConditional can_edit; + "can_manage_users", Template.VarConditional can_manage_users; + "can_manage_contacts", + Template.VarConditional can_manage_contacts; + "can_manage_site", Template.VarConditional can_manage_site; + "can_edit_global_css", + Template.VarConditional can_edit_global_css; + "can_import_mail", + Template.VarConditional can_import_mail;] + ) rows in template#table "users" table;