X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=www%2Fsearch.egw;h=c72263edcde47c9b3b71ba8cb1aa663315b54ad0;hb=09f416a26c1c7e35ead317106f985774ec0c97bd;hp=76a443414e1a89658f1099ae49c5f776147f82e1;hpb=6e37e8e91bf35cb14c930e8988085cf78f11029a;p=egate.git
diff --git a/www/search.egw b/www/search.egw
index 76a4434..c72263e 100644
--- a/www/search.egw
+++ b/www/search.egw
@@ -1,6 +1,155 @@
{
-# $Id: search.egw,v 1.9 1995/11/07 14:56:59 adam Exp $
+# $Id: search.egw,v 1.19 1995/12/21 15:49:52 adam Exp $
+
+proc perform-scan {} {
+ global sessionId
+ global sessionParms
+ global sessionWait
+ global setNo
+ global hist
+ global targets
+ global nextSetNo
+ global env
+
+ set scanNo 1000
+
+ set termPlusAttr [build-scan $hist($setNo,host) 3]
+
+ if {"$termPlusAttr" == ""} {
+ html "
WWW/Z39.50 Gateway Scan\n\n"
+ displayError "Empty query" \
+ "You must specify at least one search word"
+ html "\n"
+ wabort
+ }
+ set hist($setNo,scanAttr) [lindex $termPlusAttr 1]
+ set hist($setNo,$scanNo,scanTerm) [lindex $termPlusAttr 0]
+
+ set hist($setNo,form,menu1) [wform menu1]
+ set hist($setNo,form,menu2) ""
+ set hist($setNo,form,menu3) ""
+
+ set hist($setNo,form,entry1) [wform entry1]
+ set hist($setNo,form,entry2) ""
+ set hist($setNo,form,entry3) ""
+
+ set hist($setNo,form,logic1) ""
+ set hist($setNo,form,logic2) ""
+
+ incr nextSetNo
+
+ set host $hist($setNo,host)
+ set databases [lindex $targets($host) 1]
+
+ set b [wform base]
+ if {[wform baseall] != ""} {
+ set hist($setNo,database) $databases
+ } elseif {$b == ""} {
+ set hist($setNo,database) $databases
+ } else {
+ set hist($setNo,database) $b
+ }
+ set hist($setNo,maxPresent) [wform hits]
+ if {$hist($setNo,maxPresent) == ""} {
+ set hist($setNo,maxPresent) 30
+ }
+ set host $hist($setNo,host)
+ set databases [lindex $targets($host) 1]
+
+ html " WWW/Z39.50 Gateway Scan " $host " \n"
+ html "\n"
+
+ if {[z39scan $setNo $scanNo 0 20 10] != "1"} {
+ return
+ }
+ display-scan $setNo $scanNo 0
+
+ html "
\n"
+ html "Debug information
\n"
+ html "sessionId: $sessionId
\n"
+ html "sessionParms: $sessionParms
\n"
+ foreach e {SERVER_NAME PATH_INFO SCRIPT_NAME} {
+ html $e {: } $env($e) {
} \n
+ }
+ html "form: " [wform] "
\n"
+ html "target: " $host "
\n"
+ html "databases: " $hist($setNo,database) "
\n"
+ html "selected: " [wform base] "
\n"
+ html "setNo: " $setNo "
\n"
+ html "nextSetNo: " $nextSetNo "
\n"
+
+ html "\n"
+}
+
+proc buttons {setNo setMax startPos after} {
+ global sessionId
+ global useIcons
+ global env
+ global hist
+
+ if {!$useIcons && $after && $setMax < [z39.$setNo resultCount]} {
+ html "\n"
+ html "
\n"
+ html {
}
+ html "\n"
+ }
+
+ html "\n"
+ if {$useIcons} {
+ html {
}
+ }
+ if {$setMax < [z39.$setNo resultCount]} {
+ html {
}
+ } else {
+ html {">Next records} " | \n"
+ }
+ }
+ if {$startPos != "" && $startPos != "1"} {
+ html {
}
+ } else {
+ html {">Previous records} " | \n"
+ }
+ }
+ html {
}
+ } else {
+ html {">New query} " | \n"
+ }
+
+ html {
}
+ } else {
+ html {">New target}
+ }
+ html "
\n"
+ if {!$useIcons && !$after && $startPos != "" && $startPos != "1"} {
+ html "
\n"
+ html {
}
+ html "\n"
+ }
+
+}
if {[info commands saveState] == ""} {
source z39util.tcl
@@ -10,21 +159,42 @@
global setNo
global hist
- set oldHost $hist($setNo,host)
-
- if {[wform menu1] == ""} {
- set setNo [lindex $sessionParms 0]
- } else {
- if {![info exists hist($nextSetNo,host)]} {
- set hist($nextSetNo,host) $oldHost
+ set setNo [lindex $sessionParms 0]
+ if {[wform menu1] != ""} {
+ if {[wform submit] == "Scan"} {
+ perform-scan
+ wabort
}
- set setNo $nextSetNo
- html "using host " $hist($setNo,host) "
WWW/Z39.50 Gateway Search\n\n"
+ displayError "Empty query" \
+ "You must specify at least one search word"
+ html "\n"
+ wabort
+ }
+ set hist($setNo,query) $query
+
+ set hist($setNo,form,menu1) [wform menu1]
+ set hist($setNo,form,menu2) [wform menu2]
+ set hist($setNo,form,menu3) [wform menu3]
+
+ set hist($setNo,form,entry1) [wform entry1]
+ set hist($setNo,form,entry2) [wform entry2]
+ set hist($setNo,form,entry3) [wform entry3]
+
+ set hist($setNo,form,logic1) [wform logic1]
+ set hist($setNo,form,logic2) [wform logic2]
+
incr nextSetNo
+
+ set host $hist($setNo,host)
+ set databases [lindex $targets($host) 1]
- set hist($setNo,query) [build-query $hist($setNo,host)]
set b [wform base]
- if {$b == ""} {
+ if {[wform baseall] != ""} {
+ set hist($setNo,database) $databases
+ } elseif {$b == ""} {
set hist($setNo,database) $databases
} else {
set hist($setNo,database) $b
@@ -45,58 +215,40 @@
set setMax 0
set setOffset 0
if {$startPos == ""} {
- if {[z39search $setNo 1] != "1"} {
+ if {[z39search $setNo 1 0 B] != "1"} {
return
}
set r [z39.$setNo resultCount]
- html " Search result $r hits
\n"
+ html " Search result $r hits
\n"
wflush
set setOffset [z39.$setNo numberOfRecordsReturned]
- display-rec 1 $setOffset display-brief z39
+ display-rec 1 $setOffset display-brief 0
incr setOffset
set setMax [z39.$setNo resultCount]
if {$setMax > $hist($setNo,maxPresent)} {
set setMax $hist($setNo,maxPresent)
}
} else {
- if {[z39search $setNo 0] != "1"} {
+ if {[z39search $setNo 0 0 B] != "1"} {
return
}
set r [z39.$setNo resultCount]
- html " Search result $r hits
\n"
- wflush
set setOffset $startPos
set setMax [z39.$setNo resultCount]
if {$setMax > $endPos} {
set setMax $endPos
}
+ if {$setMax > 0} {
+ buttons $setNo $setMax $startPos 0
+ }
+ html " Search result $r hits
\n"
+ wflush
}
if {$setMax > 0} {
- z39present $setNo $setOffset $setMax display-brief
+ z39present $setNo 0 $setOffset $setMax display-brief B
}
-}
-
-
-{
- if {$setMax < [z39.$setNo resultCount]} {
- html { Next } "| \n"
- }
- if {$startPos != "" && $startPos != "1"} {
- html { Prev } "| \n"
- }
- html { New target } " | \n"
- html { New query }
+ buttons $setNo $setMax $startPos 1
}
{