/[health_html]/inc/search.php
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /inc/search.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by ravilov, Mon Aug 27 09:17:40 2001 UTC revision 1.4 by ravilov, Thu Aug 30 16:35:36 2001 UTC
# Line 1  Line 1 
1  <?php  <?php
2          $basic_logic = "AND";          $basic_logic = "AND";
3          function myCmp($a, $b) {          function Search($fields, $q1_fields, $q2_fields, $def_field = "") {
                 if ($a["caption"] == $b["caption"]) return 0;  
                 return ($a["caption"] < $b["caption"]) ? -1 : 1;  
         }  
         function Search($fields, $q1_fields, $q2_fields) {  
4                  global $go;                  global $go;
5                  $tp = new Smarty();                  $tp = new Smarty();
6                  $qry_1 = "";                  $qry_1 = "";
# Line 42  Line 38 
38                                  if (${"or_".($i - 1)}) $log = "OR";                                  if (${"or_".($i - 1)}) $log = "OR";
39                                  if (count($search) > 0) $search[count($search) - 1]["logic"] = $log;                                  if (count($search) > 0) $search[count($search) - 1]["logic"] = $log;
40                                  array_push($search, array(                                  array_push($search, array(
41                                          "field" => "",                                          "field" => $def_field ? $def_field : "",
42                                          "not" => "",                                          "not" => "",
43                                          "query" => "",                                          "query" => "",
44                                          "logic" => "",                                          "logic" => "",
# Line 54  Line 50 
50                          $tp->assign("search", $search);                          $tp->assign("search", $search);
51                  } else {                  } else {
52                          global $field, $query;                          global $field, $query;
53                          $tp->assign("field", $field);                          $tp->assign("field", $field?$field:$def_field);
54                          $tp->assign("query", MyEscape($query));                          $tp->assign("query", MyEscape($query));
55                  }                  }
56                  if (!$stype) $stype = 0;                  if (!$stype) $stype = 0;
# Line 72  Line 68 
68                                          $qry3 = array();                                          $qry3 = array();
69                                          while (list($k, $v) = each($qry1)) {                                          while (list($k, $v) = each($qry1)) {
70                                                  if (!$qry1[$k]) continue;                                                  if (!$qry1[$k]) continue;
71                                                  if (${"case_".$i})                                                  if (${"case_".$i}) $qq = "(".$fields[$field]["dbname"]." $not LIKE '%".$qry1[$k]."%')";
72                                                          $qq = "(".$fields[$field]["dbname"]." $not LIKE '%".$qry1[$k]."%')";                                                          else $qq = "(UPPER(".$fields[$field]["dbname"].") $not LIKE UPPER('%".$qry1[$k]."%'))";
                                                 else  
                                                         $qq = "(UPPER(".$fields[$field]["dbname"].") $not LIKE UPPER('%".$qry1[$k]."%'))";  
73                                                  $is_q1 = false;                                                  $is_q1 = false;
74                                                  for ($i = 0; $i < count($q1_fields); $i++)                                                  for ($j = 0; $j < count($q1_fields); $j++)
75                                                          if ($q1_fields[$i] == $field) $is_q1 = true;                                                          if ($q1_fields[$j] == $field) $is_q1 = true;
76                                                  $is_q2 = false;                                                  $is_q2 = false;
77                                                  for ($i = 0; $i < count($q2_fields); $i++)                                                  for ($j = 0; $j < count($q2_fields); $j++)
78                                                          if ($q2_fields[$i] == $field) $is_q2 = true;                                                          if ($q2_fields[$j] == $field) $is_q2 = true;
79                                                  if ($is_q1) $qry2[$k] = $qq;                                                  if ($is_q1) $qry2[$k] = $qq;
80                                                  if ($is_q2) $qry3[$k] = $qq;                                                  if ($is_q2) $qry3[$k] = $qq;
81                                          }                                          }
82                                          $qry1 = implode(" ".${"concat_".$i}." ", $qry2);                                          $qry1 = implode(" ".${"concat_".$i}." ", $qry2);
83                                          if ($qry1) {                                          if ($qry1) {
84                                                  if ($logic) $qry .= " $logic ";                                                  if ($logic) $qry_1 .= " $logic ";
85                                                  $qry_1 .= "($qry1)";                                                  $qry_1 .= "($qry1)";
86                                                  $logic = ${"logic_".$i};                                                  $logic = ${"logic_".$i};
87                                          }                                          }
# Line 120  Line 114 
114                                  $qry_2 = implode(" ".$basic_logic." ", $q3);                                  $qry_2 = implode(" ".$basic_logic." ", $q3);
115                          }                          }
116                  }                  }
                 uasort($fields, "myCmp");  
117                  $flds = array();                  $flds = array();
118                  while (list($k, $v) = each($fields)) {                  while (list($k, $v) = each($fields)) {
119                          array_push($flds, array(                          array_push($flds, array(

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.26