The 'create host' code is now in a separate library so TNAAA can call it.
[cocanwiki.git] / scripts / admin / create_host.ml
index 239e9ca..9e1b627 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: create_host.ml,v 1.3 2004/09/09 12:21:22 rich Exp $
+ * $Id: create_host.ml,v 1.7 2004/10/06 10:34:30 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
@@ -29,6 +29,7 @@ open Cgi
 open Printf
 
 open Cocanwiki_strings
+open Cocanwiki_create_host
 
 let split_re = Pcre.regexp "[\\s,;]+"
 
@@ -62,25 +63,12 @@ let run r =
     let hostnames = List.map check_hostname hostnames in
     let hostnames = List.filter ((<>) "") hostnames in
 
-    (* Update the database. *)
-    let sth = dbh#prepare_cached
-               "set constraints \"hosts_hostname_cn\" deferred" in
-    sth#execute [];
-    let sth = dbh#prepare_cached "insert into hosts (canonical_hostname)
-                                  values (?)" in
-    sth#execute [`String canonical_hostname];
+    let template =
+      if q#param_true "template" then int_of_string (q#param "template")
+      else 0 in
 
-    let hostid = sth#serial "hosts_id_seq" in
-
-    let sth = dbh#prepare_cached "insert into hostnames (hostid, name)
-                                  values (?, ?)" in
-    sth#execute [`Int hostid; `String canonical_hostname];
-    List.iter (fun name ->
-                sth#execute [`Int hostid; `String name]) hostnames;
-
-    let sth = dbh#prepare_cached "insert into pages (hostid, url, title,
-                                    description) values (?, 'index', ?, ?)" in
-    sth#execute [`Int hostid; `String title; `String title];
+    let hostid = create_host dbh canonical_hostname hostnames template title
+                  "Administrator" "123456" true in
 
     (* Commit to the database. *)
     dbh#commit ();