(* COCANWIKI - a wiki written in Objective CAML.
* Written by Richard W.M. Jones <rich@merjis.com>.
* Copyright (C) 2004 Merjis Ltd.
- * $Id: create_user.ml,v 1.1 2004/09/21 13:01:15 rich Exp $
+ * $Id: create_user.ml,v 1.4 2004/10/11 14:13:04 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
if username = "" || password1 = "" || password2 = "" then (
error ~back_button:true ~title:"Bad username or password"
q "The username or password you gave is empty.";
- raise CgiExit
+ return ()
);
if password1 <> password2 then (
error ~back_button:true ~title:"Passwords don't match"
q "The two passwords you gave aren't identical.";
- raise CgiExit
+ return ()
);
let password = password1 in
sth#fetch1 ();
error ~back_button:true ~title:"Username already taken"
q "Someone has already taken that username.";
- raise CgiExit
+ return ()
with
Not_found -> ());
let can_edit = q#param_true "can_edit" in
let can_manage_users = q#param_true "can_manage_users" in
let can_manage_contacts = q#param_true "can_manage_contacts" in
+ let can_manage_site = q#param_true "can_manage_site" in
+ let can_edit_global_css = q#param_true "can_edit_global_css" in
+ let can_import_mail = q#param_true "can_import_mail" in
+ let force_password_change = q#param_true "force_password_change" in
(* Create the user account. *)
let sth = dbh#prepare_cached "insert into users (name, password, email,
hostid, can_edit, can_manage_users,
- can_manage_contacts)
- values (?, ?, ?, ?, ?, ?, ?)" in
+ can_manage_contacts, can_manage_site,
+ can_edit_global_css, can_import_mail,
+ force_password_change)
+ values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" in
sth#execute [`String username; `String password; email; `Int hostid;
`Bool can_edit; `Bool can_manage_users;
- `Bool can_manage_contacts];
+ `Bool can_manage_contacts; `Bool can_manage_site;
+ `Bool can_edit_global_css; `Bool can_import_mail;
+ `Bool force_password_change];
dbh#commit ();