source: trunk/gsdl/macros/pref.dm@ 13038

Last change on this file since 13038 was 12875, checked in by kjdon, 18 years ago

added in accentfolding preferences. Also, made stem, case, accent prefs under the control of ss, ks, afs args so they can be turned off

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 14.2 KB
Line 
1# this file must be UTF-8 encoded
2
3package preferences
4
5# set within server
6
7# collectionoption is only set when cross-collection searching is turned on
8_collectionoption_ {}
9
10# this macro will be set to "1" when the "source docs retrived from dl/web
11# button is required - i.e. whenever PreferenceDocsFromWeb isn't set to false
12# in collect.cfg
13_PreferenceDocsFromWeb_ {}
14
15# this macro will be set to _textprefschanged_ when the "set preferences"
16# button has been pressed
17_prefschanged_ {}
18
19#######################################################################
20# global navigation links
21#######################################################################
22
23# this is overridden here as we don't want a 'preferences' link on this page
24
25_globallinks_ {_homelink_ _helplink_}
26
27#######################################################################
28# scripts
29# note that changing either the "m" or the "o" argument
30# from the preferences page necessitates reseting the "r"
31# argument to 1
32#######################################################################
33
34_ccsfunctions_ {argcc = "";
35savedccs = new Object();
36
37function initialize () \{
38 for (i = 0; i < document.links.length; i++)
39 savedhrefs[i] = document.links[i].href;
40
41 s = "_cgiargcc_";
42 a = s.split (",");
43 for (i = 0; i < a.length ;i++) \{
44 for (j = 0; j < document.PrefForm.cc.length; j++) \{
45 if (a[i] == document.PrefForm.elements["cc"][j].value) \{
46 document.PrefForm.elements["cc"][j].checked = true;
47 savedccs[a[i]] = 1;
48 argcc = argcc + "&cc=" + a[i];
49 break;
50 \} else \{
51 savedccs[a[i]] = 0;
52 \}
53 \}
54 \}
55 updatehrefs();
56\}
57
58function updatecc (collection) \{
59 if (savedccs[collection] == 1) savedccs[collection] = 0;
60 else savedccs[collection] = 1;
61
62 var i;
63 argcc = "";
64 var changed = 0;
65 for (i in savedccs)
66 if (savedccs[i] == 1) \{
67 argcc += "&cc=" + i;
68 changed = 1;
69 \}
70 if (changed == 1) argcc += "&r=1";
71 updatehrefs();
72\}
73}
74
75_standardfunctions_ {
76function initialize () \{
77 for (i = 0; i < document.links.length; i++)
78 savedhrefs[i] = document.links[i].href;
79
80\}
81
82}
83
84_getargsfunction_ {
85function getargs () \{
86 return argk + args + argaf + argm + argo + argrd + arghd + argb + argqb + argfqn + argqt_If_(_collectionoption_,_ccsargs_)_If_(_htmloptions_,_htmlargs_);
87\}
88}
89
90_ccsargs_ {+ argcc}
91_htmlargs_ {+ argel + argil + argfc + arghl}
92
93_htmlfunctions_ {argel = "";
94argil = "";
95argfc = "";
96arghl = "";
97
98function updateel () \{
99 value = document.PrefForm.el.options[document.PrefForm.el.selectedIndex].value;
100 if (value != "_cgiargel_") argel = "&el=" + value;
101 else argel = "";
102 updatehrefs();
103\}
104
105function updateil () \{
106 value = document.PrefForm.il.options[document.PrefForm.il.selectedIndex].value;
107 if (value != "_cgiargil_") argil = "&il=" + value;
108 else argil = "";
109 updatehrefs();
110\}
111
112function updatefc(value) \{
113 if (value != _cgiargfc_) argfc = "&fc=" + value + "&f=" + value;
114 else argfc = "";
115 updatehrefs();
116\}
117
118function updatehl(value) \{
119 if (value != _cgiarghl_) arghl = "&hl=" + value;
120 else arghl = "";
121 updatehrefs();
122\}
123}
124
125_pagescriptextra_ {
126// preferences scripts generated from \_preferences:pagescriptextra\_
127
128savedhrefs = new Object();
129
130argk = "";
131args = "";
132argm = "";
133argrd = "";
134argo = "";
135argb = "";
136arghd = "";
137argqb = "";
138argfqn = "";
139argqt= "";
140argaf = "";
141
142_If_(_collectionoption_,_ccsfunctions_,_standardfunctions_)
143_If_(_htmloptions_,_htmlfunctions_)
144_getargsfunction_
145function updatehrefs () \{
146 for (i = 0; i < document.links.length; i++)
147 document.links[i].href = savedhrefs[i] + getargs();
148\}
149
150function updatek (value) \{
151 if (value != _cgiargk_) argk = "&k=" + value;
152 else argk = "";
153 updatehrefs();
154\}
155
156function updates (value) \{
157 if (value != _cgiargs_) args = "&s=" + value;
158 else args = "";
159 updatehrefs();
160\}
161
162function updateaf (value) \{
163 if (value != _cgiargaf_) argaf = "&af=" + value;
164 else argaf = "";
165 updatehrefs();
166\}
167
168function updatem () \{
169 value = document.PrefForm.m.options[document.PrefForm.m.selectedIndex].value;
170 if (value != _cgiargm_) argm = "&r=1&m=" + value;
171 else argm = "";
172 updatehrefs();
173\}
174
175function updaterd () \{
176 if (document.PrefForm.rd.checked)
177 _If_("_cgiargrd_" eq "1",argrd="";,argrd="&rd=1";)
178 else
179 _If_("_cgiargrd_" ne "1",argrd="";,argrd="&rd=0";)
180 updatehrefs();
181\}
182
183function updateo () \{
184 value = document.PrefForm.o.options[document.PrefForm.o.selectedIndex].value;
185 if (value != _cgiargo_) argo = "&r=1&o=" + value;
186 else argo = "";
187 updatehrefs();
188\}
189
190function updateqt (value) \{
191 if (value != _cgiargqt_) argqt = "&qt=" + value;
192 else argqt = "";
193 updatehrefs();
194\}
195
196function updatefqn () \{
197 value = document.PrefForm.fqn.options[document.PrefForm.fqn.selectedIndex].value;
198 if (value != _cgiargfqn_) argfqn = "&fqn=" + value;
199 else argfqn = "";
200 updatehrefs();
201\}
202
203function updateb (value) \{
204 if (value != _cgiargb_) argb = "&b=" + value;
205 else argb = "";
206 updatehrefs();
207\}
208
209function updatehd() \{
210 arghd="";
211 if (document.PrefForm.hd[0].checked) \{
212 if ("_cgiarghd_" != "0") arghd = "&hd=0";
213 \}
214 else \{
215 value = document.PrefForm.hdn[document.PrefForm.hdn.selectedIndex].value;
216 if (_cgiarghd_ != value) arghd = "&hd="+value;
217 \}
218 updatehrefs();
219\}
220
221
222function updateqb() \{
223
224 value = document.PrefForm.qb.options[document.PrefForm.qb.selectedIndex].value;
225 if (value != _cgiargqb_) argqb = "&qb=" + value;
226 else argqb = "";
227 updatehrefs();
228\}
229
230function updatel () \{
231 value = document.PrefForm.l.options[document.PrefForm.l.selectedIndex].value;
232 href = location.href;
233 if (href.match(/&l=[\\w\\-]+/)) href = href.replace(/&l=[\\w\\-]+/, "&l=" + value);
234 else href += "&l=" + value;
235 if (!location.href.match(/&nl=1$/)) href += "&nl=1";
236 while (href.match(/&cc=[\\w]+/)) href = href.replace(/&cc=[\\w]+/, "");
237 location.href = href + getargs();
238\}
239
240function updatev () \{
241 value = document.PrefForm.v.options[document.PrefForm.v.selectedIndex].value;
242 href = location.href;
243 if (href.match(/&v=\\d/)) href = href.replace(/&v=\\d/, "&v=" + value);
244 else href += "&v=" + value;
245 while (href.match(/&cc=[\\w]+/)) href = href.replace(/&cc=[\\w]+/, "");
246 location.href = href + getargs();
247\}
248
249function updatew () \{
250 value = document.PrefForm.w.options[document.PrefForm.w.selectedIndex].value;
251 href = location.href;
252 if (href.match(/&nw=[^&]+/)) href = href.replace(/&nw=[^&]+/, "&nw=" + value);
253 else href += "&nw=" + value;
254 if (!location.href.match(/&nl=0$/)) href += "&nl=0";
255 while (href.match(/&cc=[\\w]+/)) href = href.replace(/&cc=[\\w]+/, "");
256 location.href = href + getargs();
257\}
258
259}
260
261
262#######################################################################
263# headers
264# these are overridden so we can put an onLoad event handler
265# in the <body> tag of this page
266#######################################################################
267
268
269_header_ {_cgihead_
270_htmlhead_(class="bgimage" onLoad="initialize();")_startspacer__pagebanner_
271}
272
273# this declaration ends up being the same as style=restrict, never mind
274_header_[v=1] {_cgihead_
275_htmlhead_(onLoad="initialize();")_pagebanner_
276}
277
278
279#######################################################################
280# page content
281#######################################################################
282
283_pagetitle_ {_collectionname_: _textpreferences_}
284_imagethispage_ {_textpreferences_}
285
286_htmloptions_ {}
287
288_htmloptionson_ {
289<p>
290<tr>_fcoption_</tr>
291<p>
292<tr>_hloption_</tr>
293<p>
294<tr>_extlinkoption_</tr>
295_If_(_PreferenceDocsFromWeb_,<p>
296<tr>_intlinkoption_</tr>)
297}
298
299_fcoption_ {
300<td valign=baseline>Document page layout</td>
301<td><input type=radio name=fc value=1 onClick="updatefc(1);"
302 _If_(_cgiargfc_, checked)>navigation bar at top<br>
303<input type=radio name=fc value=0 onClick="updatefc(0);"
304 _If_(_cgiargfc_,, checked)>no navigation bar</td>
305}
306
307_hloption_ {
308<td valign=baseline>Search term highlighting</td>
309<td><input type=radio name=hl value=1 onClick="updatehl(1);"
310 _If_(_cgiarghl_, checked)>highlight search terms<br>
311<input type=radio name=hl value=0 onClick="updatehl(0);"
312 _If_(_cgiarghl_,, checked)>don't highlight search terms</td>
313}
314
315#search pref options
316
317
318# search type option
319_searchtypeoptionplain_ {
320<td valign=baseline>_textsearchtype_</td>
321<td>_textplainsearchtype_</td>
322}
323_searchtypeoptionform_ {
324<td valign=baseline>_textsearchtype_</td>
325<td>_textformsearchtype_</td>
326}
327_searchtypeoptionboth_ {
328<td valign=baseline>_textsearchtype_</td>
329<td><input type=radio name=qt value=0 onClick="updateqt(0);"
330 _If_(_cgiargqt_,, checked)>_textplainsearchtype_<br>
331<input type=radio name=qt value=1 onClick="updateqt(1);"
332 _If_(_cgiargqt_, checked)>_textformsearchtype_</td>
333}
334
335_boxsizeoption_{
336<select name="qb" onChange="updateqb();">
337 <option value="0"_If_("_cgiargqb_" eq "0", selected)>_textregularbox_
338 <option value="1"_If_("_cgiargqb_" eq "1", selected)>_textlargebox_
339</select>
340}
341
342_formnumfieldoption_ {
343<select name="fqn" onChange="updatefqn();">
344 <option value="2"_If_("_cgiargfqn_" eq "2", selected)>2
345 <option value="4"_If_("_cgiargfqn_" eq "4", selected)>4
346 <option value="6"_If_("_cgiargfqn_" eq "6", selected)>6
347 <option value="8"_If_("_cgiargfqn_" eq "8", selected)>8
348</select>
349}
350
351_modeoption_ {
352<td valign=baseline>_textquerymode_</td>
353<td><input type=radio name=b value=0 onClick="updateb(0);"
354 _If_(_cgiargb_,, checked)>_textsimplemode_<br>
355<input type=radio name=b value=1 onClick="updateb(1);"
356 _If_(_cgiargb_, checked)>_textadvancedmode_</td>
357}
358
359_caseoption_ {
360<td valign=baseline>_textcasediffs_</td>
361<td><input type=radio name=k value=1 onClick="updatek(1);"
362 _If_(_cgiargk_, checked)>_textignorecase_<br>
363<input type=radio name=k value=0 onClick="updatek(0);"
364 _If_(_cgiargk_,, checked)>_textmatchcase_</td>
365}
366
367_caseoption_ [l=ar] {}
368_caseoption_ [l=zh] {}
369
370_stemoption_ {
371<td valign=baseline>_textwordends_</td>
372<td><input type=radio name=s value=1 onClick="updates(1);"
373 _If_(_cgiargs_, checked)>_textstem_<br>
374<input type=radio name=s value=0 onClick="updates(0);"
375 _If_(_cgiargs_,, checked)>_textnostem_</td>
376}
377
378_stemoption_ [l=zh] {}
379
380_accentoption_ {
381<td valign=baseline>_textaccentdiffs_</td>
382<td><input type=radio name=af value=1 onClick="updateaf(1);"
383 _If_(_cgiargaf_, checked)>_textignoreaccents_<br>
384<input type=radio name=af value=0 onClick="updateaf(0);"
385 _If_(_cgiargaf_,, checked)>_textmatchaccents_</td>
386}
387
388_searchhistoryop_ {
389<td valign=baseline>_textsearchhistory_</td>
390<td><input type=radio name="hd" value=0 onClick="updatehd();"
391 _If_("_cgiarghd_" eq "0", checked)>_textnohistorydisplay_<br>
392<input type=radio name="hd" value=1 onClick="updatehd();"
393 _If_("_cgiarghd_" eq "0",, checked)>_texthistorydisplay_</td>
394}
395
396_relateddocop_ {
397<td colspan=2><nobr><input type=checkbox name="rd" value=1 onClick="updaterd();" _If_("_cgiargrd_" eq "1", checked)>
398Display related documents</nobr></td>
399}
400
401_historynumrecords_{<select name="hdn" onChange="updatehd();">
402 <option value="5"_If_("_cgiarghd_" eq "5", selected)>5
403 <option value="10"_If_("_cgiarghd_" eq "10", selected)>10
404 <option value="15"_If_("_cgiarghd_" eq "15", selected)>15
405 <option value="20"_If_("_cgiarghd_" eq "20", selected)>20
406</select>}
407
408_maxdocoption_ {
409<select name="m" onChange="updatem();">
410 <option value="50"_If_("_cgiargm_" eq "50", selected)>50
411 <option value="100"_If_("_cgiargm_" eq "100", selected)>100
412 <option value="200"_If_("_cgiargm_" eq "200", selected)>200
413</select>
414}
415
416_hitsperpageoption_ {
417<select name="o" onChange="updateo();">
418 <option value="10"_If_("_cgiargo_" eq "10", selected)>10
419 <option value="20"_If_("_cgiargo_" eq "20", selected)>20
420 <option value="50"_If_("_cgiargo_" eq "50", selected)>50
421 <option value="100")_If_("_cgiargo_" eq "100", selected)>_textall_
422</select>
423}
424
425_extlinkoption_ {
426<td>_textextlink_</td>
427<td><select name="el" onChange="updateel();">
428 <option value="prompt"_If_("_cgiargel_" eq "prompt", selected)>
429 _textlinkinterm_
430 <option value="direct"_If_("_cgiargel_" eq "direct", selected)>
431 _textlinkdirect_
432</select></td>
433}
434
435_intlinkoption_ {
436<td>_textintlink_</td>
437<td><select name="il" onChange="updateil();">
438 <option value="l"_If_("_cgiargil_" eq "l", selected)>
439 _textdigitlib_
440 <option value="w"_If_("_cgiargil_" eq "w", selected)>
441 _textweb_
442</select></td>
443}
444
445# set from within pageaction
446_languageoption_ {}
447_encodingoption_ {}
448
449_formatoption_ {
450<td>_textformat_</td>
451<td><select name="v" onChange="updatev();">
452 <option value="0"_If_("_cgiargv_" eq "0", selected)>_textgraphical_
453 <option value="1"_If_("_cgiargv_" eq "1", selected)>_texttextual_
454</select></td>
455}
456
457_content_ {
458_optnavigationbar_
459_If_(_prefschanged_,<p>_prefschanged_<br><div class="divbar">&nbsp;</div>)
460
461<blockquote>
462
463<form name=PrefForm method=get action="_gwcgi_">
464<input type="hidden" name="e" value="_compressedoptions_">
465_If_(_collectionoption_,_collectionprefs_)
466_presentationprefs_
467_searchprefs_
468</blockquote>
469</form>
470}
471
472#search prefs
473_searchprefs_ {
474<table border=0 cellpadding=0 cellspacing=0 width=_pagewidth_><tr>
475<td><h3>_textsearchprefs_</h3></td>
476<td align=right><input type=submit name="bp" value="_textsetprefs_"></td>
477</tr></table>
478
479<table>
480<tr>_modeoption_</tr>
481
482<tr>_querytypedependantoptions_</tr>
483
484_If_("_cgiargks_" eq "1",
485<tr>_caseoption_</tr>
486)
487_If_("_cgiargss_" eq "1",
488<tr>_stemoption_</tr>
489)
490_If_("_cgiargafs_" eq "1",
491<tr>_accentoption_</tr>
492)
493<tr>_searchhistoryop_</tr>
494
495<!--
496Don't include this for now
497<tr>_relateddocop_</tr>
498-->
499
500<tr><td colspan=2>_textprefop_</td></tr>
501</table>
502</blockquote>
503<div class="divbar">&nbsp;</div>
504<blockquote>
505}
506
507_querytypedependantoptions_ {
508_If_("_cgiargct_" eq "0",_searchtypeoptionplain_,_mgppqueryoptions_)
509}
510_mgppqueryoptions_ {
511_If_("_cgiargqto_" eq "1", _searchtypeoptionplain_)
512_If_("_cgiargqto_" eq "2", _searchtypeoptionform_)
513_If_("_cgiargqto_" eq "3", _searchtypeoptionboth_)
514}
515
516# should this go somewhere??
517#<noscript><tr><td colspan=2><b>_query:textnojsformwarning_</b></td></tr></noscript>
518
519_collectionprefs_ {
520<h3>_textcollectionprefs_</h3>
521_collectionoption_
522</blockquote>
523<div class="divbar">&nbsp;</div>
524<blockquote>
525}
526
527_presentationprefs_ {
528<h3>_textpresentationprefs_</h3>
529<table>_htmloptions_
530
531_If_(_languageoption_,<tr><td>_textlanguage_</td><td>_languageoption_</td></tr>)
532
533_If_(_encodingoption_,<tr><td>_textencoding_</td><td>_encodingoption_</td></tr>)
534
535<tr>_formatoption_</tr></table>
536</blockquote>
537<div class="divbar">&nbsp;</div>
538<blockquote>
539}
540
Note: See TracBrowser for help on using the repository browser.