Work on target definitions.
[egate.git] / www / tdefine.egw
1 <html>
2 <head>
3 <title> WWW/Z39.50 Gateway Target Definition Response</title>
4 </head>
5 <body>
6 {
7 # $Id: tdefine.egw,v 1.1 1996/01/24 14:14:19 adam Exp $
8
9     if {[info commands saveState] == ""} {
10         source z39util.tcl
11     }
12     html "<h2>Target definition response</h2><br>\n"
13
14     set name [lindex [egw_form name] 0]
15     set description [lindex [egw_form description] 0]
16     set host [lindex [egw_form host] 0]
17     set databases [lindex [egw_form databases] 0]
18     set authentication [egw_form authentication]
19     set fields [lindex [egw_form fields] 0]
20
21     set ok 1
22     if {[string length $name] == 0} {
23         html "You didn't specify a target name. You <em>must</em> specify"
24         html " a target name<br>\n"
25         set ok 0
26     }
27     if {[string length $host] == 0} {
28         html "You didn't specify a target name. You <em>must</em> specify"
29         html " a host name<br>\n"
30         set ok 0
31     }
32     if {[string length $databases] == 0} {
33         html "You didn't specify any database(s). You <em>must</em> specify"
34         html " at least one database</br>\n"
35         set ok 0
36     }
37     catch {unset item}
38     catch {unset attrList}
39     set fname {}
40     foreach e $fields {
41         set eqn [string first = $e]
42         if {$eqn > 0} {
43             lappend item {@attr} $e
44         } else {
45             if {[info exists item]} {
46                 lappend attrList [list $fname $item]
47                 set fname {}
48                 unset item
49             }
50             if {[string length $fname] > 0} {
51                 set fname "${fname} $e"
52             } else {
53                 set fname $e
54             }
55         }
56     }
57     if {[info exists item]} {
58         lappend attrList [list $fname $item]
59     }
60     if {![info exists attrList]} {
61         html "You didn't specify proper search fields. At least one"
62         html " search fields must be present<br>\n"
63         set ok 0
64     }
65     if {$ok} {
66         global targets
67         set targets($host) [list \
68             [join $name] \
69             $databases \
70             $attrList \
71             $authentication \
72             $description \
73             1 ]
74         html "Target successfully defined<br>\n"
75     }
76 }
77 {
78     button-europagate
79     button-define-target 1
80     button-new-target 0
81 }
82
83 {
84     global debug
85
86     if {!$debug} return
87
88     html "name=" $name "<br>\n"
89     html "description=" $description "<br>\n"
90     html "host=" $host "<br>\n"
91     html "databases=" $databases "<br>\n"
92     html "fields=" $fields "<br>\n"
93     html "attrList=$attrList<br>\n"
94 }
95
96 </body></html>