source: main/trunk/greenstone2/macros/deposit.dm@ 29386

Last change on this file since 29386 was 29386, checked in by kjdon, 10 years ago

depositor: changed imagethispage to be different if we are using local (collection specific) depositor. the view colleciton link now includes the saved args. added cacheoption macro so we can turn off metadata value caching if want.

  • Property svn:keywords set to Author Date Id Revision
File size: 18.3 KB
Line 
1# this file must be UTF-8 encoded
2
3package depositor
4
5_imagethispage_ {_If_("_cgiargdi1local_" eq "1",<a href="_httppagedepositorcurrentcollection_">_textdepositorlocal_</a>,<a href="_httppagedepositor_">_textdepositor_</a>)}
6
7# _pagescriptextra_ will be set to the appropriate _***scriptextra_
8# macro from within the server
9_pagescriptextra_ {}
10
11# a plain header for those pages that need it (the _pagebanner_ macro
12# will be set to this by the server for those pages.
13_plainbanner_ {}
14
15# dont want links to help" or "preferences" pages from within
16# collector
17_globallinks_ {_homelink_}
18
19# metadata fields that will be displayed in the step1 page,
20# this is determined by the depositormetadata macro defined in the collection's collect.cfg
21_metadataconf_ {var DepositorMDFields = new Array();}
22
23# store any existing metadata values
24_cachedmetadatavalues_ {var CachedMDValues = new Array();}
25# set the following to 0 if you don't want to cache metadata values
26_cacheoption_{1}
27#######################################################################
28# steps
29
30_numsteps_ {3}
31
32# clashes with general text (in english2.dm) about what to do at this stage
33# now it doesn't appear in wizard bar, is it needed?
34##_textselect_ {The Depositor}
35_textstep1_ {_textmeta_}
36_textstep2_ {_textintro_}
37_textstep3_ {_textconfirm_}
38
39# set laststep to depositonly if you don't want the item to be indexed
40_laststep_ {bild}
41_textlaststep_ {_textbild_}
42
43
44#######################################################################
45# icons
46
47_iconcross_ {<img src="_httpimg_/cross.gif">}
48_iconcross_ [v=1] {<b>no</b>}
49_icontick_ {<img src="_httpimg_/tick.gif">}
50_icontick_ [v=1] {<b>yes</b>}
51_iconblank_ {<img src="_httpimg_/blank.gif">}
52_iconblank_ [v=1] {}
53
54_imagemore_ {<a href="javascript:more()" onMouseover="roll('more',1);" onMouseOut="roll('more',0);"><img
55name="more" src="_httpimg_/moreof.gif" onLoad="gbutton(this,'_httpimg_/moreon.gif');" border=0 alt="_textmore_"
56title="_textmore_" align=top></a>}
57_imagemore_ [v=1] {_textmore_}
58
59_icongreyarrow_ {<img src="_httpimg_/grarrow.gif">}
60_icongreyuparrow_ {<img src="_httpimg_/guarrow.gif">}
61_iconstop_ {<img src="_httpimg_/stop.gif" border=0>}
62
63
64#######################################################################
65# http macros
66
67_httpinfo_ {_gwcgi_?e=_compressedoptions_&p=info}
68_httpsrce_ {_gwcgi_?e=_compressedoptions_&p=srce}
69_httpconf_ {_gwcgi_?e=_compressedoptions_&p=conf}
70_httpbild_ {_gwcgi_?e=_compressedoptions_&p=bild}
71_httpview_ {_gwcgi_?e=_compressedoptions_&a=p&p=about&c=_cgiargdi1dirnameUrlsafe_}
72_httpdel_ {javascript:do\_delete();}
73_httpexpt_ {_gwcgi_?e=_compressedoptions_&p=expt}
74
75
76#######################################################################
77# select // this really should be intro
78#######################################################################
79
80# _fullnamemenu_ has previous collection selected. Since there is no button
81# on this page to proceed, we reset the drop down box to have no collection
82# selected.
83_selectheader_ {_cgihead_
84_htmlhead_(class="bgimage" onLoad="initialize();")_startspacer_
85}
86
87
88_selectscriptextra_ {
89
90function initialize() \{
91 document.depositorform.di1dirname.value = "";
92\}
93
94function check\_submit (gotopage) \{
95 var form = document.depositorform;
96 form.p.value = gotopage;
97
98 // if 'dirname' given, then link to cgiarg c so collection specific macros work
99 if (form.di1dirname) \{
100 form.c.value = form.di1dirname.value;
101 \}
102
103 form.submit();
104\}
105
106function menuchange() \{
107
108 _buildtypearray_
109
110 var form = document.depositorform;
111
112 if (form.di1dirname.value == "") \{
113 alert("Please choose a collection first");
114 \}
115 else \{
116 var pos = form.di1dirname.selectedIndex;
117 var bt = buildtype[pos];
118 if (bt=="") \{ bt = "mg"; \}
119 form.di1buildtype.value = bt;
120
121 check\_submit('step1');
122 \}
123\}
124
125}
126
127_selectcontent_ {
128<form name="depositorform" method=post action="_gwcgi_">
129<input type=hidden name="e" value="_decodedcompressedoptionsAttrsafe_">
130<input type=hidden name="p" value="intro">
131<input type=hidden name="c" value="">
132<input type=hidden name="di1buildtype" value="">
133
134<center>
135<table width=_pagewidth_>
136<tr><td>
137<div class="divbar">&nbsp;</div>
138<center><h2>_textselect_</h2></center>
139<div class="divbar">&nbsp;</div>
140
141<p> <em>_textselectcol_</em>
142
143<p>_fullnamemenu_<br><br>
144<div class="divbar">&nbsp;</div>
145</td></tr>
146</table>
147</center>
148</form>
149}
150
151
152#######################################################################
153# step 1
154#######################################################################
155
156#here goes the "memorization" macros for each form field.
157#_di1md.Title_ {_If_("_:cgiargdi1md.Title_" eq "_cgiargdi1md.Title_",_cgiargdi1md.Title_,)}
158#_di1md.Creator_ {_If_("_:cgiargdi1md.Creator_" eq "_cgiargdi1md.Creator_",_cgiargdi1md.Creator_,)}
159#_di1md.Description_ {_If_("_:cgiargdi1md.Description_" eq "_cgiargdi1md.Description_",_cgiargdi1md.Description_,)}
160#_di1md.Subject_ {_If_("_:cgiargdi1md.Subject_" eq "_cgiargdi1md.Subject_",_cgiargdi1md.Subject_,)}
161
162_step1scriptextra_ {
163
164_metadataconf_
165_cachedmetadatavalues_
166
167function loadForm() \{
168
169 var formcontainer = document.getElementById('formcontainer');
170
171 if (!formcontainer) \{
172 return;
173 \}
174
175 for (i=0; i < DepositorMDFields.length; i++) \{
176 if (DepositorMDFields[i]==null) \{
177 continue;
178 \}
179 metadataField = DepositorMDFields[i];
180
181 var labelCell = document.createElement("td");
182 labelCell.innerHTML = metadataField.label + ": ";
183 labelCell.setAttribute("title", metadataField.tooltip);
184
185 var cachedValue;
186 if(CachedMDValues[0] !=null && CachedMDValues[0]["di1md." + metadataField.name])\{
187 cachedValue = CachedMDValues[0]["di1md." + metadataField.name];
188 \} else \{
189 cachedValue = "";
190 \}
191
192 var inputObj;
193 if (metadataField.type=="text") \{
194 inputObj = document.createElement("input");
195 inputObj.setAttribute("type","text");
196 inputObj.setAttribute("size","74");
197 inputObj.setAttribute("value", cachedValue);
198 \}
199 else if (metadataField.type=="textarea") \{
200 inputObj = document.createElement("textarea");
201 inputObj.setAttribute("rows","5");
202 inputObj.setAttribute("cols", "40");
203 inputObj.innerHTML = cachedValue;
204 \}
205 inputObj.setAttribute("name", "di1md."+ metadataField.name);
206
207 var inputCell = document.createElement("td");
208 inputCell.appendChild(inputObj);
209
210 var entry = document.createElement("tr");
211 entry.appendChild(labelCell);
212 entry.appendChild(inputCell);
213
214 formcontainer.appendChild(entry);
215 \}
216\}
217
218function check\_submit (gotopage) \{
219 var form = document.depositorform;
220 form.p.value = gotopage;
221 form.submit();
222\}
223
224if (window.addEventListener) window.addEventListener("load", loadForm, false);
225else if (window.attachEvent) window.attachEvent("onload", loadForm);
226
227}
228
229_step1content_ {
230
231<form name="depositorform" method=post action="_gwcgi_" enctype="multipart/form-data">
232
233<input type=hidden name="e" value="_decodedcompressedoptionsAttrsafe_">
234<input type=hidden name="p" value="_cgiargpAttrsafe_">
235
236
237<center>
238<table width=_pagewidth_>
239<tr><td>
240<div class="divbar">&nbsp;</div>
241<center>
242<h2>_textstep1_</h2>
243<p>_textdepositorblurb_
244</center>
245<div class="divbar">&nbsp;</div>
246<ul>
247
248<!--input goes here-->
249<!--dynamic load the metadata elements as configured in the collection's collect.cfg-->
250<p><table><tbody id="formcontainer"></tbody></table>
251
252<div class="divbar">&nbsp;</div>
253</td></tr>
254<tr><td>_depositorbar_</td></tr>
255</table></center>
256
257</form>
258
259}
260
261#######################################################################
262# step 2
263#######################################################################
264
265_userfile_ {_If_("_:cgiargdi1userfile_" eq "_cgiargdi1userfile_",_cgiargdi1userfileAttrsafe_,)}
266
267_step2scriptextra_ {
268
269function check\_submit (gotopage) \{
270 var form = document.depositorform;
271 form.p.value = gotopage;
272 form.submit();
273\}
274}
275
276_step2content_ {
277<form name="depositorform" method=post action="_gwcgi_" enctype="multipart/form-data">
278<input type=hidden name="e" value="_decodedcompressedoptionsAttrsafe_">
279<input type=hidden name="p" value="_cgiargpAttrsafe_">
280<center>
281<table width=_pagewidth_>
282<tr><td>
283<div class="divbar">&nbsp;</div>
284<center><h2>_textstep2_</h2></center>
285<div class="divbar">&nbsp;</div>
286<p>_textfilename_: <input type=file name=di1userfileinfo value="_userfile_"></p>
287<div class="divbar">&nbsp;</div>
288</td></tr>
289<tr><td>_depositorbar_</td></tr>
290</table>
291</center>
292</form>
293}
294
295#######################################################################
296# step 3
297#######################################################################
298
299#here goes the "memorization" macros for each form field.
300#_di1_ {_If_("_:cgiargdi1md.Title_" eq "_cgiargdi1md.Title_",_cgiargdi1md.Title_,)}
301#_di1md.Creator_ {_If_("_:cgiargdi1md.Creator_" eq "_cgiargdi1md.Creator_",_cgiargdi1md.Creator_,)}
302
303_step3scriptextra_ {
304
305function check\_submit (gotopage) \{
306 var form = document.depositorform;
307 form.p.value = gotopage;
308 form.submit();
309\}
310}
311
312_step3content_ {
313<form name="depositorform" method=post action="_gwcgi_" enctype="multipart/form-data">
314<input type=hidden name="e" value="_decodedcompressedoptionsAttrsafe_">
315<input type=hidden name="p" value="_cgiargpAttrsafe_">
316<center>
317<table width=_pagewidth_>
318<tr><td>
319<div class="divbar">&nbsp;</div>
320<center><h2>_textstep3_</h2></center>
321<div class="divbar">&nbsp;</div>
322<p>_textfilename_: _di1userfile_ </p>
323<p>_textfilesize_: _di1userfilesize_ </p>
324<div class="divbar">&nbsp;</div>
325</td></tr>
326<tr><td>_depositorbar_</td></tr>
327</table>
328</center>
329</form>
330}
331
332#######################################################################
333# bild (main frameset for build page)
334#######################################################################
335
336_bildcontent_ {
337<html>
338<head>
339<!--
340<script>
341function check\_submit (gotopage) \{
342 var form = document.depositorform;
343 form.p.value = gotopage;
344 form.submit();
345\}
346</script>
347-->
348</head>
349
350<form name="depositorform" method=post action="_gwcgi_">
351<input type=hidden name="e" value="_decodedcompressedoptionsAttrsafe_">
352<input type=hidden name="p" value="_cgiargpAttrsafe_">
353
354<frameset rows="*,160" border=0>
355 <noframes><body bgcolor="#ffffff">
356 <p>You must have a frame enabled browser to obtain feedback
357 on how the building process is progressing. The collection <i>will</i>
358 continue to build as normal however.</p>
359
360 <table>
361 <tr valign=center><td>
362 To stop the building process at any time, click here.
363 <br>The collection you are working on will remain intact.
364 </td>
365 <td><input type="submit" value="stop building"></td>
366 </table>
367
368 </body>
369 </noframes>
370 <frame src="_gwcgi_?e=_compressedoptions_&p=bildframe1">
371 <frame src="_gwcgi_?e=_compressedoptions_&p=bildstatus">
372</frameset>
373</html>
374}
375
376#######################################################################
377# bildframe1
378#######################################################################
379
380# header overridden to allow base target to be set
381
382_bildframe1header_ {_cgihead_
383<html>
384<head>
385<base target=_top>
386<title>_pagetitle_</title>
387_globalscripts_
388_cssheader_
389</head>
390<body class="bgimage">
391_startspacer__pagebanner_
392}
393
394
395_bildframe1header_[v=1] {_cgihead_
396<html>
397<head>
398<base target=_top>
399<title>_pagetitle_</title>
400_globalscripts_
401</head>
402<body class="bgimage">
403_pagebanner_
404}
405
406_bildframe1scriptextra_ {}
407
408_bildframe1content_ {
409<form name="depositorform" method=post action="_gwcgi_">
410<input type=hidden name="e" value="_decodedcompressedoptionsAttrsafe_">
411<input type=hidden name="p" value="bildcancel">
412
413<center>
414<table width=_pagewidth_>
415<tr><td>
416<div class="divbar">&nbsp;</div>
417<center>
418<h2>_textbild_</h2>
419</center>
420<div class="divbar">&nbsp;</div>
421<p>
422_depositor:textbild1_
423<p>
424
425<table>
426<tr valign=center><td>
427_depositor:textbild2_
428</td>
429<td><input type="submit" value="_depositor:textstopbuild_"></td>
430</table>
431
432<p>
433_depositor:textbild3_
434</td></tr>
435</table></center>
436</form>
437}
438
439
440#######################################################################
441# bildcancel
442#######################################################################
443
444_bildcancelscriptextra_ {
445function check\_submit (gotopage) \{
446 var form = document.depositorform;
447 form.p.value = gotopage;
448 form.submit();
449\}
450}
451_bildcancelcontent_ {
452<form name="depositorform" method=post action="_gwcgi_">
453<input type=hidden name="e" value="_decodedcompressedoptionsAttrsafe_">
454<input type=hidden name="p" value="_cgiargpAttrsafe_">
455
456</form>
457<center>
458<table width=_pagewidth_>
459<tr><td>
460<div class="divbar">&nbsp;</div>
461<center>
462<h2>_depositor:textbuildcancelled_</h2>
463</center>
464<div class="divbar">&nbsp;</div>
465<p>
466_depositor:textbildcancel1_
467<p><center>
468_depositorbar_
469</center>
470
471</td></tr>
472</table></center>
473}
474
475
476#######################################################################
477# bildstatus
478#######################################################################
479
480# special header for status page
481_bildstatusheader_ {_cgihead_
482_htmlhead_(class="bgimage" onLoad="initialize();")_startspacer_
483}
484_bildstatusheader_[v=1] {_cgihead_
485_htmlhead_(onLoad="initialize();")
486}
487
488_bildstatusscriptextra_ {
489var timer = 5;
490function initialize() \{
491 setTimeout("count_down()",1000);
492\}
493
494function count_down() \{
495 if (timer==0) \{
496 window.status = "";
497 document.depositorform.submit();
498 \} else \{
499 if (timer==1) \{
500 window.status = "_textbsupdate1_";
501 \} else \{
502 window.status = "_textbsupdate2_ "+timer+" _textseconds_";
503 \}
504 timer--;
505 setTimeout("count_down()",1000);
506 \}
507\}
508}
509
510_bildstatuscontent_ {
511<form name="depositorform" method=post action="_gwcgi_">
512<input type=hidden name="e" value="_decodedcompressedoptionsAttrsafe_">
513
514<center>
515<table width=_pagewidth_>
516<tr><td><center>
517_statusline_
518</center>
519</td></tr>
520</table></center>
521</form>
522}
523
524
525#######################################################################
526# bilddone
527#######################################################################
528
529_bilddoneheader_ {_cgihead_
530_htmlhead_(class="bgimage")_startspacer_
531}
532_bilddonescriptextra_ {
533
534function check\_submit (gotopage) \{
535 var form = document.depositorform;
536 form.p.value = gotopage;
537 form.submit();
538\}
539
540}
541
542
543_bilddonecontent_ {
544<center>
545<table width=_pagewidth_>
546<tr><td>
547<p>_textbildsuc_
548
549<p>_textviewbildsummary_
550
551<p><center>
552_depositorbar_
553</center>
554
555</td></tr>
556</table></center>
557}
558
559
560#######################################################################
561# bildfail
562#######################################################################
563
564_bildfailheader_ {_cgihead_
565_htmlhead_(class="bgimage")_startspacer_
566}
567_bildfailscriptextra_ {
568function check\_submit (gotopage) \{
569 var form = document.depositorform;
570 form.p.value = gotopage;
571 form.submit();
572\}
573}
574_bildfailcontent_ {
575<form name="depositorform" method=post action="_gwcgi_">
576<input type=hidden name="e" value="_decodedcompressedoptionsAttrsafe_">
577<input type=hidden name="p" value="_cgiargpAttrsafe_">
578
579</form>
580
581<table width=_pagewidth_>
582<tr><td>
583_textfailmsg_
584</td></tr>
585<tr><td>
586</td></tr>
587</table></center>
588}
589
590# _textfailmsg_ will be set to one of the following macros from within
591# the server
592
593_textfailmsg1_ {
594_textfailmsg11_
595<p><center>
596_depositorbar_
597</center>
598}
599
600_textfailmsg6_ {_textfailmsg1_}
601
602_textfailmsg2_ {
603_textfailmsg21_
604<p>_textblcont_
605<p>_faillog_
606<p>_texttryagain_
607}
608
609_textfailmsg3_ {
610_textfailmsg31_
611<p>_textblcont_
612<p>_faillog_
613<p>_texttryagain_
614}
615
616_textfailmsg4_ {
617_textfailmsg41_
618<p>_textblcont_
619<p>_faillog_
620}
621
622_textfailmsg5_ {_textfailmsg4_}
623
624_textfailmsg7_ {
625_textfailmsg71_
626<p>_texttryagain_
627}
628
629#######################################################################
630# Error and message pages
631#######################################################################
632
633_messagehead_ {
634<form name="depositorform" method=post action="_gwcgi_">
635<input type=hidden name="e" value="_decodedcompressedoptionsAttrsafe_">
636
637<center>
638<table width=_pagewidth_>
639<tr><td>
640<div class="divbar">&nbsp;</div>
641}
642
643_messagefoot_ {
644<p>
645<a href="javascript:document.depositorform.submit();">_textretcoll_</a>
646<div class="divbar">&nbsp;</div>
647</td></tr>
648</table></center>
649</form>
650}
651
652_messagefootnolink_ {
653<div class="divbar">&nbsp;</div>
654</td></tr>
655</table></center>
656</form>
657}
658
659#_delpermissioncontent_ {
660#_messagehead_
661#<p>
662#_textdelperm_
663#_messagefoot_
664#}
665
666#_delinvalidcontent_ {
667#_messagehead_
668#<p>
669#_textdelinv_
670#_messagefoot_
671#}
672
673#_delsuccesscontent_ {
674#_messagehead_
675#<p>
676#_textdelsuc_
677#_messagefoot_
678#}
679
680#_clonefailcontent_ {
681#_messagehead_
682#<input type=hidden name="bc1clone" value="0">
683#<p>_textclonefail_
684#_messagefoot_
685#}
686
687_genericcontent_ {
688_messagehead_
689<p>_textcolerr_
690_messagefoot_
691}
692
693_tmpfailcontent_ {
694_messagehead_
695<p>
696_texttmpfail_
697_messagefoot_
698}
699
700#_mkcolfailcontent_ {
701#_messagehead_
702#<p>_textmkcolfail_
703#_messagefoot_
704#}
705
706_nocollectioncontent_ {
707_messagehead_
708<p>_textnocontent_
709<br><a href="_httppagedepositor_">_textrestart_</a>
710<p>
711_messagefootnolink_
712}
713
714#_reloaderrorcontent_ {
715#_messagehead_
716#<p>_textreloaderror_
717#<br><a href="_httppagedepositor_">_textrestart_</a>
718#<p>
719#_messagefootnolink_
720#}
721
722_exptscriptextra_ {}
723
724#_exptsuccesscontent_ {
725#_messagehead_
726#<input type=hidden name=p value=existing>
727#<p>_textexptsuc_
728#_messagefoot_
729#}
730
731#_exptfailcontent_ {
732#_messagehead_
733#<input type=hidden name=p value=existing>
734#_textexptfail_
735#_messagefoot_
736#}
737
738#######################################################################
739# depositonly
740#######################################################################
741
742_depositonlyscriptextra_ {}
743
744_depositonlycontent_ {
745
746<center>
747<em>Thanks for using the Depositor! Cick <a href="_gwcgi_">here</a> to return to the Greenstone home page. </em>
748<table width=_pagewidth_>
749<tr><td>
750<div class="divbar">&nbsp;</div>
751<center><h2>_textstep3_</h2></center>
752<div class="divbar">&nbsp;</div>
753<p>_textfilename_: _di1userfile_ </p>
754<p>_textfilesize_: _di1userfilesize_ </p>
755<div class="divbar">&nbsp;</div>
756</td></tr>
757<tr><td></td></tr>
758</table>
759</center>
760
761}
762
763###################################################
764## text macros that are defined by another package
765###################################################
766
767
768_textbsupdate1_ {_wizard:textbsupdate1_}
769_textbsupdate2_ {_wizard:textbsupdate2_}
770_textseconds_ {_wizard:textseconds_}
771
772_textbildsuc_ {_wizard:textbildsuc_}
773_textviewbildsummary_ {_wizard:textviewbildsummary_}
774
775_textview_ {_wizard:textview_}
776_textbild1_ {_wizard:textbild1_}
777
778_textbild2_ {_wizard:textbild2_}
779
780_textstopbuild_ {_wizard:textstopbuild_}
781
782_textbild3_ {_wizard:textbild3_}
783
784_textbuildcancelled_ {_wizard:textbuildcancelled_}
785
786_textbildcancel1_ {_wizard:textbildcancel1_}
787
788_textfailmsg11_ {_wizard:textfailmsg11_}
789_textfailmsg21_ {_wizard:textfailmsg21_}
790_textblcont_ {_wizard:textblcont_}
791
792_textfailmsg31_ {_wizard:textfailmsg31_}
793_textfailmsg41_ {_wizard:textfailmsg41_}
794_textfailmsg71_ {_wizard:textfailmsg71_}
Note: See TracBrowser for help on using the repository browser.