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

Last change on this file since 18061 was 14083, checked in by lh92, 17 years ago

change the book viewer mode to use combo box because radio button can only have numeric value but the book mode need to be in "on" or "off" state

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 15.0 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
259function updatebook () \{
260 value = document.PrefForm.book.options[document.PrefForm.book.selectedIndex].value;
261 href = location.href;
262 if (href.match(/&book=[^&]+/)) href = href.replace(/&book=[^&]+/, "&book=" + value);
263 else href += "&book=" + value;
264 while (href.match(/&cc=[\\w]+/)) href = href.replace(/&cc=[\\w]+/, "");
265 location.href = href + getargs();
266\}
267
268}
269
270#######################################################################
271# headers
272# these are overridden so we can put an onLoad event handler
273# in the <body> tag of this page
274#######################################################################
275
276
277_header_ {_cgihead_
278_htmlhead_(class="bgimage" onLoad="initialize();")_startspacer__pagebanner_
279}
280
281# this declaration ends up being the same as style=restrict, never mind
282_header_[v=1] {_cgihead_
283_htmlhead_(onLoad="initialize();")_pagebanner_
284}
285
286
287#######################################################################
288# page content
289#######################################################################
290
291_pagetitle_ {_collectionname_: _textpreferences_}
292_imagethispage_ {_textpreferences_}
293
294_htmloptions_ {}
295
296_htmloptionson_ {
297<p>
298<tr>_fcoption_</tr>
299<p>
300<tr>_hloption_</tr>
301<p>
302<tr>_extlinkoption_</tr>
303_If_(_PreferenceDocsFromWeb_,<p>
304<tr>_intlinkoption_</tr>)
305}
306
307_fcoption_ {
308<td valign=baseline>Document page layout</td>
309<td><input type=radio name=fc value=1 onClick="updatefc(1);"
310 _If_(_cgiargfc_, checked)>navigation bar at top<br>
311<input type=radio name=fc value=0 onClick="updatefc(0);"
312 _If_(_cgiargfc_,, checked)>no navigation bar</td>
313}
314
315_hloption_ {
316<td valign=baseline>Search term highlighting</td>
317<td><input type=radio name=hl value=1 onClick="updatehl(1);"
318 _If_(_cgiarghl_, checked)>highlight search terms<br>
319<input type=radio name=hl value=0 onClick="updatehl(0);"
320 _If_(_cgiarghl_,, checked)>don't highlight search terms</td>
321}
322
323#search pref options
324
325
326# search type option
327_searchtypeoptionplain_ {
328<td valign=baseline>_textsearchtype_</td>
329<td>_textplainsearchtype_</td>
330}
331_searchtypeoptionform_ {
332<td valign=baseline>_textsearchtype_</td>
333<td>_textformsearchtype_</td>
334}
335_searchtypeoptionboth_ {
336<td valign=baseline>_textsearchtype_</td>
337<td><input type=radio name=qt value=0 onClick="updateqt(0);"
338 _If_(_cgiargqt_,, checked)>_textplainsearchtype_<br>
339<input type=radio name=qt value=1 onClick="updateqt(1);"
340 _If_(_cgiargqt_, checked)>_textformsearchtype_</td>
341}
342
343_boxsizeoption_{
344<select name="qb" onChange="updateqb();">
345 <option value="0"_If_("_cgiargqb_" eq "0", selected)>_textregularbox_
346 <option value="1"_If_("_cgiargqb_" eq "1", selected)>_textlargebox_
347</select>
348}
349
350_formnumfieldoption_ {
351<select name="fqn" onChange="updatefqn();">
352 <option value="2"_If_("_cgiargfqn_" eq "2", selected)>2
353 <option value="4"_If_("_cgiargfqn_" eq "4", selected)>4
354 <option value="6"_If_("_cgiargfqn_" eq "6", selected)>6
355 <option value="8"_If_("_cgiargfqn_" eq "8", selected)>8
356</select>
357}
358
359_modeoption_ {
360<td valign=baseline>_textquerymode_</td>
361<td><input type=radio name=b value=0 onClick="updateb(0);"
362 _If_(_cgiargb_,, checked)>_textsimplemode_<br>
363<input type=radio name=b value=1 onClick="updateb(1);"
364 _If_(_cgiargb_, checked)>_textadvancedmode_</td>
365}
366
367_caseoption_ {
368<td valign=baseline>_textcasediffs_</td>
369<td><input type=radio name=k value=1 onClick="updatek(1);"
370 _If_(_cgiargk_, checked)>_textignorecase_<br>
371<input type=radio name=k value=0 onClick="updatek(0);"
372 _If_(_cgiargk_,, checked)>_textmatchcase_</td>
373}
374
375_caseoption_ [l=ar] {}
376_caseoption_ [l=zh] {}
377
378_stemoption_ {
379<td valign=baseline>_textwordends_</td>
380<td><input type=radio name=s value=1 onClick="updates(1);"
381 _If_(_cgiargs_, checked)>_textstem_<br>
382<input type=radio name=s value=0 onClick="updates(0);"
383 _If_(_cgiargs_,, checked)>_textnostem_</td>
384}
385
386_stemoption_ [l=zh] {}
387
388_accentoption_ {
389<td valign=baseline>_textaccentdiffs_</td>
390<td><input type=radio name=af value=1 onClick="updateaf(1);"
391 _If_(_cgiargaf_, checked)>_textignoreaccents_<br>
392<input type=radio name=af value=0 onClick="updateaf(0);"
393 _If_(_cgiargaf_,, checked)>_textmatchaccents_</td>
394}
395
396_searchhistoryop_ {
397<td valign=baseline>_textsearchhistory_</td>
398<td><input type=radio name="hd" value=0 onClick="updatehd();"
399 _If_("_cgiarghd_" eq "0", checked)>_textnohistorydisplay_<br>
400<input type=radio name="hd" value=1 onClick="updatehd();"
401 _If_("_cgiarghd_" eq "0",, checked)>_texthistorydisplay_</td>
402}
403
404_relateddocop_ {
405<td colspan=2><nobr><input type=checkbox name="rd" value=1 onClick="updaterd();" _If_("_cgiargrd_" eq "1", checked)>
406Display related documents</nobr></td>
407}
408
409_historynumrecords_{<select name="hdn" onChange="updatehd();">
410 <option value="5"_If_("_cgiarghd_" eq "5", selected)>5
411 <option value="10"_If_("_cgiarghd_" eq "10", selected)>10
412 <option value="15"_If_("_cgiarghd_" eq "15", selected)>15
413 <option value="20"_If_("_cgiarghd_" eq "20", selected)>20
414</select>}
415
416_maxdocoption_ {
417<select name="m" onChange="updatem();">
418 <option value="50"_If_("_cgiargm_" eq "50", selected)>50
419 <option value="100"_If_("_cgiargm_" eq "100", selected)>100
420 <option value="200"_If_("_cgiargm_" eq "200", selected)>200
421 <option value="-1"_If_("_cgiargm_" eq "-1", selected)>_textall_
422</select>
423}
424
425_hitsperpageoption_ {
426<select name="o" onChange="updateo();">
427 <option value="10"_If_("_cgiargo_" eq "10", selected)>10
428 <option value="20"_If_("_cgiargo_" eq "20", selected)>20
429 <option value="50"_If_("_cgiargo_" eq "50", selected)>50
430 <option value="-1"_If_("_cgiargo_" eq "-1", selected)>_textall_
431</select>
432}
433
434_extlinkoption_ {
435<td>_textextlink_</td>
436<td><select name="el" onChange="updateel();">
437 <option value="prompt"_If_("_cgiargel_" eq "prompt", selected)>
438 _textlinkinterm_
439 <option value="direct"_If_("_cgiargel_" eq "direct", selected)>
440 _textlinkdirect_
441</select></td>
442}
443
444_intlinkoption_ {
445<td>_textintlink_</td>
446<td><select name="il" onChange="updateil();">
447 <option value="l"_If_("_cgiargil_" eq "l", selected)>
448 _textdigitlib_
449 <option value="w"_If_("_cgiargil_" eq "w", selected)>
450 _textweb_
451</select></td>
452}
453
454# set from within pageaction
455_languageoption_ {}
456_encodingoption_ {}
457
458_formatoption_ {
459<td>_textformat_</td>
460<td><select name="v" onChange="updatev();">
461 <option value="0"_If_("_cgiargv_" eq "0", selected)>_textgraphical_
462 <option value="1"_If_("_cgiargv_" eq "1", selected)>_texttextual_
463</select></td>
464}
465
466
467_bookoption_ {
468<td valign=baseline>_textbookoption_</td>
469<td><select name="book" onChange="updatebook();">
470 <option value="off"_If_("_cgiargbook_" eq "off", selected)>_textbookvieweroff_
471 <option value="on"_If_("_cgiargbook_" eq "on", selected)>_textbookvieweron_
472</select></td>
473}
474
475# for [l=en]
476_textbookoption_ {Book viewer mode:}
477_textbookvieweron_ {on}
478_textbookvieweroff_ {off}
479
480_content_ {
481
482_optnavigationbar_
483_If_(_prefschanged_,<p>_prefschanged_<br><div class="divbar">&nbsp;</div>)
484
485<form name=PrefForm method=get action="_gwcgi_">
486<input type="hidden" name="e" value="_decodedcompressedoptions_">
487_If_(_collectionoption_,_collectionprefs_)
488_presentationprefs_
489_searchprefs_
490</form>
491}
492
493#search prefs
494_searchprefs_ {
495<table border=0 cellpadding=0 cellspacing=0 width=_pagewidth_><tr>
496<td><h3>_textsearchprefs_</h3></td>
497<td align=right><input type=submit name="bp" value="_textsetprefs_"></td>
498</tr></table>
499<blockquote>
500
501<table>
502<tr>_modeoption_</tr>
503
504<tr>_querytypedependantoptions_</tr>
505
506_If_("_cgiargks_" eq "1",
507<tr>_caseoption_</tr>
508)
509_If_("_cgiargss_" eq "1",
510<tr>_stemoption_</tr>
511)
512_If_("_cgiargafs_" eq "1",
513<tr>_accentoption_</tr>
514)
515<tr>_searchhistoryop_</tr>
516
517<!--
518Don't include this for now
519<tr>_relateddocop_</tr>
520-->
521
522<tr><td colspan=2>_textprefop_</td></tr>
523</table>
524</blockquote>
525<div class="divbar">&nbsp;</div>
526}
527
528_querytypedependantoptions_ {
529_If_("_cgiargct_" eq "0",_searchtypeoptionplain_,_mgppqueryoptions_)
530}
531_mgppqueryoptions_ {
532_If_("_cgiargqto_" eq "1", _searchtypeoptionplain_)
533_If_("_cgiargqto_" eq "2", _searchtypeoptionform_)
534_If_("_cgiargqto_" eq "3", _searchtypeoptionboth_)
535}
536
537# should this go somewhere??
538#<noscript><tr><td colspan=2><b>_query:textnojsformwarning_</b></td></tr></noscript>
539
540_collectionprefs_ {
541<h3>_textcollectionprefs_</h3>
542<blockquote>
543_collectionoption_
544</blockquote>
545<div class="divbar">&nbsp;</div>
546}
547
548_presentationprefs_ {
549<h3>_textpresentationprefs_</h3>
550<blockquote>
551<table>_htmloptions_
552
553_If_(_languageoption_,<tr><td>_textlanguage_</td><td>_languageoption_</td></tr>)
554
555_If_(_encodingoption_,<tr><td>_textencoding_</td><td>_encodingoption_</td></tr>)
556
557<tr>_formatoption_</tr>
558_If_("_tidyoption_" ne "untidy",<tr>_bookoption_</tr>)
559</table>
560</blockquote>
561<div class="divbar">&nbsp;</div>
562}
563
Note: See TracBrowser for help on using the repository browser.