+ for {set i 1} {$i <= $not} {incr i} {
+ if {$zstatus($i) != 2} continue
+ set status [z39$i.$setNo responseStatus]
+ if {[lindex $status 0] == "NSD"} {
+ z39$i.$setNo nextResultSetPosition 0
+ set code [lindex $status 1]
+ set msg [lindex $status 2]
+ set addinfo [lindex $status 3]
+ html {<dt>} [lindex $targets($hist($setNo,$i,host)) 0]
+ html "<dd>Error: $msg: $addinfo (code $code)<br>\n"
+ }
+ }
+ html "\n<br>"
+}
+
+proc display-result-set-m-server {setNo} {
+ global hist
+ global useIcons
+ global zstatus
+ global targets
+ global env
+ global sessionId
+
+ set not $hist($setNo,0,host)
+ html "<dl>\n"
+ for {set i 1} {$i <= $not} {incr i} {
+ if {$zstatus($i) != 2} continue
+ set status [z39$i.$setNo responseStatus]
+ if {[lindex $status 0] == "NSD"} {
+ html "<dt><h3>" [lindex $targets($hist($setNo,$i,host)) 0] ": "
+ z39$i.$setNo nextResultSetPosition 0
+ set code [lindex $status 1]
+ set msg [lindex $status 2]
+ set addinfo [lindex $status 3]
+ html "Error</h3>\n<dd>NSD$code: $msg: $addinfo"
+ } else {
+ html {<dt><a href="http:} $env(SCRIPT_NAME)
+ html / $sessionId {/search.egw/} $setNo + $i + 1
+ html + $hist($setNo,maxPresent) {">}
+ html "<h3>" [lindex $targets($hist($setNo,$i,host)) 0] "</a>: "
+ set r [z39$i.$setNo resultCount]
+ html "$r hits</h3>\n<dd>\n"
+
+ if {$hist($setNo,$i,offset) > $hist($setNo,maxPresent)} {
+ set nor $hist($setNo,maxPresent)
+ } else {
+ set nor $hist($setNo,$i,offset)
+ }
+ display-rec 1 $nor display-$hist($setNo,format) $setNo $i
+ }
+ html "\n"
+ }
+ html "</dl>\n"
+}
+
+proc display-result-set-m {setNo} {
+ global hist
+ global useIcons
+ global zstatus
+ global targets
+
+ egw_log debug "sort=$hist($setNo,sort)"
+ switch $hist($setNo,sort) {
+ score {
+ display-result-set-m-score $setNo
+ }
+ default {
+ display-result-set-m-server $setNo
+ }
+ }
+}
+
+proc display-result-set-s {setNo targetNo startPos endPos} {
+ global hist
+ global useIcons
+
+ set zz z39$targetNo
+ set host $hist($setNo,$targetNo,host)
+ set idAuth $hist($setNo,$targetNo,idAuthentication)
+ set database $hist($setNo,$targetNo,database)
+ set query $hist($setNo,$targetNo,query)
+
+ set useIcons 1
+
+ if {$startPos == ""} {
+ if {[z39search $setNo 1 $targetNo B] != "1"} {
+ return
+ }
+ set r [$zz.$setNo resultCount]
+
+ set setMax [$zz.$setNo resultCount]
+ if {$setMax > $hist($setNo,maxPresent)} {
+ set setMax $hist($setNo,maxPresent)
+ }
+ buttons-result-set-s $setNo $targetNo $setMax $startPos 0
+
+ set setOffset [$zz.$setNo numberOfRecordsReturned]
+ if {$setMax > 0} {
+ html {<h3> Records 1-} $setMax " out of $r</h3>\n"
+ } else {
+ html "<h3> No hits</h3>\n"
+ }
+ egw_flush
+ html "<ul>\n"
+ display-rec 1 $setMax display-brief $setNo $targetNo
+ incr setOffset
+
+ } else {
+ if {[z39search $setNo 0 $targetNo B] != "1"} {
+ return
+ }
+ set r [$zz.$setNo resultCount]
+ set setOffset $startPos
+ set setMax [$zz.$setNo resultCount]
+ if {$setMax > $endPos} {
+ set setMax $endPos
+ }
+ buttons-result-set-s $setNo $targetNo $setMax $startPos 0
+ if {$setMax > 0} {
+ html {<h3> Records } $startPos {-} $setMax " out of $r</h3>\n"
+ } else {
+ html "<h3> No hits</h3>\n"
+ }
+ egw_flush
+ html "<ul>\n"
+ }
+ if {$setMax > 0} {
+ z39present $setNo $targetNo $setOffset $setMax display-brief B
+ }
+ html "</ul>\n"
+ set useIcons 0
+ buttons-result-set-s $setNo $targetNo $setMax $startPos 1