X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=www%2Fquery.egw;h=74ad296851e55ec8458970dee32f9af055eedf9c;hb=8bafbc608e1ffba9ee87f4856e586dffa57901b8;hp=e188c71d361d56e2dd4449fbf84700da32e4d6b4;hpb=a6f3beb071fe8c894ee6c846c86296c84f48e3d4;p=egate.git diff --git a/www/query.egw b/www/query.egw index e188c71..74ad296 100644 --- a/www/query.egw +++ b/www/query.egw @@ -1,105 +1,238 @@ { -# $Id: query.egw,v 1.2 1995/10/27 15:12:04 adam Exp $ -proc init-response {} { +# $Id: query.egw,v 1.39 1996/03/14 11:50:47 adam Exp $ + + if {[info commands saveState] == ""} { + source z39util.tcl + if {![info exists debug]} { + session-lost + egw_abort + } + } + +proc fail-response {} { global sessionWait - htmlr {Init ok
} - htmlr {} - htmlr {} - set sessionWait 0 + set sessionWait -1 } - set t $sessionParms - set databases [lindex $targets($t) 1] - ir z39 +proc ok-response {} { + global sessionWait set sessionWait 1 - z39 connect $t - z39 callback init-response - z39 init } - - WWW/Z39.50 Gateway Query Form - - -

Search in databases

-

Not Functional Yet

-{ - html {
} + + global setNo + global nextSetNo + global hist + + html { WWW/Z39.50 Gateway Query Form} + + set initSet [lindex $sessionParms 0] + set host [lindex $sessionParms 1] + set scanLine [lindex $sessionParms 2] + set scanTerm [lrange $sessionParms 3 end] + + if {[catch {set setNo $nextSetNo}]} { + set nextSetNo 1 + set setNo 1 + } + if {[catch {set oldHost [z390 connect]}]} { + set oldHost "" + } + + set hist($setNo,0,host) $host + set hist($setNo,0,idAuthentication) [lindex $targets($host) 3] + + mkAssoc z390 $host + + z390 callback ok-response + z390 failback fail-response + set thisHost [splitHostSpec $host] + if {[string compare $thisHost $oldHost]} { + catch {z390 disconnect} + + set sessionWait 0 + if {[catch {z390 connect $thisHost}]} { + displayError "Cannot connect to target ${thisHost}" {} + html "\n" + z390 disconnect + egw_abort + } elseif {$sessionWait == 0} { + if {[catch {egw_wait sessionWait 35}]} { + displayError "Cannot connect to target ${thisHost}" {} + html "\n" + z390 disconnect + egw_abort + } + if {$sessionWait != 1} { + displayError "Cannot connect to target ${thisHost}" {} + html "\n" + z390 disconnect + egw_abort + } + } + set sessionWait 0 + z390 idAuthentication $hist($setNo,0,idAuthentication) + if {[catch {z390 init}]} { + displayError "Cannot initialize target ${thisHost}" {} + html "\n" + egw_abort + } + if {$sessionWait == 0 && [catch {egw_wait sessionWait 60}]} { + displayError "Cannot initialize target ${thisHost}" {} + html "\n" + egw_abort + } + if {$sessionWait != "1"} { + displayError "Cannot initialize target ${thisHost}" {} + html "\n" + egw_abort + } + if {![z390 initResult]} { + displayError "Connection rejected by target ${thisHost}" \ + [z390 userInformationField] + z390 disconnect + html "\n" + egw_abort + } + } + + set useIcons 1 + button-main + button-new-target + if {[lsearch [z390 options] scan] >= 0} { + button-scan-window $setNo + } + button-view-history + + html "

" [lindex $targets($host) 0] "


\n" + + html [lindex $targets($host) 4] "
\n" + + set databases [splitDatabaseSpec $host] + if {$initSet == -1} { + set databaseDefault [lindex $databases 0] + set oSetNo 0 + } else { + set oSetNo $initSet + set databaseDefault $hist($oSetNo,0,database) + } + + html {} \n set nodb [llength $databases] if {$nodb > 1} { if {$nodb > 2} { - htmlr {The chosen target supports searching in several databases.
} - htmlr {Choose the bases you want to search:
} + html "The chosen target supports searching in " + html "several databases.
\n" + html "Choose the bases you want to search:
\n" } set i 0 foreach d $databases { html { } $d + if {[lsearch $databaseDefault $d] == -1} { + html {"> } $d \n } else { - htmlr {" checked> } $d + html {" checked> } $d \n } } - htmlr {
} + html "
\n" if {$nodb > 2} { - html { All
} + html { All
} \n } } -} -
-Input your search criteria:
-{ - set fields [lindex $targets($t) 2] + html "Fill-in this search form:
\n" + set fields [lindex $targets($host) 2] for {set no 1} {$no < 4} {incr no} { - htmlr {} \n + set template {} + if {$oSetNo > 0} { + set template [join $hist($oSetNo,form,menu$no)] + } + if {[string length $template] > 0} { + html {
-
-This page is maintained by Peter Wad Hansen . -Last modified 29. september 1995.
- This and the following pages are under construction and will continue to be so -until the end of December 1995. -
-sessionId: {html $sessionId}
-sessionParms: {html $sessionParms}
{ + html {Number of records to display in the result set list: } + html {} + html "\n" + html "

\n" + + set useIcons 0 + button-main + button-new-target + if {[lsearch [z390 options] scan] >= 0} { + button-scan-window $setNo + } + button-view-history +} + +{ + catch maintenance + global debug + if {!$debug} return + html "


\n" + html "

Debug information

\n" + html "sessionId: $sessionId
\n" + html "sessionParms: $sessionParms
\n" foreach e {SERVER_NAME PATH_INFO SCRIPT_NAME} { - htmlr $e {: } $env($e) {
} + html $e {: } $env($e) {
} \n } + html "form: " [egw_form] "
\n" + html "target: " $host "
\n" + html "databases: " $databases "
\n" + html "setNo: " $setNo "
\n" + html "nextSetNo: " $nextSetNo "
\n" + html "initSet: " $initSet "
\n" + html "scanLine: " $scanLine "
\n" + html "scanTerm: " $scanTerm "
\n" } -form: {html [form]}
-target: {html $t}
-databases: {html $databases}
+