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

Contents of /inc/mnogo/search.inc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations)
Tue Oct 16 13:07:03 2001 UTC (22 years, 5 months ago) by ravilov
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
Added a favicon for IE. Added a new Smarty modifier (js_popup). Fixed the news editor. Other bugfixes.

1 <?php
2
3 /* mnoGoSearch-php v.3.1.2.5
4 * for mnoGoSearch ( formely known as UdmSearch ) free web search engine
5 * (C) 1999,2000 by Sergey Kartashoff <gluke@biosys.net>
6 * (C) 1998-1999 by Vladas Lapinskas <lapinskas@mail.iae.lt>
7 * Kir Kolyshkin <kir@sever.net>
8 * UdmSearch Developers Team <devel@search.udm.net>
9 * oracle7 support by Roman V. Petrov (poma@mail.ru)
10 *
11 * features: ispell support (db & text mode),
12 * mysql , oracle (both v7 and v8) and postgresql SQL-backends
13 * both in native and odbc modes support
14 * crc-multi, crc, multi-dict and single-dict storage modes support
15 */
16
17 global $mnogo_output;
18
19 $mnogo_output="";
20
21 $dir="inc/mnogo";
22 #$dir=".";
23
24 require("$dir/config.inc");
25 require("$dir/init.inc");
26 require("$dir/common.inc");
27
28 require("$dir/template.inc");
29 require("$dir/db_func.inc");
30 require("$dir/ispell.inc");
31 require("$dir/parse.inc");
32
33 global $template_file;
34 global $found,$np,$isnext,$ps,$tag,$ul,$ue,$self,$o,$m,$cat;
35 global $dt, $dp, $dx, $dm, $dy, $dd, $db, $de, $lang;
36 global $q_local,$ul_local,$ue_local,$t_local,$db_local,$de_local,$lang_local;
37
38 if ($lang_content_negotiation == "yes") {
39 // path to template file ($lang_content_negotiation = "yes")
40 // please refer to docs on this feature before using it.
41 $template_file= ereg_replace(".php.*", ".htm", basename($SCRIPT_FILENAME));
42 $template_file = "./$dir/" . $template_file;
43 } else {
44 // path to template file ($lang_content_negotiation = "no")
45 $template_file="$dir/search.htm";
46 }
47
48 // -----------------------------------------------
49 // M A I N
50 // -----------------------------------------------
51
52
53 init();
54
55
56 if (! $have_query_flag) {
57 print_template('bottom');
58 drop_temp_table(0);
59 return;
60 } elseif ($have_query_flag && ($q=='')) {
61 print_template('noquery');
62 print_template('bottom');
63 drop_temp_table(0);
64 return;
65 }
66
67 if (eregi('db',$ispellmode) || eregi('text',$ispellmode)) load_affix();
68
69 list($query_url_id,$query_url,$query_count_url_id)=last_parse($q);
70
71 if (count($all_words) == 0) {
72 print_template('notfound');
73 print_template('bottom');
74 drop_temp_table(0);
75 track_query($query_orig,time(),0);
76 return;
77 }
78
79 if (($dbtype == 'oracle')||
80 ($dbtype == 'oracle7') ||
81 ($dbtype == 'oracle8'))
82 {
83 if($DEBUG) echo "main(): ",$query_count_url_id,"<BR><HR>";
84
85 if (!($res2=db_query($query_count_url_id))) print_error_local('Query error: '.$query_count_url_id."\n<BR>".db_error());
86
87 $row=db_fetchrow($res2);
88 $found=$row[0];
89
90 db_freeresult($res2);
91 }
92
93 if($DEBUG) echo "main(): ",$query_url_id,"<BR><HR>";
94 if (!($res=db_query($query_url_id))) print_error_local('Query error: '.$query_url_id."\n<BR>".db_error());
95
96 $from=IntVal($np)*IntVal($ps);
97 $to=IntVal($np+1)*IntVal($ps);
98
99 if (($dbtype == 'mysql') ||
100 ($dbtype == 'pgsql') ||
101 ($dbtype == '')) {
102 $found=db_numrows($res);
103 }
104
105 if($to>$found) $to=$found;
106 if (($from+$ps)<$found) $isnext=1;
107 $nav=make_nav($query_orig);
108
109 if ($found>0) {
110 print_template('restop');
111 } else {
112 print_template('notfound');
113 print_template('bottom');
114 drop_temp_table(0);
115 track_query($query_orig,time(),0);
116 return;
117 }
118
119 $data_seek=db_dataseek($res,$from);
120 if (! $data_seek) {
121 print_template('notfound');
122 print_template('bottom');
123 drop_temp_table(0);
124 track_query($query_orig,time(),0);
125 return;
126 }
127
128 $url_id_array=array();
129 $rating_array=array();
130
131 for ($i=0; $i<$ps; $i++) {
132 $row=db_fetchrow($res);
133
134 if (!$row) break;
135
136 $url_id_array[] = $row[0];
137 $rating_array[] = $row[1];
138 }
139
140 db_freeresult($res);
141
142 drop_temp_table(1);
143
144 $ndoc=$from+1;
145 for ($i=0; $i<count($url_id_array); $i++) {
146
147 $query=ereg_replace("%URL_IN%",$url_id_array[$i],$query_url);
148 $rating=$rating_array[$i];
149
150 if($DEBUG) echo "main(): ",$query,"<BR><HR>";
151 if (!($res=db_query($query))) print_error_local('Query error: '.$query."\n<BR>".db_error());
152
153 $data=db_fetchrow($res);
154 db_freeresult($res);
155
156 $url=$data[0];
157 $title=$data[1];
158 $title=($title) ? htmlspecialChars($title):'No title';
159 $text=ParseDocText(htmlspecialChars($data[2]));
160 $contype=$data[3];
161 $docsize=$data[4];
162 $lastmod=format_lastmod($data[5]);
163 $keyw=htmlspecialChars($data[6]);
164 $desc=htmlspecialChars($data[7]);
165 $crc=$data[8];
166 $rec_id=0+$data[9];
167
168 if ($db_format == '3.1') {
169 $category=$data[10];
170 }
171
172 if ((ereg("^ftp://", $url)) &&
173 ($templates['ftpres'][0] != '')) {
174 print_template('ftpres');
175 } elseif ((ereg("^https?://", $url)) &&
176 ($templates['httpres'][0] != '')) {
177 print_template('httpres');
178 } else {
179 print_template('res');
180 }
181
182 $ndoc++;
183 }
184
185 print_template('resbot');
186 print_template('bottom');
187
188 track_query($query_orig,time(),$found);
189
190 if ($dbtype == 'oracle7') {
191 Ora_Close($dbconn); // closing oracle7 cursor
192 }
193
194 ?>

  ViewVC Help
Powered by ViewVC 1.1.26