source: main/trunk/greenstone2/macros/query.dm@ 23614

Last change on this file since 23614 was 23614, checked in by ak19, 13 years ago

Clear Form button wasn't clearing the Advanced Query Mode form (textarea).

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 28.7 KB
Line 
1# this file must be UTF-8 encoded
2package query
3
4
5#######################################################################
6# Macros whose values are set from within the server at runtime. These
7# are here only for reference and to set default values if required.
8#######################################################################
9
10_quotedquery_ {}
11_freqmsg_ {}
12_stopwordsmsg_ {}
13_resultline_ {}
14_thisfirst_ {}
15_thislast_ {}
16_nextfirst_ {}
17_nextlast_ {}
18_prevfirst_ {}
19_prevlast_ {}
20_searchhistorylist_ {}
21#_histvalue0_ to _histvalue19_
22_advformlist_ {}
23_regformlist_ {}
24_sqladvformlist_ {}
25_sqlregformlist_ {}
26#_fqfselection_ {}
27
28
29#######################################################################
30# icons
31#######################################################################
32
33_queryresultsbar_ {
34<div class="divbar">
35<p class="navbar">_texthresults_</p>
36</div>
37}
38
39_searchhistorybar_ {
40<div class="divbar">
41<p class="navbar">_texticonsearchhistorybar_</p>
42</div>
43}
44
45
46# _iconnext_ and _iconprev_ are overridden in this package as we
47# don't want alt text here
48_iconnext_{<img src="_httpiconmore_" width="_widthmore_" height="_heightmore_" border="0" align="top">}
49_iconnext_ [v=1] {}
50_iconprev_{<img src="_httpiconless_" width="_widthless_" height="_heightless_" border="0" align="top">}
51_iconprev_ [v=1] {}
52
53# the small squares for search history
54## " " ## handmade ## mstds ##
55_httpiconmstdsqrof_ {_httpimg_/mstdsof.gif}
56_httpiconmstdsqron_ {_httpimg_/mstdson.gif}
57_widthmstdsqrx_ {13}
58_heightmstdsqrx_ {13}
59
60#######################################################################
61# images
62#######################################################################
63
64# _imagethispage_ set in nav_css/nav_ns4 macro files
65
66#the buttons for the search history entries
67# takes one arg - the entry number (0-num entries)
68_imagehistbutton_ {<a href="_httpquery_" onMouseover="roll('histbutton_1_',1);" onMouseOut="roll('histbutton_1_',0);" onClick="inputQuery(histvalue_1_); return false;"><img name="histbutton_1_" src="_httpiconmstdsqrof_" onLoad="gbutton(this,'_httpiconmstdsqron_');" border="0" alt="_textusequery_" title="_textusequery_"></a>}
69
70
71#######################################################################
72# scripts (and some macros for the scripts)
73#######################################################################
74
75_pagescriptextra_ {_If_("_cgiargqt_" ge "1", _formpagescriptextra_, _selectpagescriptextra_)
76_If_("_cgiarghd_" ne "0",_historypagescriptextra_) }
77
78_selectpagescriptextra_{_If_("_cgiargqto_" eq "2", _formpagescriptextra_,_dummypagescriptextra_)}
79_dummypagescriptextra_{function initialize() \{
80\} }
81_formpagescriptextra_ {
82// query scripts generated by \_query:pagescriptextra\_
83
84_standardfunctions_
85_formfunctions_
86_searchfunctions_
87
88function getsearchargs () \{
89
90 var args="";
91 args = "&fqa=0&fqv="+argfqv+"&fqf="+argfqf;
92 _If_(_cgiargb_,
93 args += "&fqk="+argfqk+"&fqs="+argfqs+"&fqc="+argfqc;
94 )
95 _If_("_cgiarga_" eq "sqlq",args += "&sqlfqf="+argsqlfqf + "&sqlfqc="+argsqlfqc;)
96
97 return args;
98\}
99
100
101
102function getqueryargs () \{
103 var args = "&fqa=1"+"&q="+argq+"&fqv="+argfqv+"&fqf="+argfqf+
104 "&fqk="+argfqk+"&fqs="+argfqs+"&fqc="+argfqc;
105 _If_("_cgiarga_" eq "sqlq",args += "&sqlfqf="+argsqlfqf + "&sqlfqc="+argsqlfqc;)
106 return args;
107\}
108
109}
110
111_historypagescriptextra_{
112
113var histvalue0='_histvalue0_';
114var histvalue1='_histvalue1_';
115var histvalue2='_histvalue2_';
116var histvalue3='_histvalue3_';
117var histvalue4='_histvalue4_';
118var histvalue5='_histvalue5_';
119var histvalue6='_histvalue6_';
120var histvalue7='_histvalue7_';
121var histvalue8='_histvalue8_';
122var histvalue9='_histvalue9_';
123var histvalue10='_histvalue10_';
124var histvalue11='_histvalue11_';
125var histvalue12='_histvalue12_';
126var histvalue13='_histvalue13_';
127var histvalue14='_histvalue14_';
128var histvalue15='_histvalue15_';
129var histvalue16='_histvalue16_';
130var histvalue17='_histvalue17_';
131var histvalue18='_histvalue18_';
132var histvalue19='_histvalue19_';
133
134function inputQuery(value) \{
135 if ("_cgiargqt_" == "0") \{ // text search
136 document.QueryForm.q.value += " "+value;
137 document.QueryForm.q.focus();
138 \}
139 else \{
140 if ("_cgiargb_" == "1") \{ // advanced query
141 document.QueryForm.q.value += " "+value;
142 document.QueryForm.q.focus();
143 updateq();
144 \}
145 else \{ // simple form search
146 // do something here, what??
147 \}
148 \}
149\}
150
151}
152
153_standardfunctions_{
154
155 function getstdargs() \{
156
157 stdarg = "";
158 _If_(_gselection_,_getgarg_)
159 _If_(_jselection_,_getjarg_)
160 _If_(_nselection_,_getnarg_)
161 _If_(_sqlsfselection_,_getsqlsfarg_)
162 _If_(_sfselection_,_getsfarg_)
163
164 if (document.QueryForm.t != null) \{
165 value = document.QueryForm.t.options[document.QueryForm.t.selectedIndex].value;
166 if (value != "_cgiargt_") stdarg += "&t="+value;
167 \}
168 stdarg += "&r=1&hs=1";
169 return stdarg;
170 \}
171
172}
173
174_getgarg_{
175 if (document.QueryForm.g!= null) \{
176 value = document.QueryForm.g.options[document.QueryForm.g.selectedIndex].value;
177 if (value != "_cgiargg_") stdarg += "&g="+value;
178 \}
179}
180
181_getjarg_{
182 value = document.QueryForm.j.options[document.QueryForm.j.selectedIndex].value;
183 if (value != "_cgiargj_") stdarg += "&j="+value;
184}
185
186_getnarg_{
187 value = document.QueryForm.n.options[document.QueryForm.n.selectedIndex].value;
188 if (value != "_cgiargn_") stdarg += "&n="+value;
189}
190
191# currently only supported in lucene
192_getsfarg_{
193_If_("_cgiarga__cgiargct_" eq "q2",
194 value = document.QueryForm.sf.options[document.QueryForm.sf.selectedIndex].value;
195 if (value != "_cgiargsf_") stdarg += "&sf="+value;
196)
197}
198
199# only when in sql mode
200_getsqlsfarg_{
201_If_("_cgiarga__cgiargqt_" eq "sqlq2",
202 value = document.QueryForm.sqlsf.options[document.QueryForm.sqlsf.selectedIndex].value;
203 if (value != "_cgiargsqlsf_") stdarg += "&sqlsf="+value;
204)
205}
206
207_formfunctions_{
208
209argfqf="_cgiargfqf_";
210argfqv="_cgiargfqv_";
211argfqk="_cgiargfqk_";
212argfqs="_cgiargfqs_";
213argfqc="_cgiargfqc_";
214_If_("_cgiarga_" eq "sqlq",
215argsqlfqf="_cgiargsqlfqf_";
216argsqlfqc="_cgiargsqlfqc_";
217)
218argq = "";
219
220function initialize () \{
221
222 if (document.QueryForm.fqf != null) \{initfqf(); \}
223 if (document.QueryForm.fqv != null) \{initfqv(); \}
224 if (document.QueryForm.fqs != null) \{initfqs(); \}
225 if (document.QueryForm.fqk != null) \{initfqk(); \}
226 if (document.QueryForm.fqc != null) \{initfqc(); \}
227_If_("_cgiarga_" eq "sqlq",
228 if (document.QueryForm.sqlfqf != null) \{initsqlfqf(); \}
229 if (document.QueryForm.sqlfqc != null) \{initsqlfqc(); \}
230)
231 if (document.QueryForm.q != null) \{initq(); \}
232\}
233
234// makes a form submit itself when enter is pressed in a text field
235function entersubmit(event) \{
236
237 if (window.event && window.event.keyCode == 13) \{
238 beginSearch();
239 \} else \{
240 if (event && event.which == 13) \{
241 beginSearch();
242 \} else \{
243 return true;
244 \}
245 \}
246\}
247
248
249// fqf - the field selection box
250function initfqf() \{
251 var i;
252 fqf = argfqf.split(",");
253 num_opts = document.QueryForm.fqf[0].options.length; // assumes all have the same options
254 for (i=0; i<fqf.length && i<document.QueryForm.fqf.length; i++) \{
255 if (fqf[i] != "")\{
256 for (j=0;j<num_opts;j++) \{
257 if (fqf[i]== document.QueryForm.fqf[i].options[j].value) \{
258 document.QueryForm.fqf[i].options[j].selected = true;
259 break;
260 \}
261 \}
262 \}
263 \}
264 if (fqf.length < document.QueryForm.fqf.length) \{ // initialize remaining ones
265 for (i=fqf.length;i<document.QueryForm.fqf.length;i++) \{
266 var z=i;
267 while (z >= num_opts) \{
268 z = z-(num_opts);
269 \}
270 document.QueryForm.fqf[i].options[z].selected = true;
271
272 \}
273 \}
274 updatefqf();
275
276\}
277
278function updatefqf() \{
279
280 var i;
281 argfqf = "";
282 var j = document.QueryForm.fqf[0].selectedIndex;
283 argfqf += document.QueryForm.fqf[0].options[j].value;
284 for (i=1; i<document.QueryForm.fqf.length;i++) \{
285 j = document.QueryForm.fqf[i].selectedIndex;
286 argfqf += "," + document.QueryForm.fqf[i].options[j].value;
287 \}
288
289\}
290
291
292function clearfqf() \{
293 var i;
294 for (i=0;i<document.QueryForm.fqf.length;i++) \{
295 var z = i;
296 if (i >= document.QueryForm.fqf[i].options.length) z = z-document.QueryForm.fqf[i].options.length;
297 document.QueryForm.fqf[i].options[z].selected = true;
298 \}
299 updatefqf();
300\}
301
302
303// sqlfqf - the field selection box
304function initsqlfqf() \{
305 var i;
306 sqlfqf = argsqlfqf.split(",");
307 num_opts = document.QueryForm.sqlfqf[0].options.length; // assumes all have the same options
308 for (i=0; i<sqlfqf.length && i<document.QueryForm.sqlfqf.length; i++) \{
309 if (sqlfqf[i] != "")\{
310 for (j=0;j<num_opts;j++) \{
311 if (sqlfqf[i]== document.QueryForm.sqlfqf[i].options[j].value) \{
312 document.QueryForm.sqlfqf[i].options[j].selected = true;
313 break;
314 \}
315 \}
316 \}
317 \}
318 if (sqlfqf.length < document.QueryForm.sqlfqf.length) \{ // initialize remaining ones
319 for (i=sqlfqf.length;i<document.QueryForm.sqlfqf.length;i++) \{
320 var z=i;
321 while (z >= num_opts) \{
322 z = z-(num_opts);
323 \}
324 document.QueryForm.sqlfqf[i].options[z].selected = true;
325
326 \}
327 \}
328 updatesqlfqf();
329
330\}
331
332function updatesqlfqf() \{
333
334 var i;
335 argsqlfqf = "";
336 var j = document.QueryForm.sqlfqf[0].selectedIndex;
337 argsqlfqf += document.QueryForm.sqlfqf[0].options[j].value;
338 for (i=1; i<document.QueryForm.sqlfqf.length;i++) \{
339 j = document.QueryForm.sqlfqf[i].selectedIndex;
340 argsqlfqf += "," + document.QueryForm.sqlfqf[i].options[j].value;
341 \}
342
343\}
344
345
346function clearsqlfqf() \{
347 var i;
348 for (i=0;i<document.QueryForm.sqlfqf.length;i++) \{
349 var z = i;
350 if (i >= document.QueryForm.sqlfqf[i].options.length) z = z-document.QueryForm.sqlfqf[i].options.length;
351 document.QueryForm.sqlfqf[i].options[z].selected = true;
352 \}
353 updatesqlfqf();
354\}
355
356
357
358
359// fqc - the boolean operator selection box
360function initfqc() \{
361 var i,j;
362 fqc = argfqc.split(",");
363 if (_cgiargfqn_ == 2) \{ // there will only be one fqc element
364 for (j=0;j<document.QueryForm.fqc.options.length;j++) \{
365 if (fqc[0] == document.QueryForm.fqc.options[j].value) \{
366 document.QueryForm.fqc.options[j].selected = true;
367 break;
368 \}
369 \}
370 \}
371 else \{
372 for (i=0; i<fqc.length;i++) \{
373 for (j=0;j<document.QueryForm.fqc[i].options.length;j++) \{
374 if (fqc[i] == document.QueryForm.fqc[i].options[j].value) \{
375 document.QueryForm.fqc[i].options[j].selected = true;
376 break;
377 \}
378 \}
379 \}
380 \}
381 updatefqc();
382
383\}
384
385function updatefqc() \{
386
387 var i,j;
388 argfqc = "";
389 if (_cgiargfqn_ == 2) \{
390 j = document.QueryForm.fqc.selectedIndex;
391 argfqc += document.QueryForm.fqc.options[j].value;
392 \}
393 else \{
394 j = document.QueryForm.fqc[0].selectedIndex;
395 argfqc += document.QueryForm.fqc[0].options[j].value;
396 for (i=1;i<document.QueryForm.fqc.length;i++) \{
397 j = document.QueryForm.fqc[i].selectedIndex;
398 argfqc += "," + document.QueryForm.fqc[i].options[j].value;
399 \}
400 \}
401
402\}
403
404
405function clearfqc() \{
406
407 var i;
408 if (_cgiargfqn_ == 2) \{
409 document.QueryForm.fqc.options[0].selected = true;
410 \}
411 else \{
412 for (i=0; i<document.QueryForm.fqc.length; i++) \{
413 document.QueryForm.fqc[i].options[0].selected = true;
414 \}
415 \}
416 updatefqc();
417\}
418
419
420
421// sqlfqc - the SQL operator selection box
422function initsqlfqc() \{
423 var i,j;
424 sqlfqc = argsqlfqc.split(",");
425 if (_cgiargsqlfqn_ == 2) \{ // there will only be one sqlfqc element
426 for (j=0;j<document.QueryForm.sqlfqc.options.length;j++) \{
427 if (sqlfqc[0] == document.QueryForm.sqlfqc.options[j].value) \{
428 document.QueryForm.sqlfqc.options[j].selected = true;
429 break;
430 \}
431 \}
432 \}
433 else \{
434 for (i=0; i<sqlfqc.length;i++) \{
435 for (j=0;j<document.QueryForm.sqlfqc[i].options.length;j++) \{
436 if (sqlfqc[i] == document.QueryForm.sqlfqc[i].options[j].value) \{
437 document.QueryForm.sqlfqc[i].options[j].selected = true;
438 break;
439 \}
440 \}
441 \}
442 \}
443 updatesqlfqc();
444
445\}
446
447function updatesqlfqc() \{
448
449 var i,j;
450 argsqlfqc = "";
451 if (_cgiargsqlfqn_ == 2) \{
452 j = document.QueryForm.sqlfqc.selectedIndex;
453 argsqlfqc += document.QueryForm.sqlfqc.options[j].value;
454 \}
455 else \{
456 j = document.QueryForm.sqlfqc[0].selectedIndex;
457 argsqlfqc += document.QueryForm.sqlfqc[0].options[j].value;
458 for (i=1;i<document.QueryForm.sqlfqc.length;i++) \{
459 j = document.QueryForm.sqlfqc[i].selectedIndex;
460 argsqlfqc += "," + document.QueryForm.sqlfqc[i].options[j].value;
461 \}
462 \}
463
464\}
465
466
467function clearsqlfqc() \{
468
469 var i;
470 if (_cgiargsqlfqn_ == 2) \{
471 document.QueryForm.sqlfqc.options[0].selected = true;
472 \}
473 else \{
474 for (i=0; i<document.QueryForm.sqlfqc.length; i++) \{
475 document.QueryForm.sqlfqc[i].options[0].selected = true;
476 \}
477 \}
478 updatesqlfqc();
479\}
480
481
482
483
484// fqv - the query word/phrase text box
485function initfqv() \{
486 var i;
487 fqv= argfqv.split(",");
488 for (i=0; i<fqv.length && i<document.QueryForm.fqv.length; i++) \{
489 document.QueryForm.fqv[i].value = fqv[i];
490 \}
491 updatefqv();
492
493
494\}
495
496 //argfqv += escape(format(document.QueryForm.fqv[0].value));
497
498function updatefqv() \{
499 var i;
500 argfqv="";
501 argfqv += format(document.QueryForm.fqv[0].value);
502 for (i=1; i<document.QueryForm.fqv.length;i++) \{
503 argfqv += ",";
504 argfqv += format(document.QueryForm.fqv[i].value);
505 \}
506\}
507
508function clearfqv() \{
509 var i;
510 for (i=0; i< document.QueryForm.fqv.length;i++) \{
511 document.QueryForm.fqv[i].value = "";
512 \}
513 updatefqv();
514\}
515
516// fqs - the stemming checkboxes
517function initfqs() \{
518
519 var i;
520 fqs = argfqs.split(",");
521 for (i=0; i<fqs.length; i++) \{
522 if (fqs[i]=="1") \{
523 document.QueryForm.fqs[i].checked = true;
524 \}
525 \}
526 updatefqs();
527
528\}
529
530function updatefqs() \{
531 argfqs="";
532 if (document.QueryForm.fqs[0].checked) \{
533 argfqs += "1";
534 \}
535 else \{
536 argfqs += "0";
537 \}
538 var i;
539 for (i=1; i<document.QueryForm.fqs.length; i++) \{
540 if (document.QueryForm.fqs[i].checked) \{
541 argfqs += ",1";
542 \}
543 else \{
544 argfqs += ",0";
545 \}
546 \}
547\}
548
549
550function clearfqs() \{
551 var i;
552 for (i=0; i<document.QueryForm.fqs.length; i++) \{
553 document.QueryForm.fqs[i].checked = false;
554 \}
555 updatefqs();
556\}
557
558// kqk - the casefolding checkboxes
559function initfqk() \{
560 var i;
561 fqk = argfqk.split(",");
562 for (i=0; i<fqk.length; i++) \{
563 if (fqk[i]=="1") \{
564 document.QueryForm.fqk[i].checked = true;
565 \}
566 \}
567 updatefqk();
568
569\}
570
571
572function updatefqk() \{
573 argfqk="";
574 if (document.QueryForm.fqk[0].checked) \{
575 argfqk += "1";
576 \}
577 else \{
578 argfqk += "0";
579 \}
580 var i;
581 for (i=1; i<document.QueryForm.fqk.length; i++) \{
582 if (document.QueryForm.fqk[i].checked) \{
583 argfqk += ",1";
584 \}
585 else \{
586 argfqk += ",0";
587 \}
588 \}
589\}
590
591function clearfqk() \{
592 var i;
593 for (i=0; i<document.QueryForm.fqk.length; i++) \{
594 document.QueryForm.fqk[i].checked = false;
595 \}
596 updatefqk();
597\}
598
599// q - the advanced query box
600function initq() \{
601 updateq();
602\}
603
604function updateq() \{
605
606 argq = "";
607 _If_("_cgiarga_" eq "sqlq",argq += format(document.QueryForm.q.value, 1);)
608 _If_("_cgiarga_" eq "q",argq += format(document.QueryForm.q.value);)
609\}
610
611function clearq() \{
612 document.QueryForm.q.value="";
613 updateq();
614\}
615
616// convert spaces to plus
617// also convert other illegal characters to %xx codes
618// This routine used to treat commas like spaces (replacing them with a plus),
619// but this is no longer good enough for handling sql-queries.
620// Now if keepcommas == 1, URL encode commas, else (if undefined or 0),
621// convert commas to plus.
622function format(string, keepcommas) \{
623 var str = "" + string;
624 var out = "", flag = 0;
625 var ch = "";
626 var j;
627 for (j = 0; j < str.length; j++) \{
628 ch=str.charAt(j);
629
630 if(ch == ",") \{
631 if(keepcommas == 1) \{
632 out += escape(ch);
633 flag=0;
634 continue;
635 \}
636 else \{ // can be undefined or maybe 0?
637 if (flag == 0) \{
638 out += "+";
639 flag=1;
640 \}
641 \}
642 continue;
643 \}
644
645 if (ch == " ") \{
646 if (flag == 0) \{
647 out += "+";
648 flag=1;
649 \}
650 continue;
651 \}
652 if (ch == ";" || ch == ":" || ch == "/" || ch == "?" ||
653 ch == "@" || ch == "&" || ch == "=" || ch == "#" ||
654 ch == "%") \{
655 out += escape(ch);
656 flag=0;
657 continue;
658 \}
659 out += str.charAt(j);
660 flag=0;
661 \}
662 return out;
663\}
664
665}
666
667#_httpquery_ has a=q&e=compressedargs
668#if adv form, need to set k=0 and s=0
669_advformargs_{_If_(_cgiargb_,&k=0&s=0)}
670
671_searchfunctions_ {
672
673function beginSearch() \{
674 window.location="_httpquery_"+getstdargs()+"_advformargs_"+getsearchargs();
675\}
676
677function runQuery() \{
678 window.location="_httpquery_"+getstdargs()+"_advformargs_"+getqueryargs();
679\}
680
681function clearForm() \{
682 clearfqf();
683_If_("_cgiarga_" eq "sqlq",
684 clearsqlfqf();
685)
686 clearfqv();
687
688 if ("_cgiargb_" == "1") \{
689 clearfqk();
690 clearfqs();
691 clearfqc();
692_If_("_cgiarga_" eq "sqlq",
693 clearsqlfqc();
694)
695 if (document.QueryForm.q != null) \{clearq(); \}
696 \}
697
698\}
699
700}
701
702#######################################################################
703# headers
704# these are overridden so we can put an onLoad event handler
705# in the <body> tag of this page - for mgpp, form search pages
706#######################################################################
707
708#copied from prefs
709
710_header_ {_cgihead_
711_htmlhead_(class="bgimage" onLoad="initialize();")_startspacer__pagebanner_
712}
713
714# this declaration ends up being the same as style=restrict, never mind
715_header_[v=1] {_cgihead_
716_htmlhead_(onLoad="initialize();")_pagebanner_
717}
718
719#######################################################################
720# page content
721#######################################################################
722
723
724_pagetitle_ {_If_(_cgiargq_,_textquerytitle_,_textnoquerytitle_)}
725
726
727_content_ {
728
729_optnavigationbar_
730<div class="document">
731<div class="queryform">
732
733_If_("_cgiarga_" eq "sqlq",
734
735 _If_("_cgiargqt_" eq "2",_sqlfieldqueryform_,_sqlqueryform_)
736,
737 _If_(_cgiargct_,_selectqueryform_,_queryform_)
738)
739
740</div>
741
742_If_(_searchhistorylist_,<center>_searchhistorybar_</center><br>
743<center>
744_searchhistorylist_
745</center>)
746_If_(_cgiargq_,_queryresultsbar_
747<small>
748_freqmsg_
749_textpostprocess_
750_If_(_stopwordsmsg_,(_stopwordsmsg_))</small><br />
751_resultline_
752,<div class="divbar">&nbsp;</div>)
753}
754
755_selectqueryform_{_If_("_cgiargqt_" ge "1",_fieldqueryform_,_queryform_)}
756
757_queryform_ {
758<!-- query form (\_query:plainqueryform\_) -->
759<form name="QueryForm" method="get" action="_gwcgi_">
760<p>
761<input type="hidden" name="a" value="q">
762<input type="hidden" name="r" value="1">
763<input type="hidden" name="hs" value="1">
764<input type="hidden" name="e" value="_decodedcompressedoptions_">
765_queryformcontent_
766_optdatesearch_
767</p>
768</form>
769<!-- end of query form -->
770}
771
772
773_sqlqueryform_ {
774
775<!-- simple query box that requires you to type SQL where clause directly -->
776<!-- sqlquery form (\_query:plainqueryform\_) -->
777<form name="QueryForm" method="get" action="_gwcgi_">
778<p>
779<input type="hidden" name="a" value="sqlq">
780<input type="hidden" name="r" value="1">
781<input type="hidden" name="hs" value="1">
782<input type="hidden" name="e" value="_decodedcompressedoptions_">
783_sqlqueryformcontent_
784</p>
785</form>
786<!-- end of sqlquery form -->
787}
788
789
790_ifeellucky_ { <br><input type="checkbox" name="ifl" value="1">_textifeellucky_ }
791_useifeellucky_ { } # Set this to _ifeellucky_ if you want this functionality available
792
793_allowformbreak_{</span> <span class="textselect">}
794
795_queryformcontent_{
796<span class="textselect">
797_textselect_
798</span>
799
800<span class="querybox">
801_If_(_cgiargqb_,_largequerybox_,_smallquerybox_)
802_useifeellucky_
803</span>
804}
805
806
807_sqlqueryformcontent_ {
808<span class="querybox">
809_If_(_cgiargqb_,_query:largequerybox_,_query:smallquerybox_)
810_query:useifeellucky_
811</span>
812}
813
814# Automatically set by receptionist if config file switches
815# date searching on
816_optdatesearch_ { }
817
818
819_datesearch_
820{<table><tr><td>
821 <center>
822_textstartdate_
823<input type="text" name="ds" value="_cgiargds_" size="4" maxlength="4">
824<select name="dsbc" value="_cgiargdsbc_" size="1">
825 <option value="0"_If_(_cgiargdsbc_,, selected)>_textad_
826 <option value="1"_If_(_cgiargdsbc_, selected)>_textbc_
827</select>
828_textenddate_
829<input type="text" name="de" value="_cgiargde_" size="4" maxlength="4">
830<select name="debc" size="1">
831 <option value="0" _If_(_cgiargdebc_,, selected)>_textad_
832 <option value="1" _If_(_cgiargdebc_, selected)>_textbc_
833</select>
834</center>
835</td></tr>
836<tr><td>
837_textexplaineras_
838</td></tr>
839</table>
840</center>
841}
842
843_smallquerybox_ {<nobr><input type="text" name="q" value="_cgiargq_" size="50">&nbsp;<input type="submit" value="_textbeginsearch_"></nobr>}
844
845_largequerybox_ {
846<tr><td><textarea name="q" cols="63" rows="10">
847_cgiargq_
848</textarea></td></tr>
849<tr align="right"><td><table>
850<tr><td><input type="submit" value="_textbeginsearch_"></td>
851</tr></table></td></tr>}
852
853
854_fieldqueryform_ {
855<noscript>
856<p><b>_textnojsformwarning_</b></p>
857</noscript>
858<!-- field query form (\_query:fieldqueryform\_) -->
859<form name="QueryForm" method="get" action="_gwcgi_">
860
861<table><tr><td align="left">
862
863_textformselect_
864</td></tr>
865<tr><td>
866_If_(_cgiargb_,_advancedforms_,_simpleforms_)
867</td></tr>
868</table>
869_If_(_cgiargb_,<div class="divbar">&nbsp;</div>
870_advancedformextra_)
871
872</form>
873<!-- end of query form -->
874}
875
876_sqlfieldqueryform_ {
877<noscript>
878<p><b>_textnojsformwarning_</b></p>
879</noscript>
880<!--sql field query form (\_query:fieldqueryform\_) -->
881<form name="QueryForm" method="get" action="_gwcgi_">
882
883<table><tr><td align="left">
884_textformselect_
885</td></tr>
886<tr><td>
887_If_(_cgiargb_,_sqladvancedforms_,_sqlsimpleforms_)
888</td></tr>
889</table>
890_If_(_cgiargb_,<div class="divbar">&nbsp;</div>
891_advancedformextra_)
892
893</form>
894<!-- end of sql query form -->
895}
896
897
898
899_advancedforms_{
900<table border="0" cellspacing="0" cellpadding="0" width="90%">
901<tr><th></th><th align="left">_textwordphrase_</th>_If_("_cgiargct_" eq "1",<th colspan="2"><nobr>_textfoldstem_</nobr></th>)<th align="center">&nbsp;&nbsp;_textinfield_</th></tr>
902_advformlist_
903<tr>
904<td colspan="2" align="left"><input type="button" value="_textclearform_" onClick="clearForm();"></td>
905<td colspan="3" align="right"><input type="button" value="_textbeginsearch_" onClick="beginSearch();"></td>
906</tr>
907</table>
908}
909
910_sqladvancedforms_{
911<table border="0" cellspacing="0" cellpadding="0" width="90%">
912 <tr>
913 <th></th>
914 <th align="left">_textfieldphrase_</th>
915 <th></th>
916 <th align="center">&nbsp;&nbsp;_textinwords_</th>
917 </tr>
918 _sqladvformlist_
919 <tr>
920 <td colspan="2" align="left">
921 <input type="button" value="_textclearform_" onClick="clearForm();">
922 </td>
923 <td colspan="3" align="right">
924 <input type="button" value="_textbeginsearch_" onClick="beginSearch();">
925 </td>
926 </tr>
927</table>
928}
929
930
931
932_advancedformextra_{
933<table>
934<tr><td align="left">_textadvquery_</td></tr>
935<tr><td><textarea name="q" cols="57" rows="3" onChange="updateq();">_cgiargq_</textarea></td>
936<td valign="bottom">
937<input type="button" value="_textrunquery_" onClick="runQuery();"></td></tr>
938</table>
939
940
941_If_("_cgiarga_" eq "sqlq",
942<p>For example:<br>
943<i>
944 element in (\'dc.Keywords\') AND value=\'Farming\'<br>
945 element in (\'dls.Title\') AND value LIKE \'F%\'<br>
946 element in (\'dls.Title\') AND value<\'F%\'<br>
947</i>
948)
949
950}
951
952_simpleforms_{
953<table border="0" cellspacing="0" cellpadding="0" width="90%">
954<tr><th align="left">_textwordphrase_</th><th align="left">&nbsp;&nbsp;_textinfield_</th></tr>
955_regformlist_
956<tr>
957<td align="left"><input type="button" value="_textclearform_" onClick="clearForm();"></td>
958<td align="right"><input type="button" value="_textbeginsearch_" onClick="beginSearch();"></td>
959</tr>
960</table>}
961
962_sqlsimpleforms_{
963<table border="0" cellspacing="0" cellpadding="0" width="90%">
964 <tr>
965 <th align="left">_textfieldphrase_</th>
966 <th></th>
967 <th align="left">&nbsp;&nbsp;_textinwords_</th>
968 </tr>
969 _sqlregformlist_
970 <tr>
971 <td align="left">
972 <input type="button" value="_textclearform_" onClick="clearForm();">
973 </td>
974 <td align="right">
975 <input type="button" value="_textbeginsearch_" onClick="beginSearch();">
976 </td>
977 </tr>
978</table>
979}
980
981#
982# Full-text versions
983#
984
985_regformelement_{
986<tr><td><input type="text" size="39" name="fqv" onChange="updatefqv();" onkeypress="updatefqv(); entersubmit(event);"></td>
987<td>_fqfselection_</td></tr>}
988
989#has no and/or/not selection box
990_firstadvformelement_{
991<tr><td></td><td><input type="text" size="31" name="fqv" onChange="updatefqv();" onkeypress="updatefqv(); entersubmit(event);"></td>
992_If_("_cgiargct_" eq "1",<td align="center"><input type="checkbox" name="fqk" onClick="updatefqk();"></td>
993<td align="center"><input type="checkbox" name="fqs" onClick="updatefqs();"></td>)
994<td align="right">_fqfselection_</td></tr>}
995
996_advformelement_{
997<tr><td>_fqcselection_</td>
998<td><input type="text" size="31" name="fqv" onChange="updatefqv();" onkeypress="updatefqv(); entersubmit(event);"></td>
999_If_("_cgiargct_" eq "1",<td align="center"><input type="checkbox" name="fqk" onClick="updatefqk();"></td>
1000<td align="center"><input type="checkbox" name="fqs" onClick="updatefqs();"></td>)
1001<td align="right">_fqfselection_</td></tr>}
1002
1003
1004
1005_fqcselection_ {
1006<select name="fqc" onChange="updatefqc();">
1007<option value="and">_textand_
1008<option value="or">_textor_
1009<option value="not">_textandnot_
1010</select>}
1011
1012
1013_andorfqcselection_ {
1014<select name="fqc" onChange="updatefqc();">
1015<option value="and">_textand_
1016<option value="or">_textor_
1017</select>}
1018
1019
1020#
1021# SQL versions of regformelement, firstsqladvformelement, advformelement
1022#
1023
1024_sqlregformelement_{
1025<tr>
1026 <td>
1027 _sqlfqfselection_
1028 </td>
1029 <td>
1030 _sqlfqcselection_
1031 </td>
1032 <td>
1033 <input type="text" size="39" name="fqv" onChange="updatefqv();"
1034 onkeypress="updatefqv(); entersubmit(event);">
1035 </td>
1036</tr>
1037}
1038
1039_firstsqladvformelement_{
1040<tr>
1041 <td>
1042 </td>
1043 <td align="right">
1044 _sqlfqfselection_
1045 </td>
1046 <td>
1047 _sqlfqcselection_
1048 </td>
1049 <td>
1050 <input type="text" size="31" name="fqv" onChange="updatefqv();"
1051 onkeypress="updatefqv(); entersubmit(event);">
1052 </td>
1053</tr>
1054}
1055
1056_sqladvformelement_{
1057<tr>
1058 <td>
1059 _andorfqcselection_
1060 </td>
1061 <td align="right">
1062 _sqlfqfselection_
1063 </td>
1064 <td>
1065 _sqlfqcselection_
1066 </td>
1067 <td>
1068 <input type="text" size="31" name="fqv" onChange="updatefqv();" onkeypress="updatefqv(); entersubmit(event);">
1069 </td>
1070</tr>
1071}
1072
1073
1074_sqlfqcselection_ {
1075<select name="sqlfqc" onChange="updatesqlfqc();">
1076 <option value="=">matches
1077 <option value="&lt;">&lt;
1078 <option value="&lt;=">&lt;=
1079 <option value="LIKE">like
1080 <option value="&gt;=">&gt;=
1081 <option value="&gt;">&gt;
1082 <option value="&lt;&gt;">&lt;&gt;
1083
1084</select>}
1085
1086#
1087# end of SQL version
1088#
1089
1090_textselect_ {_If_(_cgiargb_,_chooseadvancedsearch_,_choosesimplesearch_)}
1091
1092_choosesimplesearch_ {_If_("_cgiargqt_" eq "2",_textsimplesqlsearch_,_textsimplesearch_)}
1093
1094_chooseadvancedsearch_ {_If_("_cgiarqt_" eq "2",_textadvancedsqlsearch_,_chooseadvancedsearchct_)}
1095_chooseadvancedsearchct_ {_If_(_cgiargct_,_If_("_cgiargct_" eq "2",_textadvancedlucenesearch_,_textadvancedmgppsearch_),_textadvancedsearch_}
1096
1097# formed based versions
1098_textformselect_ {_If_(_cgiargb_,_chooseformadvancedsearch_,_chooseformsimplesearch_)}
1099_chooseformsimplesearch_ {_If_("_cgiargqt_" eq "2",_textformsimplesearchsql_,_textformsimplesearch_)}
1100
1101_chooseformadvancedsearch_ {_If_("_cgiargqt_" eq "2",_textformadvancedsearchsql_,_chooseformadvancedsearchct_)}
1102_chooseformadvancedsearchct_ {_If_("_cgiargct_" eq "1",_textformadvancedsearchmgpp_)_If_("_cgiargct_" eq "2",_textformadvancedsearchlucene_)}
1103
1104# mg uses hselection for index, mgpp uses fqfselection
1105_indexselection_{_If_(_cgiargct_,_fqfselection_,_hselection_)}
1106
1107# we want to put the links to previous/next pages of results
1108# in the footer
1109_pagefooterextra_ {
1110<center>
1111<table cellspacing="0" cellpadding="0" width="_pagewidth_">
1112<tr>
1113<td align="left">_If_(_prevfirst_,<a href="_httpquery_&amp;r=_prevfirst_">_iconprev__textmatches__prevfirst_ - _prevlast_</a>)</td>
1114<td align="right">_If_(_nextfirst_,<a href="_httpquery_&amp;r=_nextfirst_">_textmatches__nextfirst_ - _nextlast__iconnext_</a>)</td>
1115</tr></table>
1116</center>
1117
1118</div> <!-- document -->
1119}
1120
1121_querytypeselection_ {
1122<select name="t">
1123<option value="1"_If_(_cgiargt_, selected)>_If_(_cgiargb_,_textranked_,_textsome_)
1124<option value="0"_If_(_cgiargt_,, selected)>_If_(_cgiargb_,_textboolean_,_textall_)
1125</select>
1126}
1127
1128
1129_formquerytypesimpleselection_ {
1130<select name="t">
1131<option value="1"_If_(_cgiargt_, selected)>_textsome_
1132<option value="0"_If_(_cgiargt_,, selected)>_textall_
1133</select>
1134}
1135
1136_formquerytypeadvancedselection_ {
1137<select name="t">
1138<option value="1"_If_(_cgiargt_, selected)>_textranked_
1139<option value="0"_If_(_cgiargt_,, selected)>_textnatural_
1140</select>
1141}
1142
1143# this one is not used by english.dm any more. But I have added it back for the other languages that haven't updated the translations for their form search macros.
1144_formquerytypeselection_ {
1145<select name="t">
1146<option value="1"_If_(_cgiargt_, selected)>_If_(_cgiargb_,_textranked_,_textsome_)
1147<option value="0"_If_(_cgiargt_,, selected)>_If_(_cgiargb_,_textnatural_,_textall_)
1148</select>
1149}
1150
Note: See TracBrowser for help on using the repository browser.