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
RevLine 
[7343]1# this file must be UTF-8 encoded
2
[128]3package preferences
4
[876]5# set within server
[128]6
[876]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
[2415]15# this macro will be set to _textprefschanged_ when the "set preferences"
16# button has been pressed
17_prefschanged_ {}
[876]18
[148]19#######################################################################
[10872]20# global navigation links
[283]21#######################################################################
22
[10872]23# this is overridden here as we don't want a 'preferences' link on this page
[283]24
[10872]25_globallinks_ {_homelink_ _helplink_}
[283]26
27#######################################################################
[276]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
[876]34_ccsfunctions_ {argcc = "";
35savedccs = new Object();
[276]36
[876]37function initialize () \{
38 for (i = 0; i < document.links.length; i++)
39 savedhrefs[i] = document.links[i].href;
[276]40
[876]41 s = "_cgiargcc_";
42 a = s.split (",");
[1950]43 for (i = 0; i < a.length ;i++) \{
[876]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\}
[276]57
[876]58function updatecc (collection) \{
59 if (savedccs[collection] == 1) savedccs[collection] = 0;
60 else savedccs[collection] = 1;
[1950]61
[876]62 var i;
63 argcc = "";
[1717]64 var changed = 0;
[876]65 for (i in savedccs)
[1950]66 if (savedccs[i] == 1) \{
67 argcc += "&cc=" + i;
68 changed = 1;
69 \}
[1717]70 if (changed == 1) argcc += "&r=1";
[876]71 updatehrefs();
72\}
73}
[276]74
[876]75_standardfunctions_ {
76function initialize () \{
77 for (i = 0; i < document.links.length; i++)
78 savedhrefs[i] = document.links[i].href;
[4763]79
[876]80\}
[4763]81
[876]82}
[276]83
[876]84_getargsfunction_ {
85function getargs () \{
[12875]86 return argk + args + argaf + argm + argo + argrd + arghd + argb + argqb + argfqn + argqt_If_(_collectionoption_,_ccsargs_)_If_(_htmloptions_,_htmlargs_);
[876]87\}
88}
[276]89
[876]90_ccsargs_ {+ argcc}
91_htmlargs_ {+ argel + argil + argfc + arghl}
[276]92
[876]93_htmlfunctions_ {argel = "";
94argil = "";
95argfc = "";
96arghl = "";
[276]97
[876]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\}
[276]104
[876]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\}
[548]111
[2496]112function updatefc(value) \{
113 if (value != _cgiargfc_) argfc = "&fc=" + value + "&f=" + value;
114 else argfc = "";
[876]115 updatehrefs();
116\}
[725]117
[2496]118function updatehl(value) \{
119 if (value != _cgiarghl_) arghl = "&hl=" + value;
120 else arghl = "";
[876]121 updatehrefs();
122\}
123}
[725]124
[876]125_pagescriptextra_ {
126// preferences scripts generated from \_preferences:pagescriptextra\_
[591]127
[876]128savedhrefs = new Object();
129
130argk = "";
131args = "";
132argm = "";
[1950]133argrd = "";
[876]134argo = "";
135argb = "";
[942]136arghd = "";
[1922]137argqb = "";
138argfqn = "";
[12764]139argqt= "";
[12875]140argaf = "";
[1922]141
[901]142_If_(_collectionoption_,_ccsfunctions_,_standardfunctions_)
[876]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
[12875]162function updateaf (value) \{
163 if (value != _cgiargaf_) argaf = "&af=" + value;
164 else argaf = "";
165 updatehrefs();
166\}
167
[876]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
[1950]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
[876]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
[12764]190function updateqt (value) \{
191 if (value != _cgiargqt_) argqt = "&qt=" + value;
192 else argqt = "";
193 updatehrefs();
194\}
195
[1950]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
[876]203function updateb (value) \{
204 if (value != _cgiargb_) argb = "&b=" + value;
205 else argb = "";
206 updatehrefs();
207\}
208
[1922]209function updatehd() \{
[1950]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\}
[1946]220
[12764]221
222function updateqb() \{
223
224 value = document.PrefForm.qb.options[document.PrefForm.qb.selectedIndex].value;
225 if (value != _cgiargqb_) argqb = "&qb=" + value;
[1950]226 else argqb = "";
[12764]227 updatehrefs();
[1922]228\}
229
[876]230function updatel () \{
231 value = document.PrefForm.l.options[document.PrefForm.l.selectedIndex].value;
[2265]232 href = location.href;
[5482]233 if (href.match(/&l=[\\w\\-]+/)) href = href.replace(/&l=[\\w\\-]+/, "&l=" + value);
[2265]234 else href += "&l=" + value;
235 if (!location.href.match(/&nl=1$/)) href += "&nl=1";
[7651]236 while (href.match(/&cc=[\\w]+/)) href = href.replace(/&cc=[\\w]+/, "");
[2265]237 location.href = href + getargs();
[876]238\}
239
240function updatev () \{
241 value = document.PrefForm.v.options[document.PrefForm.v.selectedIndex].value;
[2265]242 href = location.href;
243 if (href.match(/&v=\\d/)) href = href.replace(/&v=\\d/, "&v=" + value);
244 else href += "&v=" + value;
[7651]245 while (href.match(/&cc=[\\w]+/)) href = href.replace(/&cc=[\\w]+/, "");
[2265]246 location.href = href + getargs();
[876]247\}
248
249function updatew () \{
250 value = document.PrefForm.w.options[document.PrefForm.w.selectedIndex].value;
[2265]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";
[7651]255 while (href.match(/&cc=[\\w]+/)) href = href.replace(/&cc=[\\w]+/, "");
[2265]256 location.href = href + getargs();
[876]257\}
[1922]258
[276]259}
260
[1950]261
[276]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_
[10872]270_htmlhead_(class="bgimage" onLoad="initialize();")_startspacer__pagebanner_
[276]271}
272
273# this declaration ends up being the same as style=restrict, never mind
[548]274_header_[v=1] {_cgihead_
[276]275_htmlhead_(onLoad="initialize();")_pagebanner_
276}
277
278
279#######################################################################
[148]280# page content
281#######################################################################
[128]282
[148]283_pagetitle_ {_collectionname_: _textpreferences_}
[11155]284_imagethispage_ {_textpreferences_}
[148]285
[876]286_htmloptions_ {}
287
288_htmloptionson_ {
289<p>
[2496]290<tr>_fcoption_</tr>
[876]291<p>
[2496]292<tr>_hloption_</tr>
[876]293<p>
[1922]294<tr>_extlinkoption_</tr>
[876]295_If_(_PreferenceDocsFromWeb_,<p>
[1922]296<tr>_intlinkoption_</tr>)
[876]297}
298
299_fcoption_ {
[2496]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>
[876]305}
306
307_hloption_ {
[2496]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>
[876]313}
314
[1950]315#search pref options
[12764]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
[1950]335_boxsizeoption_{
[12764]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>
[1950]340}
341
[12764]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
[1950]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] {}
[666]368_caseoption_ [l=zh] {}
369
[128]370_stemoption_ {
[1950]371<td valign=baseline>_textwordends_</td>
372<td><input type=radio name=s value=1 onClick="updates(1);"
[876]373 _If_(_cgiargs_, checked)>_textstem_<br>
[591]374<input type=radio name=s value=0 onClick="updates(0);"
[1922]375 _If_(_cgiargs_,, checked)>_textnostem_</td>
[128]376}
377
[666]378_stemoption_ [l=zh] {}
379
[12875]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}
[1950]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_ {
[2106]397<td colspan=2><nobr><input type=checkbox name="rd" value=1 onClick="updaterd();" _If_("_cgiargrd_" eq "1", checked)>
[1950]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
[128]408_maxdocoption_ {
[591]409<select name="m" onChange="updatem();">
[180]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
[128]413</select>
414}
415
416_hitsperpageoption_ {
[591]417<select name="o" onChange="updateo();">
[180]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
[876]421 <option value="100")_If_("_cgiargo_" eq "100", selected)>_textall_
[128]422</select>
423}
424
[725]425_extlinkoption_ {
[1922]426<td>_textextlink_</td>
[1950]427<td><select name="el" onChange="updateel();">
[725]428 <option value="prompt"_If_("_cgiargel_" eq "prompt", selected)>
[876]429 _textlinkinterm_
[725]430 <option value="direct"_If_("_cgiargel_" eq "direct", selected)>
[876]431 _textlinkdirect_
[1922]432</select></td>
[725]433}
434
435_intlinkoption_ {
[1922]436<td>_textintlink_</td>
[1950]437<td><select name="il" onChange="updateil();">
[725]438 <option value="l"_If_("_cgiargil_" eq "l", selected)>
[876]439 _textdigitlib_
[725]440 <option value="w"_If_("_cgiargil_" eq "w", selected)>
[876]441 _textweb_
[1922]442</select></td>
[725]443}
444
[1950]445# set from within pageaction
[876]446_languageoption_ {}
[1856]447_encodingoption_ {}
[725]448
[276]449_formatoption_ {
[1922]450<td>_textformat_</td>
[1950]451<td><select name="v" onChange="updatev();">
[644]452 <option value="0"_If_("_cgiargv_" eq "0", selected)>_textgraphical_
453 <option value="1"_If_("_cgiargv_" eq "1", selected)>_texttextual_
[1922]454</select></td>
[276]455}
456
[128]457_content_ {
[7503]458_optnavigationbar_
[10872]459_If_(_prefschanged_,<p>_prefschanged_<br><div class="divbar">&nbsp;</div>)
460
[128]461<blockquote>
462
463<form name=PrefForm method=get action="_gwcgi_">
[10989]464<input type="hidden" name="e" value="_compressedoptions_">
[876]465_If_(_collectionoption_,_collectionprefs_)
466_presentationprefs_
[4763]467_searchprefs_
[876]468</blockquote>
469</form>
470}
471
[4763]472#search prefs
473_searchprefs_ {
[12764]474<table border=0 cellpadding=0 cellspacing=0 width=_pagewidth_><tr>
[2424]475<td><h3>_textsearchprefs_</h3></td>
476<td align=right><input type=submit name="bp" value="_textsetprefs_"></td>
[12764]477</tr></table>
[2424]478
[1950]479<table>
[12875]480<tr>_modeoption_</tr>
481
[12764]482<tr>_querytypedependantoptions_</tr>
[128]483
[12875]484_If_("_cgiargks_" eq "1",
[1950]485<tr>_caseoption_</tr>
[12875]486)
487_If_("_cgiargss_" eq "1",
[1950]488<tr>_stemoption_</tr>
[12779]489)
[12875]490_If_("_cgiargafs_" eq "1",
491<tr>_accentoption_</tr>
492)
[1950]493<tr>_searchhistoryop_</tr>
[1922]494
[2299]495<!--
496Don't include this for now
[1950]497<tr>_relateddocop_</tr>
[2299]498-->
[1950]499
500<tr><td colspan=2>_textprefop_</td></tr>
501</table>
502</blockquote>
[10872]503<div class="divbar">&nbsp;</div>
[1950]504<blockquote>
[876]505}
[725]506
[4763]507_querytypedependantoptions_ {
[12764]508_If_("_cgiargct_" eq "0",_searchtypeoptionplain_,_mgppqueryoptions_)
[4763]509}
[12764]510_mgppqueryoptions_ {
511_If_("_cgiargqto_" eq "1", _searchtypeoptionplain_)
512_If_("_cgiargqto_" eq "2", _searchtypeoptionform_)
513_If_("_cgiargqto_" eq "3", _searchtypeoptionboth_)
[4763]514}
515
[12764]516# should this go somewhere??
517#<noscript><tr><td colspan=2><b>_query:textnojsformwarning_</b></td></tr></noscript>
[4763]518
[876]519_collectionprefs_ {
520<h3>_textcollectionprefs_</h3>
521_collectionoption_
[1950]522</blockquote>
[10872]523<div class="divbar">&nbsp;</div>
[1950]524<blockquote>
[876]525}
[725]526
[876]527_presentationprefs_ {
528<h3>_textpresentationprefs_</h3>
[1950]529<table>_htmloptions_
[876]530
[1950]531_If_(_languageoption_,<tr><td>_textlanguage_</td><td>_languageoption_</td></tr>)
[276]532
[1950]533_If_(_encodingoption_,<tr><td>_textencoding_</td><td>_encodingoption_</td></tr>)
[591]534
[1950]535<tr>_formatoption_</tr></table>
536</blockquote>
[10872]537<div class="divbar">&nbsp;</div>
[1950]538<blockquote>
[128]539}
[148]540
Note: See TracBrowser for help on using the repository browser.