--- inc/search.php 2001/08/27 09:17:40 1.3 +++ inc/search.php 2001/09/03 15:52:16 1.5 @@ -1,10 +1,9 @@ 0) $search[count($search) - 1]["logic"] = $log; array_push($search, array( - "field" => "", + "field" => $def_field ? $def_field : "", "not" => "", "query" => "", "logic" => "", @@ -54,7 +53,7 @@ $tp->assign("search", $search); } else { global $field, $query; - $tp->assign("field", $field); + $tp->assign("field", $field?$field:$def_field); $tp->assign("query", MyEscape($query)); } if (!$stype) $stype = 0; @@ -66,28 +65,26 @@ $i = 1; while (${"search_".$i}) { $field = ${"field_".$i}; - $not = ${"not_".$i} ? "NOT" : ""; + $not = ${"not_".$i} ? " NOT" : ""; $qry1 = preg_split('/\s+/', ${"query_".$i}); $qry2 = array(); $qry3 = array(); while (list($k, $v) = each($qry1)) { if (!$qry1[$k]) continue; - if (${"case_".$i}) - $qq = "(".$fields[$field]["dbname"]." $not LIKE '%".$qry1[$k]."%')"; - else - $qq = "(UPPER(".$fields[$field]["dbname"].") $not LIKE UPPER('%".$qry1[$k]."%'))"; + if (${"case_".$i}) $qq = "(".$fields[$field]["dbname"]."$not LIKE '%".$qry1[$k]."%')"; + else $qq = "(UPPER(".$fields[$field]["dbname"].")$not LIKE '%".MyUpper($qry1[$k])."%')"; $is_q1 = false; - for ($i = 0; $i < count($q1_fields); $i++) - if ($q1_fields[$i] == $field) $is_q1 = true; + for ($j = 0; $j < count($q1_fields); $j++) + if ($q1_fields[$j] == $field) $is_q1 = true; $is_q2 = false; - for ($i = 0; $i < count($q2_fields); $i++) - if ($q2_fields[$i] == $field) $is_q2 = true; + for ($j = 0; $j < count($q2_fields); $j++) + if ($q2_fields[$j] == $field) $is_q2 = true; if ($is_q1) $qry2[$k] = $qq; if ($is_q2) $qry3[$k] = $qq; } $qry1 = implode(" ".${"concat_".$i}." ", $qry2); if ($qry1) { - if ($logic) $qry .= " $logic "; + if ($logic) $qry_1 .= " $logic "; $qry_1 .= "($qry1)"; $logic = ${"logic_".$i}; } @@ -105,7 +102,7 @@ $q3 = array(); while (list($k, $v) = each($q)) { if (!$q[$k]) continue; - $qq = "(UPPER(".$fields[$field]["dbname"].") LIKE UPPER('%".$q[$k]."%'))"; + $qq = "(UPPER(".$fields[$field]["dbname"].") LIKE '%".MyUpper($q[$k])."%')"; $is_q1 = false; for ($i = 0; $i < count($q1_fields); $i++) if ($q1_fields[$i] == $field) $is_q1 = true; @@ -120,7 +117,6 @@ $qry_2 = implode(" ".$basic_logic." ", $q3); } } - uasort($fields, "myCmp"); $flds = array(); while (list($k, $v) = each($fields)) { array_push($flds, array( @@ -128,12 +124,15 @@ "caption" => MyEscape($v["caption"]) )); } + usort($flds, "MySort"); $tp->assign("fields", $flds); global $PHP_SELF, $section, $section_menu; $tp->assign("section", $section); $tp->assign("section_menu", $section_menu); $tp->assign("FORM_ACTION", $PHP_SELF.HTMLSpecialChars("?section=$section§ion_menu={$section_menu}&stype=$stype")); $form = $tp->fetch("search.tpl"); + global $onload; + $onload .= "document.forms[0].elements[".($stype?2:1)."].focus();"; return array($form, $qry_1, $qry_2); } ?>