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

Last change on this file since 14072 was 13982, checked in by lh92, 17 years ago

Added UseBook variable for Realistic Book

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