Major revision. Single-target result set can be reached from the
[egate.git] / www / msearch.egw
index c1c825a..ef43804 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 {
-# $Id: msearch.egw,v 1.3 1995/11/08 18:07:22 adam Exp $
+# $Id: msearch.egw,v 1.20 1996/03/13 14:07:29 adam Exp $
 
     if {[info commands saveState] == ""} {
         source z39util.tcl
 
     html "<head><title> WWW/Z39.50 Gateway Search </title>\n"
     html "</head><body>\n"
-    if {[wform menu1] == ""} {
-        set setNo [lindex $sessionParms 0]
-    } else {
-        if {![info exists hist($nextSetNo,0,host)]} {
-            set hist($nextSetNo,0,host) $hist($setNo,0,host)
-            for {set i 1} {$i <= $hist($setNo,0,host)} {incr i} {
-                set hist($nextSetNo,$i,host) $hist($setNo,$i,host)
-                set hist($nextSetNo,$i,database) $hist($setNo,$i,database)
+
+    set setNo [lindex $sessionParms 0]
+
+    if {[llength [egw_form]] > 0} {
+        if {[string length [egw_form host]] > 0} {
+            set hist($setNo,0,host) [llength [egw_form host]]
+            set i 1
+            foreach t [egw_form host] {
+                set hist($setNo,$i,host) $t
+                set hist($setNo,$i,database) [splitDatabaseSpec $t]
+                set hist($setNo,$i,idAuthentication) {}
+                incr i
             }
         }
+        if {![info exists hist($setNo,0,host)]} {
+            displayError {No servers selected} {}
+            egw_abort
+        }
+        set hist($nextSetNo,0,host) $hist($setNo,0,host)
+        for {set i 1} {$i <= $hist($setNo,0,host)} {incr i} {
+            set hist($nextSetNo,$i,host) $hist($setNo,$i,host)
+            set hist($nextSetNo,$i,database) $hist($setNo,$i,database)
+            set hist($nextSetNo,$i,idAuthentication) \
+                $hist($setNo,$i,idAuthentication) 
+        }
         set setNo $nextSetNo
         incr nextSetNo
 
         for {set i 1} {$i <= $hist($setNo,0,host)} {incr i} {
-            set hist($setNo,$i,query) [build-query $hist($setNo,$i,host)]
+            set hist($setNo,$i,query) [build-query $hist($setNo,$i,host) 3]
         }
-        set hist($setNo,maxPresent) [wform hits]
+
+        set hist($setNo,scan) 0
+
+        set hist($setNo,form,menu1) [egw_form menu1]
+        set hist($setNo,form,menu2) [egw_form menu2]
+        set hist($setNo,form,menu3) [egw_form menu3]
+
+        set hist($setNo,form,entry1) [egw_form entry1]
+        set hist($setNo,form,entry2) [egw_form entry2]
+        set hist($setNo,form,entry3) [egw_form entry3]
+
+        set hist($setNo,form,logic1) [egw_form logic1]
+        set hist($setNo,form,logic2) [egw_form logic2]
+        set hist($setNo,form,logic3) {}
+        
+        set hist($setNo,maxPresent) [egw_form hits]
         if {$hist($setNo,maxPresent) == ""} {
-            set hist($setNo,maxPresent) 30
+            set hist($setNo,maxPresent) 20
+        }
+        set hist($setNo,format) [egw_form format]
+        if {![string length $hist($setNo,format)]} {
+            set hist($setNo,format) brief
+        }
+        set hist($setNo,sort) [egw_form sort]
+        if {![string length $hist($setNo,sort)]} {
+            set hist($setNo,sort) server
         }
     }
-    z39msearch $setNo 1
 
-    html "<dl>\n"
-    set not $hist($setNo,0,host)
-    for {set i 1} {$i <= $not} {incr i} {
-        if {$zstatus($i) != 2} continue
-        html "<dt> " $hist($setNo,$i,host) ": "
-        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 "Error\n<dd>NSD$code: $msg: $addinfo"
-        } else {
-            set r [z39$i.$setNo resultCount]
-            html "$r hits\n<dd>\n"
+    set useIcons 1
+    button-main
+    button-new-query $setNo
+    button-view-history
+    button-new-target
 
-            display-rec 1 $hist($setNo,$i,offset) display-brief z39$i
-        }
-        html "\n"
-    }
-    html "</dl>\n"
-}
+    html "<br>\n"
+    z39msearch $setNo B 1 $hist($setNo,maxPresent) 1
 
+    display-result-set-m $setNo
 
-<hr>
-{
-    html {<a href="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/mtargets.egw"> New target </a>} " | \n"
-    html {<a href="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/mquery.egw/} $host + $setNo {"> New query </a>}
+    set useIcons 0
+    button-main
+    button-new-query $setNo
+    button-view-history
+    button-new-target
 }
 
 {
+    if {!$debug} return
     html "<hr>\n"
     html "<h3>Debug information</h3>\n"
     html "sessionId: $sessionId <br>\n"
     foreach e {SERVER_NAME PATH_INFO SCRIPT_NAME} {
         html $e {: } $env($e) {<br>} \n
     }
-    html "form: " [wform] " <br>\n"
-    html "target: " $host " <br>\n"
+    html "form: " [egw_form] " <br>\n"
     html "query: --" $hist($setNo,1,query) "-- <br>\n"
     html "database: " $hist($setNo,1,database) "<br>\n"
+    html "sort: " $hist($setNo,sort) "<br>\n"
+    html "format: " $hist($setNo,format) "<br>\n"
     html "setNo: " $setNo " <br>\n"
     html "nextSetNo: " $nextSetNo " <br>\n"
 }