Uses string compare instead of !=/== when possible.
[egate.git] / www / query.egw
index 92e2e1d..1d339f2 100644 (file)
@@ -4,7 +4,7 @@
 </head>
 <body>
 {
-# $Id: query.egw,v 1.25 1996/01/04 10:40:00 adam Exp $
+# $Id: query.egw,v 1.33 1996/02/21 16:57:38 adam Exp $
 
     if {[info commands saveState] == ""} {
         source z39util.tcl
@@ -44,66 +44,72 @@ proc ok-response {} {
         ir z39
     }
 
-    html "<h2>Search in " [lindex $targets($host) 0] "</h2>\n"
     z39 callback ok-response
     z39 failback fail-response
-    if {$host != $oldHost} {
+    set thisHost [splitHostSpec $host]
+    if {[string compare $thisHost $oldHost]} {
         catch {z39 disconnect}
 
         set sessionWait 0
-        if {[catch {z39 connect $host}]} {
-            displayError "Cannot connect to target ${host}" {}
+        if {[catch {z39 connect $thisHost}]} {
+            displayError "Cannot connect to target ${thisHost}" {}
             html "</body></html>\n"
             z39 disconnect
-            wabort
+            egw_abort
         } elseif {$sessionWait == 0} {
-            if {[catch {zwait sessionWait 35}]} {
-                displayError "Cannot connect to target ${host}" {}
+            if {[catch {egw_wait sessionWait 35}]} {
+                displayError "Cannot connect to target ${thisHost}" {}
                 html "</body></html>\n"
                z39 disconnect
-                wabort
+                egw_abort
             }
             if {$sessionWait != 1} {
-                displayError "Cannot connect to target ${host}" {}
+                displayError "Cannot connect to target ${thisHost}" {}
                 html "</body></html>\n"
                z39 disconnect
-                wabort
+                egw_abort
             }
         }
         set sessionWait 0
         z39 idAuthentication $hist($setNo,idAuthentication)
         if {[catch {z39 init}]} {
-            displayError "Cannot initialize target ${host}" {}
+            displayError "Cannot initialize target ${thisHost}" {}
             html "</body></html>\n"
-            wabort
+            egw_abort
         }
-        if {[catch {zwait sessionWait 60}]} {
-            displayError "Cannot initialize target ${host}" {}
+        if {[catch {egw_wait sessionWait 60}]} {
+            displayError "Cannot initialize target ${thisHost}" {}
             html "</body></html>\n"
-            wabort
+            egw_abort
        }       
         if {$sessionWait != "1"} {
-            displayError "Cannot initialize target ${host}" {}
-            htmlr "</body></html>\n"
-            wabort
+            displayError "Cannot initialize target ${thisHost}" {}
+            html "</body></html>\n"
+            egw_abort
         }
         if {![z39 initResult]} {
-            displayError "Connection rejected by target ${host}" \
+            displayError "Connection rejected by target ${thisHost}" \
                  [z39 userInformationField]
             z39 disconnect
-            htmlr "</body></html>"
-            wabort
+            html "</body></html>\n"
+            egw_abort
         }
     }
+
+    set useIcons 1
+    button-europagate
+    button-new-target 1
+    if {[lsearch [z39 options] scan] >= 0} {
+        button-scan-window 1 $setNo
+    }
+    button-view-history 0 
+
+    html "<h2>" [lindex $targets($host) 0] "</h2><br>\n"
+
+    html [lindex $targets($host) 4] "<br>\n"
+
     set databases [lindex $targets($host) 1]
 
-#    if {[catch {set prevHost $hist([expr $setNo - 1],host)}]} {
-#        set databaseDefault [lindex $databases 0]
-#        set oSetNo 0
-#    } else {
-#        set oSetNo [expr $setNo - 1]
-#        set databaseDefault $hist($oSetNo,database)
-#    }
     if {$initSet == ""} {
         set databaseDefault [lindex $databases 0]
         set oSetNo 0
@@ -113,7 +119,7 @@ proc ok-response {} {
     }
     
     html {<form action="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/search.egw/} $setNo {" method=post>} \n
+    html / $sessionId {/search.egw/} $setNo {" method=get>} \n
     set nodb [llength $databases]
     if {$nodb > 1} {
         if {$nodb > 2} {
@@ -135,41 +141,49 @@ proc ok-response {} {
             html {<input type="checkbox" name="baseall" value="} 
             html [concat $databases] {"> All <br>} \n
         }
-        html "Input your search criteria:<br>\n"
     }
+    html "Input your search criteria:<br>\n"
     set fields [lindex $targets($host) 2]
     for {set no 1} {$no < 4} {incr no} {
         html {<select name="menu} $no {">} \n
+        set template {}
         if {$oSetNo > 0} {
-            html {<option> } $hist($oSetNo,form,menu$no) \n
+            set template [join $hist($oSetNo,form,menu$no)]
+        }
+        if {[string length $template] > 0} {
+            html {<option> } $template "\n"
         }
         foreach f $fields {
             set name [lindex $f 0]
-            if {$oSetNo > 0} {
-                if {$hist($oSetNo,form,menu$no) == $name} continue
-            }
+            if {$template == $name} continue
             html {<option> } $name \n
         }
         html "</select>\n"
         html {<input type="text" name="entry} $no {"}
+        set template {}
         if {$scanLine == $no} {
-            html { value="} [join $scanTerm " "] {"}
+            set template [join $scanTerm " "] 
         } elseif {[info exists hist($oSetNo,form,entry$no)]} {
-            html { value="} [join $hist($oSetNo,form,entry$no) " "] {"}
+            set template [join $hist($oSetNo,form,entry$no) " "]
+        }
+        if {[string length $template] > 0} {
+            html { value="} $template {"}
         }
-        html { size=35> }
-        if {[lsearch [z39 options] scan] >= 0} {
+        html { size=43> }
+        if {0 && [lsearch [z39 options] scan] >= 0} {
             html {<input type="checkbox" name="scan} $no {" value="1" scan>}
         }
         if {$no < 3} {
             html {<select name="logic} $no {">} \n
+            set template {}
             if {$oSetNo > 0} {
-                html "<option> " [join $hist($oSetNo,form,logic$no) " "] \n
+                set template [join $hist($oSetNo,form,logic$no) " "]
+            }
+            if {[string length $template] > 0} {
+                html "<option> " $template \n
             }
             foreach op {And Or {And not}} {
-                if {$oSetNo > 0} {
-                    if {$hist($oSetNo,form,logic$no) == $op} continue
-                }
+                if {$template == $op} continue
                 html "<option> " [join $op " "] \n
             }
             html "</select>\n"
@@ -190,14 +204,15 @@ proc ok-response {} {
         html 20
     }
     html {" size=4>}
-}
-</form>
-<p>
+    html "</form>\n"
+    html "<p>\n"
 
-{
+    set useIcons 0
     button-europagate
-
     button-new-target 1
+    if {[lsearch [z39 options] scan] >= 0} {
+        button-scan-window 1 $setNo
+    }
     button-view-history 0 
 }
 
@@ -212,7 +227,7 @@ proc ok-response {} {
     foreach e {SERVER_NAME PATH_INFO SCRIPT_NAME} {
         html $e {: } $env($e) {<br>} \n
     }
-    html "form: " [wform] " <br>\n"
+    html "form: " [egw_form] " <br>\n"
     html "target: " $host " <br>\n"
     html "databases: " $databases " <br>\n"
     html "setNo: " $setNo " <br>\n"
@@ -222,5 +237,3 @@ proc ok-response {} {
     html "scanTerm: " $scanTerm " <br>\n"
 }
 </body></html>
-
-