[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] koha/intranet htdocs/intranet-tmpl/default/en/s... [rel_TG]
|
From: |
Tumer Garip |
|
Subject: |
[Koha-cvs] koha/intranet htdocs/intranet-tmpl/default/en/s... [rel_TG] |
|
Date: |
Fri, 16 Mar 2007 16:18:43 +0000 |
CVSROOT: /sources/koha
Module name: koha
Branch: rel_TG
Changes by: Tumer Garip <tgarip1957> 07/03/16 16:18:37
Removed files:
intranet/htdocs/intranet-tmpl/default/en/serials: routing.tmpl
serial-issues-full.tmpl
serial-issues.tmpl
serials-home.tmpl
serials-receive.tmpl
subscription-add.tmpl
subscription-bib-search.tmpl
subscription-detail.tmpl
subscription-renew.tmpl
viewalerts.tmpl
intranet/htdocs/intranet-tmpl/default/en/sms: sms-home.tmpl
intranet/htdocs/intranet-tmpl/default/en/suggestion:
acceptorreject.tmpl
mail_suggestion_ACCEPTED.tmpl
mail_suggestion_AVAILABLE.tmpl
mail_suggestion_ORDERED.tmpl
mail_suggestion_REJECTED.tmpl
intranet/htdocs/intranet-tmpl/default/en/tools: barcodes.tmpl
export.tmpl
holidays.tmpl
import.tmpl
koha-news.tmpl
letter.tmpl
overduerules.tmpl
printerConfig.tmpl
tools-home.tmpl
intranet/htdocs/intranet-tmpl/default/en/value_builder:
marc21_008_holdings.tmpl
marc21_field_006.tmpl
marc21_field_007.tmpl
marc21_field_008.tmpl
marc21_leader.tmpl
marc21_leader_authorities.tmpl
marc21_leader_holdings.tmpl
unimarc_field_100.tmpl
unimarc_field_105.tmpl
unimarc_field_225a.tmpl
unimarc_field_60X.tmpl
unimarc_field_700-4.tmpl
unimarc_field_700_701_702.tmpl
intranet/htdocs/intranet-tmpl/default/en/z3950:
searchresult.tmpl
intranet/htdocs/intranet-tmpl/default/images: 1downarrow.png
1leftarrow.png
1rightarrow.png
1uparrow.png
2downarrow.png
2leftarrow.png
2rightarrow.png
2uparrow.png
AB.gif AC.gif
AF.gif AV.gif
AVJ.gif AVJN.gif
AVJNF.gif AVNF.gif
`Audiobook
(cassette).gif'
Audiobook.gif
BCD.gif BIO.gif
BOOK.gif
Biography.gif
`Book on Tape.gif'
CD-R.GIF CD.gif
CD_.GIF CHD.gif
DVD.gif FIC.gif
Fleche.jpg
GoogleG.gif JF.gif
JNF.gif JRNL.gif
POEM.gif REF.gif
RES.gif STO.gif
VCD.gif VCD_.GIF
VHS.gif add.gif
addtobasket.gif
addtoshelf.gif
arrow-big.gif
arrow.gif back.gif
background-mem.gif
background-opac.gif
bar.gif basket.gif
basket01.gif
bg.jpg bg2.jpg
blue_down.gif
blue_right.gif
blue_up.gif
book1.gif
book2.gif
checkall.gif
clip.gif cross.gif
edittrash.png
erase.gif exit.gif
filefind.png
fileimport.png
filenew.png
fileopen.gif
fileopen.png
fileprint.png
filesave.png
front-arrow.gif
front-background-med.gif
front-background-small.gif
gohome.png
help.gif
historial.gif
imageKoha.jpg
key.gif
koha-logo.gif
less.gif
logo_ej.jpg
logout.gif
lupe.gif m_2_s.gif
mail_get.png
mail_send.png
minus.gif
money.gif
monog.gif more.gif
no_zip.gif
nophoto.GIF
nophoto.jpg
password.gif
pdf-cacelled.gif
pdf.gif plus.gif
print.gif rev.gif
spacer.gif
square-w.gif
ths.gif user.gif
valid-xhtml10.png
warning.gif
warning32x32.gif
world1.gif
world2.gif zip.gif
intranet/htdocs/intranet-tmpl/default/images/Science fiction:
Fantasy.gif
intranet/htdocs/intranet-tmpl/default/images/numbers:
1-highlight.gif
1.gif
10-highlight.gif
10.gif
11-highlight.gif
11.gif
12-highlight.gif
12.gif
13-highlight.gif
13.gif
14-highlight.gif
14.gif
15-highlight.gif
15.gif
16-highlight.gif
16.gif
17-highlight.gif
17.gif
18-highlight.gif
18.gif
19-highlight.gif
19.gif
2-highlight.gif
2.gif
20-highlight.gif
20.gif
21-highlight.gif
21.gif
22-highlight.gif
22.gif
23-highlight.gif
23.gif
24-highlight.gif
24.gif
25-highlight.gif
25.gif
26-highlight.gif
26.gif
27-highlight.gif
27.gif
28-highlight.gif
28.gif
29-highlight.gif
29.gif
3-highlight.gif
3.gif
30-highlight.gif
30.gif
31-highlight.gif
31.gif
4-highlight.gif
4.gif
5-highlight.gif
5.gif
6-highlight.gif
6.gif
7-highlight.gif
7.gif
8-highlight.gif
8.gif
9-highlight.gif
9.gif
next.gif
placeholder.gif
prev.gif
intranet/htdocs/intranet-tmpl/default/images/numbers/images:
background-opac.gif
front-arrow.gif
front-background-med.gif
front-background-small.gif
intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers:
1-highlight.gif
1.gif
10-highlight.gif
10.gif
11-highlight.gif
11.gif
12-highlight.gif
12.gif
13-highlight.gif
13.gif
14-highlight.gif
14.gif
15-highlight.gif
15.gif
16-highlight.gif
16.gif
17-highlight.gif
17.gif
18-highlight.gif
18.gif
19-highlight.gif
19.gif
2-highlight.gif
2.gif
20-highlight.gif
20.gif
21-highlight.gif
21.gif
22-highlight.gif
22.gif
23-highlight.gif
23.gif
24-highlight.gif
24.gif
25-highlight.gif
25.gif
26-highlight.gif
26.gif
27-highlight.gif
27.gif
28-highlight.gif
28.gif
29-highlight.gif
29.gif
3-highlight.gif
3.gif
30-highlight.gif
30.gif
31-highlight.gif
31.gif
4-highlight.gif
4.gif
5-highlight.gif
5.gif
6-highlight.gif
6.gif
7-highlight.gif
7.gif
8-highlight.gif
8.gif
9-highlight.gif
9.gif
next.gif
placeholder.gif
prev.gif
intranet/modules/C4: AcademicInfo.pm Accounts2.pm Acquisition.pm
Amazon.pm Auth.pm Auth_with_ldap.pm
AuthoritiesMarc.pm Biblio.pm Biblioadd.pm
BookShelves.pm Bookfund.pm Bookseller.pm
Boolean.pm Breeding.pm Context.pm
Date-new.pm Date.pm Format.pm Input.pm
Koha.pm Labels.pm Letters.pm Log.pm
Members.pm NewsChannels.pm Output.pm
Print.pm Record.pm Reserves2.pm Review.pm
SMS.pm Search.pm Serials-new.pm Serials.pm
Stats.pm Suggestions.pm Z3950.pm
intranet/modules/C4/Barcodes: PrinterConfig.pm
intranet/modules/C4/Calendar: Calendar.pm
intranet/modules/C4/Circulation: Circ2.pm Circ3.pm Fines.pm
PrinterConfig.pm
intranet/modules/C4/Interface/CGI: Output.pm Template.pm
Log message:
removing for a fresh commit to cvs folders
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/serials/routing.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/serials/serial-issues-full.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/serials/serial-issues.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/serials/serials-home.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/serials/serials-receive.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/serials/subscription-add.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/serials/subscription-bib-search.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/serials/subscription-detail.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/serials/subscription-renew.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/serials/viewalerts.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/sms/sms-home.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/suggestion/acceptorreject.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_ACCEPTED.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_AVAILABLE.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_ORDERED.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_REJECTED.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/tools/barcodes.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/tools/export.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/tools/holidays.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/tools/import.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/tools/koha-news.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/tools/letter.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/tools/overduerules.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/tools/printerConfig.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/tools/tools-home.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/marc21_008_holdings.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/marc21_field_006.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/marc21_field_007.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/marc21_field_008.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/marc21_leader.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/marc21_leader_authorities.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/marc21_leader_holdings.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_100.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_105.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_225a.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_60X.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_700-4.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_700_701_702.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/en/z3950/searchresult.tmpl?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/1downarrow.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/1leftarrow.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/1rightarrow.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/1uparrow.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/2downarrow.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/2leftarrow.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/2rightarrow.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/2uparrow.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/AB.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/AC.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/AF.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/AV.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/AVJ.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/AVJN.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/AVJNF.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/AVNF.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/Audiobook%32%40cassette%41.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/Audiobook.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/BCD.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/BIO.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/BOOK.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/Biography.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/Book%32on%32Tape.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/CD-R.GIF?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/CD.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/CD_.GIF?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/CHD.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/DVD.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/FIC.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/Fleche.jpg?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/GoogleG.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/JF.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/JNF.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/JRNL.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/POEM.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/REF.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/RES.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/STO.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/VCD.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/VCD_.GIF?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/VHS.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/add.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/addtobasket.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/addtoshelf.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/arrow-big.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/arrow.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/back.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/background-mem.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/background-opac.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/bar.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/basket.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/basket01.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/bg.jpg?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/bg2.jpg?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/blue_down.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/blue_right.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/blue_up.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/book1.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/book2.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/checkall.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/clip.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/cross.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/edittrash.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/erase.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/exit.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/filefind.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/fileimport.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/filenew.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/fileopen.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/fileopen.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/fileprint.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/filesave.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/front-arrow.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/front-background-med.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/front-background-small.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/gohome.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/help.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/historial.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/imageKoha.jpg?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/key.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/koha-logo.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/less.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/logo_ej.jpg?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/logout.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/lupe.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/m_2_s.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/mail_get.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/mail_send.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/minus.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/money.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/monog.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/more.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/no_zip.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/nophoto.GIF?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/nophoto.jpg?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/password.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/pdf-cacelled.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/pdf.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/plus.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/print.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/rev.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/spacer.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/square-w.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/ths.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/user.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/valid-xhtml10.png?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/warning.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/warning32x32.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/world1.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/world2.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/zip.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/Science%32fiction/Fantasy.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/1-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/1.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/10-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/10.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/11-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/11.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/12-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/12.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/13-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/13.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/14-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/14.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/15-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/15.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/16-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/16.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/17-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/17.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/18-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/18.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/19-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/19.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/2-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/2.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/20-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/20.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/21-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/21.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/22-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/22.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/23-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/23.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/24-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/24.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/25-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/25.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/26-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/26.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/27-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/27.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/28-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/28.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/29-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/29.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/3-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/3.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/30-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/30.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/31-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/31.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/4-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/4.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/5-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/5.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/6-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/6.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/7-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/7.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/8-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/8.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/9-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/9.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/next.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/placeholder.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/prev.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/background-opac.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/front-arrow.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/front-background-med.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/front-background-small.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/1-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/1.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/10-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/10.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/11-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/11.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/12-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/12.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/13-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/13.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/14-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/14.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/15-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/15.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/16-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/16.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/17-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/17.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/18-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/18.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/19-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/19.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/2-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/2.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/20-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/20.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/21-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/21.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/22-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/22.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/23-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/23.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/24-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/24.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/25-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/25.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/26-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/26.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/27-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/27.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/28-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/28.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/29-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/29.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/3-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/3.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/30-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/30.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/31-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/31.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/4-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/4.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/5-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/5.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/6-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/6.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/7-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/7.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/8-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/8.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/9-highlight.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/9.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/next.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/placeholder.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/htdocs/intranet-tmpl/default/images/numbers/images/numbers/prev.gif?cvsroot=koha&only_with_tag=rel_TG&rev=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/AcademicInfo.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Accounts2.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Acquisition.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Amazon.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Auth.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Auth_with_ldap.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/AuthoritiesMarc.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Biblio.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Biblioadd.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/BookShelves.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Bookfund.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Bookseller.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Boolean.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Breeding.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Context.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Date-new.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Date.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.2&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Format.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Input.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Koha.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Labels.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Letters.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Log.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Members.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/NewsChannels.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Output.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.2&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Print.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Record.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Reserves2.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Review.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/SMS.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Search.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Serials-new.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Serials.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.2&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Stats.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Suggestions.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Z3950.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Barcodes/PrinterConfig.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Calendar/Calendar.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.2&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Circulation/Circ2.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Circulation/Circ3.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Circulation/Fines.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Circulation/PrinterConfig.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Interface/CGI/Output.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.2&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/modules/C4/Interface/CGI/Template.pm?cvsroot=koha&only_with_tag=rel_TG&r1=1.1.2.1&r2=0
Patches:
Index: htdocs/intranet-tmpl/default/en/serials/routing.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/serials/routing.tmpl
diff -N htdocs/intranet-tmpl/default/en/serials/routing.tmpl
--- htdocs/intranet-tmpl/default/en/serials/routing.tmpl 10 Mar 2007
01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,82 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha<!-- TMPL_INCLUDE
NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="serials-menu.inc" -->
-
-
-
-<script language="javascript" type="text/javascript">
-<!--
-
-function reorder_item(sid,rid,rank){
- var mylocation =
'reorder_members.pl?subscriptionid='+sid+'&routingid='+rid+'&rank='+rank;
- window.location.href=mylocation;
-}
-//-->
-</script>
-
-<div id="main">
-<!-- TMPL_IF NAME="op" -->
-<h1>Create Routing List</h1>
-<!-- TMPL_ELSE -->
-<h1>Edit Routing List</h1>
-<!-- /TMPL_IF -->
-
-<form method="post" action="routing.pl">
-<input type="hidden" name="op" value="save" />
-<input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR
NAME="subscriptionid" -->" />
-<p><b>Serial Title:</b> <!-- TMPL_VAR NAME="title" --></p>
-<p><b>Issue:</b>
-
-<select name="date_selected">
-<!-- TMPL_LOOP NAME="dates" -->
-<option value="<!-- TMPL_VAR NAME="serialseq" --> (<!-- TMPL_VAR
NAME="planneddate" -->)" <!-- TMPL_IF NAME="selected" --> selected="SELECTED"
<!-- /TMPL_IF -->><!-- TMPL_VAR NAME="serialseq" --> (<!-- TMPL_VAR
NAME="planneddate" -->)</option>
-<!-- /TMPL_LOOP -->
-</select>
-
-
-<!-- TMPL_VAR NAME="issue" --></p>
-
-<!-- TMPL_IF NAME="memberloop" -->
-<table border="0" cellspacing="0" cellpadding="0">
-<tr valign="top"><td style="padding-top:5px;"><b>List Member:</b> </td>
- <td><table cellspacing="0" cellpadding="0" border="0" class="collapse">
- <tr><td class="cell-header">Name</td>
- <td class="cell-header">Location</td>
- <td class="cell-header">Rank</td>
- <td class="cell-header">Delete</td></tr>
-<!-- TMPL_LOOP NAME="memberloop" -->
- <tr><td class="cell"><!-- TMPL_VAR NAME="name" --></td>
- <td class="cell"><!-- TMPL_VAR NAME="location" --></td>
- <td class="cell"><!-- TMPL_VAR NAME="routingbox" --></td>
- <td class="cell"><a
href="/cgi-bin/koha/serials/routing.pl?routingid=<!-- TMPL_VAR NAME="routingid"
-->&subscriptionid=<!-- TMPL_VAR NAME="subscriptionid"
-->&op=delete">Delete</a></td></tr>
-<!-- /TMPL_LOOP -->
- <tr><td colspan="4"><br /><a onclick="search_member(<!-- TMPL_VAR
-NAME="subscriptionid" -->); return false"
-href="/cgi-bin/koha/serials/member-search.pl?subscriptionid=<!-- TMPL_VAR
-NAME="subscriptionid" -->" class="button">Add List Member</a> <a
-href="/cgi-bin/koha/serials/routing.pl?subscriptionid=<!-- TMPL_VAR
NAME="subscriptionid" -->&op=delete" class="button">Delete All</a></td></tr>
- </table></td></tr>
-
-<!-- TMPL_ELSE -->
-<table border="0" cellspacing="0" cellpadding="0">
-<tr><td><b>List Member: </b></td>
- <td><p><a onclick="search_member(<!-- TMPL_VAR NAME="subscriptionid"
--->); return false"
href="/cgi-bin/koha/serials/member-search.pl?subscriptionid=<!-- TMPL_VAR
NAME="subscriptionid" -->" class="button">Add List Member</a></p></td></tr>
-<!-- /TMPL_IF -->
-<tr><td valign="top" colspan="2"> </td></tr>
-<tr><td valign="top"><b>Notes:</b></td>
- <td><textarea name="notes" rows="3" cols="50"><!-- TMPL_VAR
NAME="routingnotes" --></textarea></td></tr>
-<tr><td></td>
- <td><input type="submit" name="submit" class="button" value="Save"
/></td></tr>
-</table>
-</form>
-</div>
-<script type="text/javascript">
-<!--
-
-function search_member(subscriptionid){
- var myurl = 'member-search.pl?subscriptionid='+subscriptionid;
window.open(myurl,'FindAMember','width=500,height=400,toolbar=no,scrollbars=yes');
-}
-//-->
-</script>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/serials/serial-issues-full.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/serials/serial-issues-full.tmpl
diff -N htdocs/intranet-tmpl/default/en/serials/serial-issues-full.tmpl
--- htdocs/intranet-tmpl/default/en/serials/serial-issues-full.tmpl 10 Mar
2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,72 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha<!-- TMPL_INCLUDE
NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="serials-menu.inc" -->
-
-
-<div id="main">
-<!-- TMPL_UNLESS name="popup" -->
- <h1 class="serial">Subscription information for biblio #<!-- TMPL_VAR
NAME="biblionumber" --> with title : <!-- TMPL_VAR name="bibliotitle" --></h1>
- <p>
- <a href="opac-detail.pl?bib=<!-- TMPL_VAR name="biblionumber" -->"
class="button serial">Back to biblio</a>
-<!-- /TMPL_UNLESS -->
- <!-- TMPL_LOOP NAME="years" -->
- <!-- TMPL_IF NAME="year" -->
- <a class="button serial" href="javascript:active(<!--
TMPL_VAR NAME="year" -->)"><!-- TMPL_VAR NAME="year" --></a>
- <!-- /TMPL_IF -->
- <!-- /TMPL_LOOP -->
- <a class=" button serial" href="serial-issues.pl?biblionumber=<!--
TMPL_VAR name="biblionumber" -->&selectview=small">Compact view</a>
- </p>
- <!-- TMPL_LOOP NAME="years" -->
- <div name="<!-- TMPL_VAR NAME="year" -->" id="<!-- TMPL_VAR NAME="year"
-->" style="position:absolute; visibility:hidden; margin-top:0px; border:4px;"
<!--TMPL_IF Name="first" -->style="visibility:visible"<!--/TMPL_IF -->>
- <table>
- <tr>
- <th class="serial">Information
- </th>
- <th class="serial">Date
- </th>
- <th class="serial">Number
- </th>
- <th class="serial">Status
- </th>
- </tr>
- <!-- TMPL_LOOP Name="serials" -->
- <tr>
- <td>
- <!-- TMPL_VAR name="notes" -->
- </td>
- <td>
- <!-- TMPL_VAR Name="planneddate" -->
- </td>
- <td>
- <!-- TMPL_VAR Name="serialseq" -->
- </td>
- <td>
- <!-- TMPL_IF Name="status1"
-->Arrived<!-- /TMPL_IF -->
- <!-- TMPL_IF Name="status2"
-->Waited<!-- /TMPL_IF -->
- <!-- TMPL_IF Name="status3" -->Late<!--
/TMPL_IF -->
- <!-- TMPL_IF Name="status4"
-->Missing<!-- /TMPL_IF -->
- </td>
- </tr>
- <!-- /TMPL_LOOP -->
- </table>
- </div>
-</div>
- <!--/TMPL_LOOP -->
-<script language="JavaScript" type="text/javascript">
-active(<!-- TMPL_VAR name="yearmin" -->);
-function active(numlayer)
-{
- for (i=<!--TMPL_VAR Name="yearmin"-->; i<=<!--TMPL_VAR
Name="yearmax"-->; i++ ) {
- ong = i;
- link = "link"+i;
- if (numlayer==i) {
- document.getElementById(ong).style.visibility="visible";
- } else {
- document.getElementById(ong).style.visibility="hidden";
- }
- }
-}
-
-</script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/serials/serial-issues.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/serials/serial-issues.tmpl
diff -N htdocs/intranet-tmpl/default/en/serials/serial-issues.tmpl
--- htdocs/intranet-tmpl/default/en/serials/serial-issues.tmpl 10 Mar 2007
01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,109 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha<!-- TMPL_INCLUDE
NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="serials-menu.inc" -->
-
-<div id="main">
-
-<h1>Issues for a subscription</h1>
-<!-- TMPL_LOOP name="subscription_LOOP" -->
- <div id="serials_serial_issue_<!-- TMPL_VAR name="subscriptionid" -->">
- <h2>Subscription information for <!-- TMPL_VAR
name="bibliotitle" --></h2>
- <p>It began on <b><!-- TMPL_VAR name="histstartdate" --></b>
and is issued every
- <b>
- <!--TMPL_IF name="periodicity1" -->
- day
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity2" -->
- week
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity3" -->
- 2 weeks
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity4" -->
- 3 weeks
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity5" -->
- month
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity6" -->
- 2 months
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity7" -->
- 3 months
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity8" -->
- quarter
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity9" -->
- 2 quarters
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity10" -->
- year
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity11" -->
- 2 years
- <!-- /TMPL_IF -->
- </b>
- <!--TMPL_IF name="arrival1" -->
- on <b>monday</b>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="arrival2" -->
- on <b>tuesday</b>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="arrival3" -->
- on <b>wednesday</b>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="arrival4" -->
- on <b>thursday</b>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="arrival5" -->
- on <b>friday</b>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="arrival6" -->
- on <b>saturday</b>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="arrival7" -->
- on <b>sunday</b>
- <!-- /TMPL_IF -->
- for <b>
- <!-- TMPL_IF name="numberlength" --><!-- TMPL_VAR
name="numberlength" --> issues<!-- /TMPL_IF -->
- <!-- TMPL_IF name="weeklength" --><!-- TMPL_VAR
name="weeklength" --> weeks<!-- /TMPL_IF -->
- <!-- TMPL_IF name="monthlength" --><!-- TMPL_VAR
name="monthlength" --> months<!-- /TMPL_IF -->
- </b>
- </p>
- <p>Last renewal of subscription was <b><!-- TMPl_VAR
name="startdate" --></b></p>
- <!-- TMPL_IF name="enddate" --><p><b>This subscription is now
ended. The last issue was received on <!-- TMPL_VAR name="enddate"
--></b></p><!-- /TMPL_IF name="enddate" -->
- <!--TMPL_UNLESS Name=fullinfo -->
- <p><!-- TMPL_VAR name="notes" --></p>
- <!-- TMPL_IF name="opacnote" -->
- <h3 class="serial">Issues summary</h2>
- <p>
- <!-- TMPL_VAR name="opacnote" -->
- </p>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="receivedlist" -->
- <h3 class="serial">received issues</h2>
- <p>
- <!-- TMPL_VAR name="receivedlist" -->
- </p>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="missinglist" -->
- <h3 class="serial">Missing issues</h2>
- <p>
- <!-- TMPL_VAR name="missinglist" -->
- </p>
- <!-- /TMPL_IF -->
- </div>
- <!-- /TMPL_UNLESS -->
-<!-- /TMPL_LOOP -->
-
-<div id="action">
-
- <form action="/cgi-bin/koha/serials/serial-issues.pl">
- <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR
name="biblionumber" -->">
- <input type="hidden" name="selectview" value="full">
- <input type="submit" value="Complete view">
- </form>
-</div>
-</div>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/serials/serials-home.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/serials/serials-home.tmpl
diff -N htdocs/intranet-tmpl/default/en/serials/serials-home.tmpl
--- htdocs/intranet-tmpl/default/en/serials/serials-home.tmpl 10 Mar 2007
01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,104 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha<!-- TMPL_INCLUDE
NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="serials-menu.inc" -->
-
-<div id="main">
-
-<h1>Serials</h1>
-<div id="serials_home">
- <h2>Serials subscriptions</h2>
-<!-- TMPL_IF NAME="routing" -->
- <h3>Search for Serial Routing List</h3>
-<!-- /TMPL_IF -->
-
- <table>
- <tr><th>Supplier Id</th>
-<th>Biblionumber</th>
- <th>ISSN</th>
- <th>Title</th>
- <th>
- Note
- </td>
- <th colspan=2> </th>
- </tr>
- <tr>
- <form action="serials-home.pl" method="post">
- <!-- TMPL_IF NAME="routing" -->
- <input type="hidden" name="routing" value="<!-- TMPL_VAR
NAME="routing" -->" />
- <!-- /TMPL_IF -->
- <input type="hidden" name="searched" value="1" />
- <td>
- <input type="text" size=10 maxlength=15 name="supplierid"
value="<!-- TMPL_VAR name="supplierid" -->" title="type biblionumber here to
filter subscription">
- </td>
- <td>
- <input type="text" size=10 maxlength=15 name="biblionumber"
value="<!-- TMPL_VAR name="biblionumber" -->" title="type biblionumber here to
filter subscription">
- </td>
- <td>
- <input type="text" size=10 maxlength=11 name="ISSN"
value="<!-- TMPL_VAR name="ISSN" -->" title="type ISSN here to filter
subscription">
- </td>
- <td>
- <input type="text" size=40 maxlength=40 name="title"
value="<!-- TMPL_VAR name="title" -->" title="type a title -complete or
partial- to filter subscription">
- </td>
- <td>
-
- </td>
- <td colspan=2>
- <input type="submit" value="filter" class="button serial"
title="set a filter on ISSN / title">
- </td>
- </tr>
- <!-- TMPL_LOOP name="subscriptions" -->
- <!-- TMPL_IF name="toggle" -->
- <tr class="hilighted">
- <!-- TMPL_ELSE -->
- <tr>
- <!-- /TMPL_IF -->
- <td><!-- TMPL_VAR name="aqbooksellerid" --></td>
- <td><a
href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR
name="biblionumber" -->" class="button serial" title="Biblio"><!-- TMPL_VAR
name="biblionumber" --></a></td>
- <td>
- <!-- TMPL_IF name="ISSN" -->
- <a href="serial-issues.pl?biblionumber=<!-- TMPL_VAR
name="biblionumber" -->" class="button serial" title="Issues history"><!--
TMPL_VAR name="ISSN" --></a>
- <!-- /TMPL_IF -->
- </td>
-
- <td>
-
- <!-- TMPL_IF name="title" -->
- <!-- TMPL_VAR name="title" -->
- <!-- TMPL_ELSE -->
- |
- <!-- /TMPL_IF -->
- </td>
-
- <td>
-
- <!-- TMPL_IF name="notes" -->(<!-- TMPL_VAR name="notes"
-->)<!-- /TMPL_IF -->
- </td>
- <!-- TMPL_IF NAME="routing" -->
- <td>
- <a href="routing.pl?subscriptionid=<!-- TMPL_VAR
name="subscriptionid" --><!-- TMPL_UNLESS NAME="routingedit" -->&op=new<!--
/TMPL_UNLESS -->">Routing List</a>
- </td>
- <!-- TMPL_ELSE -->
- <td>
- <a
href="subscription-detail.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid"
-->" class="button serial" title="subscription detail">Detail</a>
- </td>
- <td>
- <a href="serials-receive.pl?subscriptionid=<!--
TMPL_VAR name="subscriptionid" -->" class="button serial" title="receive issues
for this subscription">Receive</a>
- </td>
- <!-- /TMPL_IF -->
-
- </tr>
- <!-- /TMPL_LOOP -->
- </table>
-
- <!-- TMPL_IF NAME="routing" -->
- <!-- TMPL_ELSE -->
- <!-- TMPL_IF NAME="alt_links" -->
- <a href="/cgi-bin/koha/serials/alt_subscription-add.pl"
class="button serial">Add subscription</a>
- <!-- TMPL_ELSE -->
- <a href="/cgi-bin/koha/serials/subscription-add.pl" class="button
serial">Add subscription</a>
- <!-- /TMPL_IF -->
- <!-- /TMPL_IF -->
-</div>
-</div>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
-
Index: htdocs/intranet-tmpl/default/en/serials/serials-receive.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/serials/serials-receive.tmpl
diff -N htdocs/intranet-tmpl/default/en/serials/serials-receive.tmpl
--- htdocs/intranet-tmpl/default/en/serials/serials-receive.tmpl 10 Mar
2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,187 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha<!-- TMPL_INCLUDE
NAME="doc-head-close.inc" -->
-
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="serials-menu.inc" -->
-
-
-
-<!--------------------------MAIN BODY OF PAGE-------------------------->
-<div id="main">
-<h1 class="serial">Subscription for <!-- TMPL_VAR name="bibliotitle" --></h1>
-<a href="subscription-detail.pl?subscriptionid=<!-- TMPL_VAR
name="subscriptionid" -->" class="button serial" title="detail of the
subscription">Subscription</a>
-<a href="/cgi-bin/koha/serials/serials-home.pl?biblionumber=<!-- TMPL_VAR
name="biblionumber" -->" class="button serial" title="all subscriptions on <!--
TMPL_VAR name="title" -->">Subscriptions</a>
-<a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR
name="biblionumber" -->" class="button serial" title="go to <!-- TMPL_VAR
name="title" -->">Back to biblio</a>
-
-<div id="bloc25">
-<h2 class="serial">waited or late numbers</h2>
- <form method="post" name="f" id="f" action="serials-receive.pl">
- <input type="hidden" name="op" value="serialchangestatus">
- <input type="hidden" name="serial" value="<!-- TMPL_VAR name="serial"
-->">
- <input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR
name="subscriptionid" -->">
- <input type="hidden" name="user" value="<!-- TMPL_VAR name="user" -->">
- <table class="small">
- <tr>
- <th class="serial">
- Numbered
- </th>
- <th class="serial">
- Published on
- </th>
- <th class="serial">
- Planned for
- </th>
- <th class="serial">
- Status
- </th>
- <th class="serial">
- Notes
- </th>
- </tr>
- <!-- TMPL_LOOP name="serialslist" -->
- <tr>
- <td>
- <input type="text" name="serialseq" value="<!-- TMPL_VAR
name="serialseq" -->" size=30 maxlength=100>
- </td>
- <td>
- <input type="text" name="publisheddate" value="<!-- TMPL_VAR
name="publisheddate" -->" size=10 maxlength=15>
- </td>
- <td>
- <input type="text" name="planneddate" value="<!-- TMPL_VAR
name="planneddate" -->" size=10 maxlength=15>
- </td>
- <td>
- <input type="hidden" id="serialidnumber" name="serialid"
value="<!-- TMPL_VAR name="serialid" -->">
- <select name="status" size="1" <!--TMPL_IF
name="serialsadditems"
-->onChange="javascript:AddItemRefresh();"<!--/TMPL_IF-->>
- <!--TMPL_IF name="status1" -->
- <option value="1" selected>Waited</option>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="status2" -->
- <option value="2" selected>Arrived</option>
- <!-- TMPL_ELSE -->
- <option value="2">Arrived</option>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="status3" -->
- <option value="3" selected>Late</option>
- <!-- TMPL_ELSE -->
- <option value="3">Late</option>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="status4" -->
- <option value="4" selected>Missing</option>
- <!-- TMPL_ELSE -->
- <option value="4">Missing</option>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="status5" -->
- <option value="5" selected>Not published</option>
- <!-- TMPL_ELSE -->
- <option value="5">Not published</option>
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="status6" -->
- <option value="6" selected>Delete</option>
- <!-- TMPL_ELSE -->
- <option value="6">Delete</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- <td>
- <input type="text" name="notes" value="<!-- TMPL_VAR
name="notes" -->" size=20 maxlength=255>
- </td>
-<!--TMPL_IF name="serialsadditems" -->
- <td> <input type="hidden" id="serial<!-- TMPL_VAR name="serialid"
-->" name="itemnumber" value="<!-- TMPL_VAR name="itemnumber" -->" />
- <input type="hidden" id="holdingbranch<!-- TMPL_VAR
name="serialid" -->" name="holdingbranch" value="" />
- <a style="display:none;" href="javascript:AddItem('<!--
TMPL_VAR name="scriptaddserials" -->',<!-- TMPL_VAR name="serialid" -->)"
name="addbutton" class="button serial"
onblur="javascript:AddItemRefresh();">Add item</a>
- </td>
-<!--/TMPL_IF-->
- <td>
- <a href="javascript:PrintList(<!-- TMPL_VAR
name="subscriptionid" -->,'<!-- TMPL_VAR name="serialseq" -->')" class="button
serial">print</a>
- </td>
- </tr>
- <!-- /TMPL_LOOP -->
- <!-- TMPL_UNLESS name="hassubscriptionexpired" -->
- <tr>
- <td>
- Manual issue <input type="text" name="serialseq" size=30
maxlength=100>
- </td>
- <td>
- <input type="text" name="publisheddate" size=10 maxlength=15>
- </td>
- <td>
- <input type="text" name="planneddate" size=10 maxlength=15>
- </td>
- <td>
- <input type="hidden" name="serialid" value="0">
- <select name="status" size="1" <!--TMPL_IF
name="serialsadditems"
-->onChange="javascript:AddItemRefresh();"<!--/TMPL_IF-->>
- <option value="2">Arrived</option>
- <option value="3" selected>Late</option>
- <option value="4">Missing</option>
- </select>
- </td>
- <!--TMPL_IF name="serialsadditems" -->
- <td> <input type="hidden" id="serial0" name="itemnumber" value="0" />
- <input type="hidden" id="holdingbranch0" name="holdingbranch"
value="" />
- <a style="display:none;" href="javascript:AddItem('<!--
TMPL_VAR name="scriptaddserials" -->',0)" name="addbutton" class="button
serial" onblur="javascript:AddItemRefresh();">Add item</a>
- </td>
-<!--/TMPL_IF-->
-
- </tr>
-
- <!-- /TMPL_UNLESS -->
- </table>
- <input type="submit" value="Save changes" accesskey="w" class="button
serial">
- <!-- TMPL_IF name="hassubscriptionexpired" -->
- <p>Subscription has expired. Waited last issue status can't be
changed. <a href="#" onClick="popup()" class="button serial">Renew</a> your
subscription</p>
- <!-- /TMPL_IF -->
- </form>
-</div>
-
-<div id="bloc25">
- <h2 class="serial">Subscription summary</h2>
- <form method="post" name="f" action="serials-receive.pl">
- <input type="hidden" name="op" value="modsubscriptionhistory">
- <input type="hidden" name="serial" value="<!-- TMPL_VAR name="serial"
-->">
- <input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR
name="subscriptionid" -->">
- <input type="hidden" name="user" value="<!-- TMPL_VAR name="user" -->">
- <p><label>Librarian</label><!-- TMPL_VAR name="user" --></p>
- <p><label class="label100">Beginning date (*)</label><input
type="text" name="histstartdate" value="<!-- TMPL_VAR name="histstartdate"
-->"></p>
- <p><label class="label100">End date</label><input type="text"
name="enddate" value="<!-- TMPL_VAR name="enddate" -->"></p>
- <p>received issues</p>
- <p> <textarea name="receivedlist" COLS=60 ROWS=5><!-- TMPL_VAR
name="receivedlist" --></textarea></p>
- <p>Missing issues</p>
- <p> <textarea name="missinglist" COLS=60 ROWS=2><!-- TMPL_VAR
name="missinglist" --></textarea></p>
- <!--TMPL_IF Name="notissuedlist"-->
- <p>Not issued</p>
- <p> <textarea name="notissuedlist" COLS=60 ROWS=2><!-- TMPL_VAR
name="notissuedlist" --></textarea></p>
- <!--/TMPL_IF-->
- <p>Opac's note</p>
- <p> <textarea name="opacnote" COLS=60 ROWS=5><!-- TMPL_VAR
name="opacnote" --></textarea></p>
- <input type="submit" value="Save changes" class="button serial">
- </form>
-</div>
-
-</table>
-<script language="JavaScript" type="text/javascript">
-
-function popup() {
- window.open("subscription-renew.pl?subscriptionid=<!-- TMPL_VAR
name="subscriptionid">","subscription_renewal",'width=700,height=400,toolbar=false,scrollbars=yes');
-}
-function AddItem(itemscript,serial) {
-
window.open(itemscript+serial,"AddItem",'width=700,height=400,toolbar=no,scrollbars=yes,status=yes');
-
-}
-function PrintList(subscriptionid,serialseq) {
-
-
window.open("printlist.pl?subscriptionid="+subscriptionid+"&serialseq="+serialseq);
-}
-function AddItemRefresh(){
-var subf=document.getElementsByName('status');
-var adder=document.getElementsByName('addbutton');
-var itemnos=document.getElementsByName('itemnumber');
- for (var s=0; s<subf.length; s++ ){
- if (subf.item(s).value == 2 && itemnos.item(s).value==0){
- adder.item(s).style.display = 'block';
- }else{
- adder.item(s).style.display = 'none';
- }
- }
-}
-
-</script>
-<!-- TMPL_INCLUDE name="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/serials/subscription-add.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/serials/subscription-add.tmpl
diff -N htdocs/intranet-tmpl/default/en/serials/subscription-add.tmpl
--- htdocs/intranet-tmpl/default/en/serials/subscription-add.tmpl 10 Mar
2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,1023 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- Subscription
edit<!--TMPL_INCLUDE NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="serials-menu.inc" -->
-
-
-<link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR name="themelang"
-->/includes/calendar/calendar-system.css">
-
-
-<script type="text/javascript" src="<!-- TMPL_VAR NAME="themelang"
-->/includes/calendar/calendar.js"></script>
-<script type="text/javascript" src="<!-- TMPL_VAR NAME="themelang"
-->/includes/calendar/calendar-en.js"></script>
-<script type="text/javascript" src="<!-- TMPL_VAR NAME="themelang"
-->/includes/calendar/calendar-setup.js"></script>
-<!-- **************************************************** -->
-
-
-<script type="text/javascript" language="javascript">
-// the english words used in display purposes
-var text = new Array('Number','Volume','Issue','Month','Week','Starting
with:','Rollover at:','Choose Hemisphere:','Northern','Southern',
-'Autumn','Winter','Spring','Summer','Fall','Season','Year');
-var is_season = 0;
-var is_hemisphere = 1;
-
-// common pre defined number patterns
-function num_pattern() {
-var patternchoice = document.getElementById("numberpattern").value;
- switch(patternchoice){
- case "2":
- document.f.add1.value=1;
- document.f.add2.value=1;
- document.f.add3.value=1;
- document.f.every1.value=12;
- document.f.every2.value=1;
- document.f.every3.value=1;
- document.f.whenmorethan1.value=9999999;
- document.f.whenmorethan2.value=12;
- document.f.whenmorethan3.value=4;
- document.f.setto1.value=0;
- document.f.setto2.value=1;
- document.f.setto3.value=1;
- document.f.lastvalue1.value=1;
- document.f.lastvalue2.value=1;
- document.f.lastvalue3.value=1;
- document.f.numberingmethod.value='Vol {X}, No {Y}, Issue {Z}';
- moreoptions(text[1],text[0],text[2]);
- display_table(0); // toggle info box on (1) or off (0)
- break;
- case "3":
- document.f.add1.value=1;
- document.f.add2.value=1;
- document.f.add3.value='';
- document.f.every1.value=12;
- document.f.every2.value=1;
- document.f.every3.value='';
- document.f.whenmorethan1.value=9999999;
- document.f.whenmorethan2.value=12;
- document.f.whenmorethan3.value='';
- document.f.setto1.value=0;
- document.f.setto2.value=1;
- document.f.setto3.value='';
- document.f.lastvalue1.value=1;
- document.f.lastvalue2.value=1;
- document.f.lastvalue3.value='';
- document.f.numberingmethod.value='Vol {X}, No {Y}';
- moreoptions(text[1],text[0]);
- display_table(0);
- break;
- case "4":
- document.f.add1.value=1;
- document.f.add2.value=1;
- document.f.add3.value='';
- document.f.every1.value=12;
- document.f.every2.value=1;
- document.f.every3.value='';
- document.f.whenmorethan1.value=9999999;
- document.f.whenmorethan2.value=12;
- document.f.whenmorethan3.value='';
- document.f.setto1.value=0;
- document.f.setto2.value=1;
- document.f.setto3.value='';
- document.f.lastvalue1.value=1;
- document.f.lastvalue2.value=1;
- document.f.lastvalue3.value='';
- document.f.numberingmethod.value='Vol {X}, Issue {Y}';
- moreoptions(text[1],text[2]);
- display_table(0);
- break;
- case "5":
- document.f.add1.value=1;
- document.f.add2.value=1;
- document.f.add3.value='';
- document.f.every1.value=12;
- document.f.every2.value=1;
- document.f.every3.value='';
- document.f.whenmorethan1.value=9999999;
- document.f.whenmorethan2.value=12;
- document.f.whenmorethan3.value='';
- document.f.setto1.value=0;
- document.f.setto2.value=1;
- document.f.setto3.value='';
- document.f.lastvalue1.value=1;
- document.f.lastvalue2.value=1;
- document.f.lastvalue3.value='';
- document.f.numberingmethod.value='No {X}, Issue {Y}';
- moreoptions(text[0],text[2]);
- display_table(0);
- break;
- case "6":
- var d = new Date();
- var sYear = d.getFullYear();
- document.f.add1.value=1;
- document.f.add2.value='1';
- document.f.add3.value='';
- document.f.every1.value=4;
- document.f.every2.value='1';
- document.f.every3.value='';
- document.f.whenmorethan1.value=9999999;
- document.f.whenmorethan2.value='4';
- document.f.whenmorethan3.value='';
- document.f.setto1.value=0;
- document.f.setto2.value='1';
- document.f.setto3.value='';
- document.f.lastvalue1.value=sYear;
- document.f.lastvalue2.value='1';
- document.f.lastvalue3.value='';
- document.f.periodicity.value='8';
- document.f.numberingmethod.value='{Y} {X}';
- moreoptions_seasons(text[15],sYear);
- display_table(0);
- is_season = 1;
- break;
- case "7":
- display_table(1);
- document.f.irreg_check.value=1;
- break;
- default:
- document.f.add1.value=1;
- document.f.add2.value='';
- document.f.add3.value='';
- document.f.every1.value=1;
- document.f.every2.value='';
- document.f.every3.value='';
- document.f.whenmorethan1.value=9999999;
- document.f.whenmorethan2.value='';
- document.f.whenmorethan3.value='';
- document.f.setto1.value=0;
- document.f.setto2.value='';
- document.f.setto3.value='';
- document.f.lastvalue1.value=1;
- document.f.lastvalue2.value='';
- document.f.lastvalue3.value='';
- document.f.numberingmethod.value='{X}';
- moreoptions_daily_check(text[0]);
- document.f.irreg_check.value=1;
- display_table(0);
- break;
- }
-}
-
-function display_table(n) {
- if(n==1){
- document.getElementById("basetable").style.display = 'block';
- } else {
- document.getElementById("basetable").style.display = 'none';
- }
-}
-
-function modify_num_pattern() {
- document.getElementById("numberpattern").value = '<!-- TMPL_VAR
NAME="numberpattern" -->';
- num_pattern();
-
- document.f.add1.value='<!-- TMPL_VAR NAME="add1" -->';
- document.f.add2.value='<!-- TMPL_VAR NAME="add2" -->';
- document.f.add3.value='<!-- TMPL_VAR NAME="add3" -->';
- document.f.every1.value='<!-- TMPL_VAR NAME="every1" -->';
- document.f.every2.value='<!-- TMPL_VAR NAME="every2" -->';
- document.f.every3.value='<!-- TMPL_VAR NAME="every3" -->';
- document.f.whenmorethan1.value='<!-- TMPL_VAR NAME="whenmorethan1" -->';
- document.f.whenmorethan2.value='<!-- TMPL_VAR NAME="whenmorethan2" -->';
- document.f.whenmorethan3.value='<!-- TMPL_VAR NAME="whenmorethan3" -->';
- document.f.setto1.value='<!-- TMPL_VAR NAME="setto1" -->';
- document.f.setto2.value='<!-- TMPL_VAR NAME="setto2" -->';
- document.f.setto3.value='<!-- TMPL_VAR NAME="setto3" -->';
- document.f.lastvalue1.value='<!-- TMPL_VAR NAME="lastvalue1" -->';
- document.f.lastvalue2.value='<!-- TMPL_VAR NAME="lastvalue2" -->';
- document.f.lastvalue3.value='<!-- TMPL_VAR NAME="lastvalue3" -->';
- document.f.numberingmethod.value='<!-- TMPL_VAR NAME="numberingmethod"
-->';
-
- var more_strY;
- var more_strZ;
- <!-- TMPL_IF NAME="add2" -->
- if(<!-- TMPL_VAR NAME="add2" --> > 0){
- more_strY="Y";
- }
- <!-- /TMPL_IF -->
- <!-- TMPL_IF NAME="add3" -->
- if(<!-- TMPL_VAR NAME="add3" --> > 0){
- more_strZ="Z";
- }
- <!-- /TMPL_IF -->
-
- document.f.lastvaluetemp1.value='<!-- TMPL_VAR NAME="lastvalue1" -->';
- if(more_strY){
- document.f.lastvaluetemp2.value='<!-- TMPL_VAR
NAME="lastvalue2" -->';
- document.f.whenmorethantemp2.value='<!-- TMPL_VAR NAME="whenmorethan2"
-->';
- }
- if(more_strZ){
- document.f.lastvaluetemp3.value='<!-- TMPL_VAR
NAME="lastvalue3" -->';
- document.f.whenmorethantemp3.value='<!-- TMPL_VAR NAME="whenmorethan3"
-->';
- }
-}
-
-// a pre check with more options to see if 'number' and '1/day' are chosen
-function moreoptions_daily_check(x) {
- var periodicity = document.f.periodicity.value;
- var errortext='';
- if(periodicity == 1){
- document.getElementById("irregularity").innerHTML = '';
- document.getElementById("more_options").innerHTML = '';
- var daynames = new
Array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
- errortext ="Please indicate which days of the week you <b>DO
NOT<\/b> expect to receive issues.<br \/>";
- for(var j=0;j<daynames.length;j++){
- errortext +="<input type='checkbox' name='irregular'
id='irregular"+(j+1)+"' value='"+(j+1)+"' />"+daynames[j]+" ";
- }
- var error = errortext;
- document.getElementById("irregularity").innerHTML = error;
- } else {
- document.getElementById("irregularity").innerHTML = '';
- document.getElementById("more_options").innerHTML = '';
- moreoptions(x);
- }
-}
-
-// to dispaly the more options section
-function moreoptions(x,y,z){
-document.getElementById("irregularity").innerHTML = '';
-document.getElementById("more_options").innerHTML = '';
-var textbox = '';
- // alert("X: "+x+"Y: "+y+"Z: "+z);
- if(x){
- textbox +="<table>\n<tr><td> <\/td><td>"+x+"<\/td>";
- if(y){
- textbox +="<td>"+y+"<\/td>";
- if(z){
- textbox +="<td>"+z+"<\/td>";
- }
- }
- textbox +="<\/tr>\n";
- textbox +="<tr><td>"+text[5]+"<\/td><td><input type='text'
name='lastvaluetemp1' size='4'
onkeyup='moreoptionsupdate(\"lastvalue1\")'><\/td>\n";
- if(y){
- textbox +="<td><input type='text' name='lastvaluetemp2'
size='4' onkeyup='moreoptionsupdate(\"lastvalue2\")'><\/td>\n";
- if(z){
- textbox +="<td><input type='text'
name='lastvaluetemp3' size='4'
onkeyup='moreoptionsupdate(\"lastvalue3\")'><\/td>\n";
- }
- }
- textbox +="<\/tr>\n";
- if(y){
- textbox +="<tr><td>"+text[6]+"<\/td>";
- textbox +="<td><a
href='javascript:irregularity_check()'>Irregularity?<\/a><\/td>\n";
- textbox +="<td><input type='text'
name='whenmorethantemp2' size='4'
onkeyup='moreoptionsupdate(\"whenmorethan2\",1)'><\/td>\n";
- if(z){
- textbox +="<td><input type='text'
name='whenmorethantemp3' size='4'
onkeyup='moreoptionsupdate(\"whenmorethan3\",1)'><\/td>\n";
- }
- textbox +="<\/tr>";
- }
- textbox +="<\/table>\n";
- }
- document.getElementById("more_options").innerHTML = textbox;
-}
-
-function hemispheres(chosen){
-var selbox = document.getElementById("season1");
- if(selbox){
- var selboxselected = selbox.options[selbox.selectedIndex].value;
- selbox.options.length = 0;
-
- if (chosen == "1") {
- selbox.options[selbox.options.length] = new
Option(text[11],'1');
- selbox.options[selbox.options.length] = new
Option(text[12],'2');
- selbox.options[selbox.options.length] = new
Option(text[13],'3');
- selbox.options[selbox.options.length] = new
Option(text[14],'4');
- is_hemisphere = 1;
- selbox.options[selboxselected-1].selected = true;
- }
-
- if (chosen == "2") {
- selbox.options[selbox.options.length] = new
Option(text[13],'1');
- selbox.options[selbox.options.length] = new
Option(text[10],'2');
- selbox.options[selbox.options.length] = new
Option(text[11],'3');
- selbox.options[selbox.options.length] = new
Option(text[12],'4');
- is_hemisphere = 2;
- selbox.options[selboxselected-1].selected = true;
- }
- }
-}
-
-// to dispaly the more options section for seasons
-function moreoptions_seasons(x,y){
-document.getElementById("irregularity").innerHTML = '';
-document.getElementById("more_options").innerHTML = '';
-var textbox = '';
- // alert("X: "+x+"Year: "+y);
- if(x){
- var hemi_select = parseInt('<!-- TMPL_VAR NAME="hemisphere"
-->');
- textbox +="<table>\n<tr><td>"+ text[7] +"<\/td><td
colspan='2'><select name='hemisphere'
onchange='hemispheres(this.options[this.selectedIndex].value)'>";
- for(var i = 1; i <= 2; i++){
- textbox +="<option value='"+i+"'";
- if(i == hemi_select){
- textbox += " selected "
- }
- textbox +=">"+text[i+7]+"<\/option>";
- }
- textbox +="<\/select><\/td><\/tr>\n";
- textbox +="<tr><td> <\/td><td>"+x+"<\/td>";
- textbox +="<td>"+text[16]+"<\/td>";
- textbox +="<\/tr>\n";
- textbox +="<tr><td>"+text[5]+"<\/td><td><select
name='lastvaluetemp2' id='season1'
onchange='moreoptionsupdate(\"lastvalue2\")'>";
- for(var j = 1; j <= 4; j++){
- textbox +="<option
value='"+j+"'>"+text[j+10]+"<\/option>";
- }
- textbox +="<\/select><\/td><td><select name='lastvaluetemp1'
onchange='moreoptionsupdate(\"lastvalue1\")'>";
- for(var k = parseInt(y); k <= parseInt(y)+15; k++){
- textbox +="<option value='"+k+"'>"+k+"<\/option>";
- }
- textbox +="<\/select><\/td><\/tr>\n";
- textbox +="<tr><td>"+text[6]+"<\/td>";
- textbox +="<td><a
href='javascript:irregularity_check()'>Irregularity?<\/a><\/td>\n";
- textbox +="<td><input type='text' name='whenmorethantemp2'
size='4' onkeyup='moreoptionsupdate(\"whenmorethan2\",1)'><\/td>\n";
- textbox +="<\/tr><\/table>\n";
- }
- document.getElementById("more_options").innerHTML = textbox;
-}
-
-function irregularity_check(){
- document.f.irreg_check.value = 1; // Irregularity button now pushed
- var periodicity = document.f.periodicity.value;
- var rollover = document.f.whenmorethantemp2.value;
- if(document.f.whenmorethantemp3){
- rollover = document.f.whenmorethantemp3.value;
- }
- var error='';
- var toobig;
- var expected;
- var errortext = "<b>Warning irregularity detected<\/b><br \/>";
- switch(periodicity){
- case "1":
- if(rollover < 365) expected =365;
- if(rollover > 365) {
- expectedover=365;
- toobig=1;
- }
- break;
- case "2":
- if(rollover < 52) expected =52;
- if(rollover > 52){
- expectedover=52;
- toobig=1;
- }
- break;
- case "3":
- if(rollover < 26) expected =26;
- if(rollover > 26){
- expectedover=26;
- toobig=1;
- }
- break;
- case "4":
- if(rollover < 17) expected =17;
- if(rollover > 17){
- expectedover=17;
- toobig=1;
- }
- break;
- case "5":
- if(rollover < 12) expected =12;
- if(rollover > 12){
- expectedover=12;
- toobig=1;
- }
- break;
- case "6":
- if(rollover < 6) expected =6;
- if(rollover > 6){
- expectedover=6;
- toobig=1;
- }
- break;
- case "7":
- if(rollover < 4) expected =4;
- if(rollover > 4){
- expectedover=4;
- toobig=1;
- }
- break;
- case "8":
- if(rollover < 4) expected =4;
- if(rollover > 4){
- expectedover=4;
- toobig=1;
- }
- break;
- case "9":
- if(rollover < 2) expected =2;
- if(rollover > 2){
- expectedover=2;
- toobig=1;
- }
- break;
- case "10":
- if(rollover < 1) expected =1;
- if(rollover > 1){
- expectedover=1;
- toobig=1;
- }
- break;
- default:
- break;
- }
- if(expected){
- if(expected == 365){
- var daynames = new
Array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
- errortext +="Please indicate which days of the week you
<b>DO NOT<\/b> expect to receive issues.<br \/>";
- for(var j=0;j<daynames.length;j++){
- errortext +="<input type='checkbox'
name='irregular' id='irregular"+(j+1)+"' value='"+(j+1)+"' />"+daynames[j]+"
";
- }
- error=errortext;
- } else {
- errortext +=expected+" issues expected "+rollover+"
were entered. <br \/>Please indicate which date(s) an issue is not expected<br
\/>";
- var count=0;
- for(var i=rollover;i<expected;i++){
- errortext +="<select name='irregular'
id='irregular"+count+"' onchange='display_example(expected)'>\n";
- errortext +=irregular_options(periodicity);
- errortext +="<\/select>\n";
- count++;
- }
- error=errortext;
- }
- }
- if(toobig){
- errortext +=expectedover+" issues expected "+rollover+" were
entered.<br \/> You seem to have indicated more issues per year than expected.";
- error=errortext;
- }
- if(error.length ==0){
- error='No irregularities noticed';
- }
- display_example(expected);
- document.getElementById("irregularity").innerHTML = error;
-}
-
-function irregular_options(periodicity){
- var titles;
- var count;
-<!-- TMPL_IF NAME="weekarrayjs" -->
- var weeks = new Array(<!-- TMPL_VAR NAME="weekarrayjs" -->);
-<!-- /TMPL_IF -->
- var months = new
Array('January','February','March','April','May','June','July','August','September','October','November','December');
- var seasons = new Array('Autumn','Winter','Spring','Summer','Fall');
- var errortext='';
- if(periodicity == 1) {
- expected = 366;
- titles = "Day";
- count = 1;
- }
- if(periodicity == 2 || periodicity == 3 || periodicity == 4) {
- expected = 52;
- <!-- TMPL_IF NAME="weekarrayjs" -->
- titles = weeks;
- count = <!-- TMPL_VAR NAME="weekno" -->;
- <!-- TMPL_ELSE -->
- titles = "Week";
- count = 1;
- <!-- /TMPL_IF -->
- }
- if(periodicity == 5 || periodicity == 6 || periodicity == 7 ||
periodicity == 8 || periodicity == 9) {
- if(periodicity == 8) {
- is_season = 1; // setting up from edit page
- }
- if(is_season){
- titles = seasons;
- expected = 4;
- if(is_hemisphere == 2){
- count = 2;
- } else {
- count = 1;
- }
- } else {
- titles = months;
- expected = 12;
- count = 1;
- }
- }
- for(var j=1;j<=expected;j++){
- if(isArray(titles)){
- if(count>expected){
- count = count-expected;
- }
- if(is_season && is_hemisphere == 1){
- errortext +="<option
value='"+((count*3)-2)+"'>"+titles[j]+"<\/option>\n";
-// alert("value: "+((count*3)-2)+" title: "+titles[j]);
- } else if(is_season && is_hemisphere == 2){
- errortext +="<option
value='"+((count*3)-2)+"'>"+titles[j-1]+"<\/option>\n";
-// alert("value: "+((count*3)-2)+" title: "+titles[j-1]);
- } else {
- errortext +="<option
value='"+count+"'>"+titles[j-1]+"<\/option>\n";
- }
- count++;
- } else {
- errortext +="<option value='"+j+"'>"+titles+"
"+j+"<\/option>\n";
- }
- }
- return errortext;
-}
-
-function irregular_order(){
- var irregular = '<!-- TMPL_VAR NAME="irregularity" -->';
- var periodicity = document.f.periodicity.value;
- var irregarray = irregular.split('|');
- if(periodicity ==1){
- for(j=0;j<irregarray.length;j++){
- document.getElementById("irregular"+irregarray[j]).checked =
true;
- }
- } else {
- for(i=0;i<irregarray.length;i++){
- document.getElementById("irregular"+i).value =
irregarray[i];
- }
- }
-}
-
-function display_example(expected){
- var startfrom1 = parseInt(document.f.lastvalue1.value);
- var startfrom2 = parseInt(document.f.lastvalue2.value);
- var startfrom3 = parseInt(document.f.lastvalue3.value);
- var every1 = parseInt(document.f.every1.value);
- var every2 = parseInt(document.f.every2.value);
- var every3 = parseInt(document.f.every3.value);
- var numberpattern = document.f.numberingmethod.value;
- var whenmorethan2 = parseInt(document.f.whenmorethan2.value);
- var whenmorethan3 = parseInt(document.f.whenmorethan3.value);
- var setto2 = parseInt(document.f.setto2.value);
- var setto3 = parseInt(document.f.setto3.value);
- var displaytext = 'Based on the information<br \/>entered the Numbering
Pattern<br \/>will look like this<br \/>\n';
- if(startfrom3>0){
- var count=startfrom3-1;
- var count2=startfrom2;
- for(var i=0;i<12;i++){
- if(count>=whenmorethan3){
- count=setto3;
- if(count2>=whenmorethan2){
- startfrom1++;
- count2=setto2;
- } else {
- count2++;
- }
- } else {
- count++;
- }
- displaytext += numberpattern.replace(/{Z}/,count)+'\n';
- displaytext = displaytext.replace(/{Y}/,count2)+'<br
\/>\n';
- displaytext =
displaytext.replace(/{X}/,startfrom1)+'<br \/>\n';
-
- }
- }
- if(startfrom2>0 && !startfrom3){
- var count=startfrom2-1;
- for(var i=0;i<12;i++){
- if(count>=whenmorethan2){
- startfrom1++;
- count=setto2;
- } else {
- count++;
- }
-
- if(is_season){
- if(is_hemisphere == 2){
- if(count == 1) {
- displaytext +=
numberpattern.replace(/{Y}/,text[count+12])+'\n';
- } else {
- displaytext +=
numberpattern.replace(/{Y}/,text[count+8])+'\n';
- }
- } else {
- displaytext +=
numberpattern.replace(/{Y}/,text[count+10])+'\n';
- }
- } else {
- displaytext +=
numberpattern.replace(/{Y}/,count)+'\n';
- }
- displaytext =
displaytext.replace(/{X}/,startfrom1)+'<br \/>\n';
- }
- }
- if(startfrom1>0 && !startfrom2 && !startfrom3){
- for(var i=startfrom1;i<(startfrom1+12);i=i+(1*every1)){
- startfrom1 = i;
- displaytext +=
numberpattern.replace(/{X}/,startfrom1)+'<br \/>\n';
- }
- }
- displaytext = "<div style='padding: 5px; background-color:
#CCCCCC'>"+displaytext+"<\/div>";
- document.getElementById("displayexample").innerHTML = displaytext;
-}
-
-function isArray(obj) {
- if (obj.constructor.toString().indexOf("Array") == -1)
- return false;
- else
- return true;
-}
-
-function moreoptionsupdate(fieldnames,rollover){
- fieldname = fieldnames;
- fld = fieldname.length;
- fld = fld-1;
- fieldnametempnumber = fieldname.substr(fld);
- //alert(fieldnametempnumber);
- fieldnametemp = fieldname.slice(0,-1)+"temp"+fieldnametempnumber;
- // alert(fieldnametemp);
- eval("document.f."+fieldname+".value =
document.f."+fieldnametemp+".value");
- if(rollover){
- eval("document.f.every"+(fieldnametempnumber-1)+".value =
document.f."+fieldnametemp+".value");
- }
-}
-
-
-function check_input(e){
- var unicode=e.charCode? e.charCode : e.keyCode
- if (unicode!=8 && unicode !=46){ // if key isn't backspace or delete
- if (unicode<48||unicode>57) { // if not a number
- alert("Needs to be entered in digit form -eg 10");
- return false // disable key press
- }
- }
-}
-
-</script>
-
-<div id="main">
-<!-- TMPL_IF name="mod" -->
- <h1>Modify subscription</h1>
- <form method="post" name="f" action="subscription-detail.pl">
- <input type="hidden" name="op" value="modsubscription">
- <input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR
name="subscriptionid" -->">
-<!-- TMPL_ELSE -->
- <h1>Add a subscription (Serial Holdings Record)</h1>
- <form method="post" name="f">
- <input type="hidden" name="op" value="addsubscription">
-<!-- /TMPL_IF -->
- <input type="hidden" name="user" value="<!-- TMPL_VAR
name="loggedinusername" -->">
- <input type="hidden" name="irreg_check" value="0">
-
-
-<div id="bloc25">
- <h2>Subscription information</h2>
- <table border="0" cellspacing="5" cellpadding="0">
- <tr><td>Librarian:</td>
- <td><!-- TMPL_VAR name="loggedinusername" --></td></tr>
- <tr><td><label>Supplier:</label></td>
- <td><input type="text" name="aqbooksellerid" value="<!-- TMPL_VAR
name="aqbooksellerid" -->" size="4"> (<input type="text"
name="aqbooksellername" value="<!-- TMPL_VAR name="aqbooksellername" -->"
disabled readonly>) <a href="#" onClick="FindAcqui(f)">Search for a
Supplier</a></td>
- <tr><td><label>Biblio</label></td>
- <td><input type="text" id="biblionumber" name="biblionumber"
value="<!-- TMPL_VAR name="biblionumber" -->" size="4"> (<input type="text"
id="title" name="title" value="<!-- TMPL_VAR name="title" -->" disabled
readonly>) <a href="#" onClick="Plugin(f)">Search for Biblio</a> | <a href="#"
onClick="AddBiblio()">Create Biblio</a></td>
- <tr><td><label>Call Number</label></td>
- <td><input type="text" name="callnumber" value="<!-- TMPL_VAR
name="callnumber" -->" size="20"></td></tr>
- <tr><td><label>Notes</label></td>
- <td><textarea name="notes" cols="30" rows="2"><!-- TMPL_VAR
name="notes" --></textarea></td></tr>
- <!-- TMPL_IF name="letters" -->
- <tr><td><label>Enable issue alert</label>
- <select name="letter">
- <option value=""></option>
- <!-- TMPL_LOOP name="letters" -->
- <!-- TMPL_IF name="selected" -->
- <option value="<!--
TMPL_VAR name="code" -->" selected><!-- TMPL_VAR name="name" --></option>
- <!-- TMPL_ELSE -->
- <option value="<!--
TMPL_VAR name="code" -->"><!-- TMPL_VAR name="name" --></option>
- <!-- /TMPL_IF -->
- <!-- /TMPL_LOOP -->
- </select>
- </td>
- <!-- /TMPL_IF -->
- <td><label>Distributed to </label><a href="#"
onClick="DistributedTo()">...</a></td><tr>
-
-
-
-
-
-
-
-
-
- <tr><td><b>Warning:</b></td>
- <td>
- <ul>
- <li>Remember you <b>must</b> have created a biblio
<b>before</b> creating a subscription</li>
- <li>You also must have selected a supplier if you want
to ask for late issues</li>
- </ul></td></tr>
- </table>
-</div>
-<div id="bloc25">
- <h2>Planning</h2>
- <table border="0" cellspacing="5" cellpadding="0">
- <tr><td><label class="label100">This issue publishes on:</label></td>
- <td> <img src="<!-- TMPL_VAR Name="themelang"
-->/includes/calendar/cal.gif" id="button2" style="cursor: pointer;" />
-
-<input type="text" name="publisheddate" value="<!-- TMPL_VAR
name="publisheddate" -->" size=13 maxlength=10 id="acqui_date"
style="border-width: 0px;">
-<!-- both scripts for calendar must follow the input field -->
- <script type="text/javascript">
- Calendar.setup({
- inputField:"acqui_date",
- ifFormat : "%d/%m/%Y",
- button : "button2",
- align : "Tl"
- });
- </script>
- <script type="text/javascript">
- Calendar.setup({
- inputField :
"acqui_date",
- ifFormat : "%d/%m/%Y",
- button :
"acqui_date",
- align : "Tl"
- });
- </script></td>
- <td rowspan="5"><div id="displayexample"></div></td></tr>
- <tr><td><label class="label100">Frequency: (*)</label></td>
- <td> <select name="periodicity" size="1">
- <option value="" selected>-- please choose
--</option>
-
- <!-- TMPL_IF name="periodicity1" -->
- <option value="1"
selected>1/day</option>
- <!-- TMPL_ELSE -->
- <option value="1">1/day</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="periodicity2" -->
- <option value="2"
selected>1/week</option>
- <!-- TMPL_ELSE -->
- <option value="2">1/week</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="periodicity3" -->
- <option value="3" selected>1/2 weeks
(2/month)</option>
- <!-- TMPL_ELSE -->
- <option value="3">1/2 weeks
(2/months)</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="periodicity4" -->
- <option value="4" selected>1/3
weeks</option>
- <!-- TMPL_ELSE -->
- <option value="4">1/3 weeks</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="periodicity5" -->
- <option value="5"
selected>1/month</option>
- <!-- TMPL_ELSE -->
- <option value="5">1/month</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="periodicity6" -->
- <option value="6" selected>1/2 months
(6/year)</option>
- <!-- TMPL_ELSE -->
- <option value="6">1/2 months
(6/year)</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="periodicity7" -->
- <option value="7" selected>1/3 months
(1/quarter)</option>
- <!-- TMPL_ELSE -->
- <option value="7">1/3 months
(1/quarter)</option>
- <!-- /TMPL_IF -->
- <!-- periodicity8 is 1/quarter, exactly like
periodicity7 but will use it for seasonal option -->
- <!-- TMPL_IF name="periodicity8" -->
- <option value="8" selected>1/quarter
(seasonal)</option>
- <!-- TMPL_ELSE -->
- <option value="8">1/quarter
(seasonal)</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="periodicity9" -->
- <option value="9"
selected>2/years</option>
- <!-- TMPL_ELSE -->
- <option value="9">2/year</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="periodicity10" -->
- <option value="10"
selected>1/year</option>
- <!-- TMPL_ELSE -->
- <option value="10">1/year</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="periodicity11" -->
- <option value="11" selected>1/2
years</option>
- <!-- TMPL_ELSE -->
- <option value="11">1/2 years</option>
- <!-- /TMPL_IF -->
- </select>
- </td></tr>
- <tr><td><label class="label100">Numbering Pattern:</label></td>
- <td><select name="numbering_pattern" size="1" id="numberpattern"
onchange="num_pattern()">
- <option value="" selected>-- please choose --</option>
- <!-- TMPL_IF name="numberpattern1" -->
- <option value="1" selected>Number</option>
- <!-- TMPL_ELSE -->
- <option value="1">Number</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern2" -->
- <option value="2" selected>Volume, Number,
Issue</option>
- <!-- TMPL_ELSE -->
- <option value="2">Volume, Number, Issue</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern3" -->
- <option value="3" selected>Volume, Number</option>
- <!-- TMPL_ELSE -->
- <option value="3">Volume, Number</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern4" -->
- <option value="4" selected>Volume, Issue</option>
- <!-- TMPL_ELSE -->
- <option value="4">Volume, Issue</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern5" -->
- <option value="5" selected>Number, Issue</option>
- <!-- TMPL_ELSE -->
- <option value="5">Number, Issue</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern6" -->
- <option value="6" selected>Seasonal only</option>
- <!-- TMPL_ELSE -->
- <option value="6">Seasonal only</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern7" -->
- <option value="7" selected>None of the above</option>
- <!-- TMPL_ELSE -->
- <option value="7">None of the above</option>
- <!-- /TMPL_IF -->
-
- </select>
-<div id="more_options"></div>
-<div id="irregularity"></div></td></tr>
- <tr><td><label class="label100">Planned to arrive on: (*)</label></td>
- <td><img src="<!-- TMPL_VAR Name="themelang"
-->/includes/calendar/cal.gif" id="button1" style="cursor: pointer;" />
-<input type="text" name="startdate" value="<!-- TMPL_VAR name="startdate" -->"
size=13 maxlength=10 id="beginning_date" style="border-width: 0px;">
-<!-- both scripts for calendar must follow the input field -->
- <script type="text/javascript">
- Calendar.setup({
- inputField :
"beginning_date",
- ifFormat : "%d/%m/%Y",
- button : "button1",
- align : "Tl"
- });
- </script>
- <script type="text/javascript">
- Calendar.setup({
- inputField :
"beginning_date",
- ifFormat : "%d/%m/%Y",
- button :
"beginning_date",
- align : "Tl"
- });
- </script></td></tr>
-</table>
-</div>
-
-<!-- <tr><td><label class="label100">Arrives on</label></td>
- <td> <select name="dow" size="1">
- <option value="">None</option>
- <!-- TMPL_IF name="dow1" -->
- <option value="1"
selected>Monday</option>
- <!-- TMPL_ELSE -->
- <option value="1">Monday</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="dow2" -->
- <option value="2"
selected>Tuesday</option>
- <!-- TMPL_ELSE -->
- <option value="2">Tuesday</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="dow3" -->
- <option value="3"
selected>Wednesday</option>
- <!-- TMPL_ELSE -->
- <option value="3">Wednesday</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="dow4" -->
- <option value="4"
selected>Thursday</option>
- <!-- TMPL_ELSE -->
- <option value="4">Thursday</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="dow5" -->
- <option value="5"
selected>Friday</option>
- <!-- TMPL_ELSE -->
- <option value="5">Friday</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="dow6" -->
- <option value="6"
selected>Saturday</option>
- <!-- TMPL_ELSE -->
- <option value="6">Saturday</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="dow7" -->
- <option value="7"
selected>Sunday</option>
- <!-- TMPL_ELSE -->
- <option value="7">Sunday</option>
- <!-- /TMPL_IF -->
- </select></td></tr> -->
-
-<div id="bloc25">
- <h2>Subscription length</h2>
- <p><select name="subtype">
-<!-- TMPL_LOOP NAME="subtype" -->
-<option value="<!-- TMPL_VAR NAME="name" -->" <!-- TMPL_IF NAME="selected" -->
selected="SELECTED" <!-- /TMPL_IF -->><!-- TMPL_VAR NAME="name" --></option>
-<!-- /TMPL_LOOP -->
-</select> <input type="text" name="sublength" value="<!-- TMPL_VAR
name="sublength" -->" size="3" onkeypress="return check_input(event)"> (*)
(enter amount in numerals)</p>
-
-</div>
-<div id="bloc25">
- <h2>Numbering calculation</h2>
- <p>Numbering formula: <input type="text" name="numberingmethod"
value="<!-- TMPL_VAR name="numberingmethod" -->"></p>
- <div id="basetable" style="display: none;">
- <table class="small">
- <tr>
- <th> </th>
- <th>X</th>
- <th>Y</th>
- <th>Z</th>
- </tr>
- <tr>
- <td>Add</td>
- <td>
- <input type="text" name="add1"
value="<!-- TMPL_VAR name="add1" -->">
- </td>
- <td>
- <input type="text" name="add2"
value="<!-- TMPL_VAR name="add2" -->">
- </td>
- <td>
- <input type="text" name="add3"
value="<!-- TMPL_VAR name="add3" -->">
- </td>
- </tr>
- <tr>
- <td>once every</td>
- <td><input type="text" name="every1"
value="<!-- TMPL_VAR name="every1" -->"></td>
- <td><input type="text" name="every2"
value="<!-- TMPL_VAR name="every2" -->"></td>
- <td><input type="text" name="every3"
value="<!-- TMPL_VAR name="every3" -->"></td>
- </tr>
- <tr>
- <td>When more than</td>
- <td><input type="text" name="whenmorethan1"
value="<!-- TMPL_VAR name="whenmorethan1" -->"></td>
- <td><input type="text" name="whenmorethan2"
value="<!-- TMPL_VAR name="whenmorethan2" -->"></td>
- <td><input type="text" name="whenmorethan3"
value="<!-- TMPL_VAR name="whenmorethan3" -->"></td>
- </tr>
- <!-- TMPL_IF name="mod" -->
- <tr>
- <td>The loop is for instance</td>
- <td><input type="text" name="innerloop1"
value="<!-- TMPL_VAR name="innerloop1" -->"></td>
- <td><input type="text" name="innerloop2"
value="<!-- TMPL_VAR name="innerloop2" -->"></td>
- <td><input type="text" name="innerloop3"
value="<!-- TMPL_VAR name="innerloop3" -->"></td>
- </tr>
- <!-- /TMPL_IF -->
- <tr>
- <td>Set back to</td>
- <td><input type="text" name="setto1"
value="<!-- TMPL_VAR name="setto1" -->"></td>
- <td><input type="text" name="setto2"
value="<!-- TMPL_VAR name="setto2" -->"></td>
- <td><input type="text" name="setto3"
value="<!-- TMPL_VAR name="setto3" -->"></td>
- </tr>
- <tr>
- <td>
- <!-- TMPL_IF name="mod" -->
- Last value
- <!-- TMPL_ELSE -->
- Begins with
- <!-- /TMPL_IF -->
- </td>
- <td><input type="text" name="lastvalue1"
value="<!-- TMPL_VAR name="lastvalue1" -->"></td>
- <td><input type="text" name="lastvalue2"
value="<!-- TMPL_VAR name="lastvalue2" -->"></td>
- <td><input type="text" name="lastvalue3"
value="<!-- TMPL_VAR name="lastvalue3" -->"></td>
- </tr>
- </table> </div>
-</div>
-<!-- TMPL_IF name="mod" -->
- <input type="button" value="Save subscription"
onclick="Check(this.form)" accesskey="w" class="button">
-<!-- TMPL_ELSE -->
- <input type="button" value="Add subscription"
onclick="Check(this.form)" accesskey="w" class="button">
-<!-- /TMPL_IF -->
-</form>
-</div>
-
-
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
-
-<script language="JavaScript" type="text/javascript">
-
-function Plugin(f)
-{
-
window.open('subscription-bib-search.pl','FindABibIndex','width=500,height=400,toolbar=no,scrollbars=yes');
-}
-
-function FindAcqui(f)
-{
-
window.open('acqui-search.pl','FindASupplier','width=500,height=400,toolbar=no,scrollbars=yes');
-}
-
-function Find_ISSN(f)
-{
-
window.open('issn-search.pl','FindABibIndex','width=500,height=400,toolbar=no,scrollbars=yes');
-}
-
-
-function Check(f) {
- if (f.startdate.value.length != 0 && f.sublength.value > 0) {
- if (f.irreg_check.value == 1) {
- document.f.submit();
- } else {
- if(f.numbering_pattern.value == ''){
- alert("need to choose a numbering pattern");
- } else {
- alert("need to check for irregularity by
clicking 'Irregularity?'");
- }
- }
- } else {
- alert('field marked with * are mandatory');
- }
- return false;
-}
-function DistributedTo()
-{
- newwin= window.open('distributedto.pl?subscriptionid=<!-- TMPL_VAR
name="subscriptionid"
-->',"Distributed_to",'width=800,height=600,toolbar=false,scrollbars=yes');
-}
-function AddBiblio() {
-
window.open("/cgi-bin/koha/cataloguing/addbiblio.pl?fromserials=1&popup=1","AddBiblio",'width=700,height=400,toolbar=no,scrollbars=yes,status=yes');
-
-}
-</script>
-<!-- TMPL_IF name="mod" -->
-<script language="JavaScript" type="text/javascript">
-window.onload = modify_num_pattern();
- <!-- TMPL_IF name="hemisphere" -->
- window.onload = hemispheres(<!-- TMPL_VAR NAME="hemisphere" -->);
- <!-- /TMPL_IF -->
-</script>
-<!-- /TMPL_IF -->
-<!-- TMPL_IF name="irregularity" -->
-<script language="JavaScript" type="text/javascript">
-window.onload = irregularity_check();
-window.onload = irregular_order();
-</script>
-<!-- /TMPL_IF -->
\ No newline at end of file
Index: htdocs/intranet-tmpl/default/en/serials/subscription-bib-search.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/serials/subscription-bib-search.tmpl
diff -N htdocs/intranet-tmpl/default/en/serials/subscription-bib-search.tmpl
--- htdocs/intranet-tmpl/default/en/serials/subscription-bib-search.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,74 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- Catalog Search<!--
TMPL_INCLUDE NAME="doc-head-close.inc" -->
-<div id="main-compact">
-
-<h1>Catalogue search</h1>
-
-<form name="f" action="/cgi-bin/koha/serials/subscription-bib-search.pl"
method="post">
- <input type="hidden" name="op" value="do_search" />
- <input type="hidden" name="type" value="intranet" />
- <input type="hidden" name="nbstatements" value="<!-- TMPL_VAR
NAME="nbstatements" -->" />
- <div class="data">
- <table>
- <caption>Search on</caption>
- <tr><th scope="row"><label for="keyword">Search</label></th><td>
-
- <input type="hidden" name="and_or" value="@and" />
- <input type="hidden" name="relation" value="@attr 5=1"
/>
- <input type="text" id="keyword" name="value">
- </td><td><select align="right" id="kohafield" name="kohafield"
size="1">
- <option value="any">Any field</option>
- <option value="title">Title</option>
- <option value="Author">Author</option>
- <option value="ISSN">ISSN</option>
- </select></td></tr>
- <tr><th scope="row"><label
for="itemtype">Itemtype</label></th><td>
- <!-- TMPL_VAR name="CGIitemtype" -->
- <input type="hidden" name="kohafield" value="itemtype"
/>
- <input type="hidden" name="value" value="<!-- TMPL_VAR
name="category" -->">
-
- <input type="hidden" name="and_or" value="@and" />
- <input type="hidden" name="relation" value="@attr 5=1"
/>
-
- <input type="hidden" name="index" value="<!-- TMPL_VAR
name="index" -->" />
- </td></tr>
- </div>
- <div class="data">
- <tr><th scope="row"><label for="resultsperpage">Results per
page :</label></th><td>
- <select align="right" id="resultsperpage"
name="resultsperpage" size="1">
- <option value="10">10</option>
- <option value="20">20</option>
- <option value="50">50</option>
- </select></td><td>
- <label for="orderby">Ordered by</label>
- <select id="orderby" name="order" size="1">
- <option value="title i>">Title</option>
- <option value="author i>">Author</option>
- </select>
- </td></tr>
- </table>
- <p>
- <input type="submit" value="Start search"
class="submit" />
-
- </p>
- </div>
-</form>
-
-<script language="Javascript" type="text/javascript">
-function AddStatement() {
-
- document.forms['f'].op.value="AddStatement";
- document.f.submit();
-}
-
-function PopupSuggestion() {
- var strQuery="";
- for (i=0 ; i<document.f.marclist.length ; i++) {
- if (document.f.value[i].value.length>0) {
- strQuery += " "+document.f.value[i].value;
- }
- }
-
newin=window.open("suggest.pl?Q="+strQuery,"Suggestions",'width=500,height=400,toolbar=false,scrollbars=yes');
-}
-
-</script>
-</div>
Index: htdocs/intranet-tmpl/default/en/serials/subscription-detail.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/serials/subscription-detail.tmpl
diff -N htdocs/intranet-tmpl/default/en/serials/subscription-detail.tmpl
--- htdocs/intranet-tmpl/default/en/serials/subscription-detail.tmpl 10 Mar
2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,420 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- Subscription edit<!--
-TMPL_INCLUDE NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="serials-menu.inc" -->
-<script language="Javascript" type="text/javascript">
-<!--
-// the english words used in display purposes
-var text = new Array('Number','Volume','Issue','Month','Week','Starting
with:','Rollover at:','Choose Hemisphere:','Northern','Southern',
-'Autumn','Winter','Spring','Summer','Fall','Season','Year');
-
-// common pre defined number patterns
-function num_pattern() {
-var patternchoice = '<!--TMPL_VAR NAME='numberpattern'-->';
- switch(patternchoice){
- case "2":
- options(text[1],text[0],text[2]);
- irregularity();
- display_table(0);
- break;
- case "3":
- options(text[1],text[0]);
- irregularity();
- display_table(0);
- break;
- case "4":
- options(text[1],text[2]);
- irregularity();
- display_table(0);
- break;
- case "5":
- options(text[0],text[2]);
- irregularity();
- display_table(0);
- break;
- case "6":
- var d = new Date();
- var sYear = d.getFullYear();
- // options_seasons(text[15],sYear);
- irregularity();
- is_season = 1;
- display_table(0);
- break;
- case "7":
- display_table(1);
- irregularity();
- break;
- default:
- options(text[0]);
- irregularity();
- display_table(0);
- break;
- }
-}
-
-function display_table(n) {
- if(n==1){
- document.getElementById("basetable").style.display = 'block';
- } else {
- document.getElementById("basetable").style.display = 'none';
- }
-}
-
-// to dispaly the options section
-function options(x,y,z){
-var textbox = '';
- // alert("X: "+x+"Y: "+y+"Z: "+z);
- if(x){
- document.f.xfield.value = x;
- if(y){
- document.f.yfield.value = y;
- if(z){
- document.f.zfield.value = z;
- }
- }
- }
-}
-
-function irregularity(){
- var periodicity = '<!-- TMPL_VAR NAME="periodicity"-->';
- switch(periodicity){
- case "1":
- var names = new
Array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
- break;
- case "2":
- <!-- TMPL_IF NAME="weekarrayjs" -->
- var names = new Array(<!-- TMPL_VAR NAME="weekarrayjs" -->);
- <!-- /TMPL_IF -->
- break;
- case "3":
- <!-- TMPL_IF NAME="weekarrayjs" -->
- var names = new Array(<!-- TMPL_VAR NAME="weekarrayjs" -->);
- <!-- /TMPL_IF -->
- break;
- case "4":
- <!-- TMPL_IF NAME="weekarrayjs" -->
- var names = new Array(<!-- TMPL_VAR NAME="weekarrayjs" -->);
- <!-- /TMPL_IF -->
- break;
- case "5":
- var names = new
Array('January','February','March','April','May','June','July','August','September','October','November','December');
- break;
- case "6":
- var names = new
Array('January','February','March','April','May','June','July','August','September','October','November','December');
- break;
- case "7":
- var names = new
Array('January','February','March','April','May','June','July','August','September','October','November','December');
- break;
- case "8":
- var names = new
Array('Autumn','Winter','Spring','Summer','Fall');
- break;
- case "9":
- var names = new
Array('January','February','March','April','May','June','July','August','September','October','November','December');
- break;
- case "10":
- expected =1;
- break;
- default:
- break;
- }
-
- <!-- TMPL_IF NAME="irregularity" -->
- var irregular = '<!-- TMPL_VAR NAME="irregularity" -->';
- var irregarray = irregular.split('|');
- var irregtext = '<p>';
- for(var i=0;i<irregarray.length;i++){
- irregtext += names[i]+' ';
- }
- irregtext += '</p>';
- document.getElementById("irreg").innerHTML = irregtext;
- <!-- /TMPL_IF -->
-}
-
--->
-</script>
-
-<div id="main">
-
-<h1>Subscription Details for biblio : <!-- TMPL_VAR name="biblionumber"
--></h1>
-<form class="inline" method="get" action="subscription-add.pl">
-<input type="hidden" name="op" value="mod" />
-<input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR
name="subscriptionid" -->" />
-<input type="submit" class="submit" title="Modify subscription" value="Edit"
/></form>
-
-<form class="inline" method="get" action="serials-receive.pl">
-<input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR
name="subscriptionid" -->" />
-<input type="submit" class="submit" value="Receive Issues" /></form>
-
-<form class="inline" method="get" action="serial-issues.pl">
-<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR
name="biblionumber" -->" />
-<input type="submit" class="submit" title="All issues on this title"
value="Issue History" /></form>
-
-<form class="inline" method="get"
action="/cgi-bin/koha/serials/serials-home.pl">
-<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR
name="biblionumber" -->" />
-<input type="submit" class="submit" title="all subscriptions on <!-- TMPL_VAR
name="bibliotitle" -->" value="Subscriptions" /></form>
-
-<form class="inline" method="get"
action="/cgi-bin/koha/catalogue/MARCdetail.pl">
-<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR
name="biblionumber" -->" />
-<input type="submit" class="submit" title="go to <!-- TMPL_VAR
name="bibliotitle" -->" value="View Biblio Record" /></form>
-
-<form class="inline"><input type="submit" class="cancel" value="Delete
Subscription" onclick="confirm_deletion(); return false;" /></form>
-<!-- TMPL_IF NAME="routing" -->
-<form class="inline" method="get" action="/cgi-bin/koha/serials/routing.pl">
-<input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR
name="subscriptionid" -->" />
-<input type="submit" class="submit" value="Edit Routing List"/></form>
-<!-- TMPL_ELSE -->
-<form class="inline" method="get" action="/cgi-bin/koha/serials/routing.pl">
-<input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR
name="subscriptionid" -->" />
-<input type="hidden" name="op" value="new" />
-<input type="submit" class="submit" value="Create Routing List"/></form>
-<!-- /TMPL_IF -->
-
-<table>
-<tr valign="top"><td>
-
-<div class="bloc25">
- <h2>Subscription information</h2>
- <p><label class="label100">Librarian identity:</label> <!-- TMPL_VAR
name="librarian" --></p><br />
-
- <p><label class="label100">Supplier:</label> <!-- TMPL_VAR
name="aqbooksellername" --> </p>
-
- <p><label class="label100">Cost:</label> <!-- TMPL_VAR name="cost"
--> </p>
-
- <p><label class="label100">Budget:</label> <!-- TMPL_VAR
name="bookfundid" --> </p>
-
- <p><label class="label100">Biblio:</label> <i>(<!-- TMPL_VAR
name="biblionumber" -->)</i> <!-- TMPL_VAR name="bibliotitle" --></p><br />
- <p><label class="label100">Call Number:</label> <!-- TMPL_VAR
name="callnumber" --> </p>
-
- <p><label class="label100">Notes:</label> <!-- TMPL_VAR name="notes"
--></p>
-</div>
-
-<div class="bloc25">
- <form name="f">
- <h2>Planning</h2>
- <p><label class="label100">Beginning date:</label> <!-- TMPL_VAR
name="publisheddate" -->
- </p>
- <p><label class="label100">Frequency (*):</label>
- <!--TMPL_IF name="periodicity1" -->
- 1/day
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity2" -->
- 1/week
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity3" -->
- 1/2 weeks
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity4" -->
- 1/3 weeks
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity5" -->
- 1/Month
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity6" -->
- 1/2 Months (6/year)
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity7" -->
- 1/quarter
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity8" -->
- 1/quarter
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity9" -->
- 2/year
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity10" -->
- 1/year
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="periodicity11" -->
- 1/2 years
- <!-- /TMPL_IF -->
- </p>
- <p><label class="label100">Number Pattern:</label>
- <!-- TMPL_IF name="numberpattern1" -->
- Number
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern2" -->
- Volume, Number, Issue
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern3" -->
- Volume, Number
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern4" -->
- Volume, Issue
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern5" -->
- Number, Issue
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern6" -->
- Seasonal only
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="numberpattern7" -->
- None of the above
- <!-- /TMPL_IF -->
- </p>
- <table cellpadding="0" cellspacing="0">
- <tr><td> </td>
- <td align="right"><input type="text" name="xfield"
style="border:0px solid #FFFFFF; text-align:center;"></td>
- <!--TMPL_IF NAME="lastvalue2"-->
- <td align="right"><input type="text" name="yfield"
style="border:0px solid #FFFFFF; text-align:center;"></td>
- <!--/TMPL_IF-->
- <!--TMPL_IF NAME="lastvalue3"-->
- <td align="right"><input type="text" name="zfield"
style="border:0px solid #FFFFFF; text-align:center;"></td>
- <!--/TMPL_IF-->
- </tr>
- <tr><td><p><label class="label100">Starting with:</label></p></td>
- <td align="center"><!--TMPL_VAR NAME="lastvalue1"--></td>
- <!--TMPL_IF NAME="lastvalue2"-->
- <td align="center">
- <!--TMPL_VAR NAME="lastvalue2"-->
- </td>
- <!--/TMPL_IF-->
- <!--TMPL_IF NAME="lastvalue3"-->
- <td align="center">
- <!--TMPL_VAR NAME="lastvalue3"-->
- </td>
- <!--/TMPL_IF-->
- </tr>
- <tr><td><p><label class="label100">Rollover:</label></p></td>
- <td align="center"> </td>
- <!--TMPL_IF NAME="whenmorethan2"-->
- <td align="center">
- <!--TMPL_VAR NAME="whenmorethan2"-->
- </td>
- <!--/TMPL_IF-->
- <!--TMPL_IF NAME="whenmorethan3"-->
- <td align="center">
- <!--TMPL_VAR NAME="whenmorethan3"-->
- </td>
- <!--/TMPL_IF-->
- </tr>
- </table>
- <!-- TMPL_IF NAME="irregularity" -->
- <p><label class="label100">Irregularity:</label>
- <div id="irreg"></div>
- </p>
- <!-- /TMPL_IF -->
- <p><label class="label100">Begins on:</label>
- <!--TMPL_VAR name="startdate" -->
- </p>
- </form>
-</div>
-<div class="bloc25">
- <h2>Subscription length</h2>
- <!-- TMPL_IF name="numberlength" --><p><label>Number of issues:</label>
<!-- TMPL_VAR name="numberlength" --></p><!-- /TMPL_IF -->
- <!-- TMPL_IF name="weeklength" --><p><label>Number of weeks:</label>
<!-- TMPL_VAR name="weeklength" --></p><!-- /TMPL_IF -->
- <!-- TMPL_IF name="monthlength" --><p><label class="label100">Number of
months:</label> <!-- TMPL_VAR name="monthlength" --></p><!-- /TMPL_IF -->
-
-</div>
-<div class="bloc25">
- <h2>Numbering calculation</h2>
- <p><label class="label100">Numbering formula:</label> <!-- TMPL_VAR
name="numberingmethod" --></p>
-</div>
-<div class="bloc25" id="basetable">
- <table cellpadding="0" cellspacing="0" border="0" class="collapse">
- <tr>
- <th class="cell-header"> </th>
- <th class="cell-header">X</th>
- <th class="cell-header">Y</th>
- <th class="cell-header">Z</th>
- </tr>
- <tr>
- <td class="cell">Add</td>
- <td class="cell">
- <!-- TMPL_VAR name="add1" -->
- </td>
- <td class="cell">
- <!-- TMPL_VAR name="add2" -->
- </td>
- <td class="cell">
- <!-- TMPL_VAR name="add3" -->
- </td>
- </tr>
- <tr>
- <td class="cell">once every</td>
- <td class="cell"><!-- TMPL_VAR name="every1"
--></td>
- <td class="cell"><!-- TMPL_VAR name="every2"
--></td>
- <td class="cell"><!-- TMPL_VAR name="every3"
--></td>
- </tr>
- <tr>
- <td class="cell">When more than</td>
- <td class="cell"><!-- TMPL_VAR
name="whenmorethan1" --> <!-- TMPL_IF name="innerloop1" --><br/>
- <i>(is <!-- TMPL_VAR name="innerloop1"
-->)</i><!-- /TMPL_IF --></td>
- <td class="cell"><!-- TMPL_VAR
name="whenmorethan2" --> <!-- TMPL_IF name="innerloop2" --><br/>
- <i>(is <!-- TMPL_VAR name="innerloop2"
-->)</i><!-- /TMPL_IF --></td>
- <td class="cell"><!-- TMPL_VAR
name="whenmorethan3" --> <!-- TMPL_IF name="innerloop3" --><br/>
- <i>(is <!-- TMPL_VAR name="innerloop3"
-->)</i><!-- /TMPL_IF --></td>
- </tr>
- <tr>
- <td class="cell">Set back to</td>
- <td class="cell"><!-- TMPL_VAR name="setto1"
--></td>
- <td class="cell"><!-- TMPL_VAR name="setto2"
--></td>
- <td class="cell"><!-- TMPL_VAR name="setto3"
--></td>
- </tr>
- <tr>
- <td class="cell">
- Last value
- </td>
- <td class="cell"><!-- TMPL_VAR
name="lastvalue1" --></td>
- <td class="cell"><!-- TMPL_VAR
name="lastvalue2" --></td>
- <td class="cell"><!-- TMPL_VAR
name="lastvalue3" --></td>
- </tr>
- </table>
-</div>
-</td><td>
-<div class="bloc25">
- <h2>Issues</h2>
- <table cellpadding="0" cellspacing="0" border="0" class="collapse">
- <tr>
- <th class="cell-header">Issue number</th>
- <th class="cell-header">Planned date</th>
- <th class="cell-header">Status</th>
- </tr>
- <!-- TMPL_LOOP name="serialslist" -->
- <tr>
- <td class="cell">
- <!-- TMPL_VAR name="serialseq" -->
- </td>
- <td class="cell">
- <!-- TMPL_VAR name="planneddate" -->
- </td>
- <td class="cell">
- <!--TMPL_IF name="status1" -->
- Waited
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="status2" -->
- Arrived
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="status3" -->
- Late
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="status4" -->
- Missing
- <!-- /TMPL_IF -->
- <!--TMPL_IF name="status5" -->
- Not Published
- <!-- /TMPL_IF -->
- </td>
- </tr>
- <!-- /TMPL_LOOP -->
- </table>
-</div>
-</td></tr>
-</table>
-
-</div>
-<script type="text/javascript">
-function _(s) { return s } // dummy function for gettext
-function confirm_deletion() {
- <!-- TMPL_IF name="totalissues" -->
- var is_confirmed = confirm(_('You already made <!-- TMPL_VAR
name="totalissues"--> receipts. Do you confirm deletion?'));
- <!-- TMPL_ELSE -->
- var is_confirmed = confirm(_('Are you sure you want to delete
this subscription?'));
- <!-- /TMPL_IF -->
- if (is_confirmed) {
- window.location="subscription-detail.pl?subscriptionid=<!--
TMPL_VAR name="subscriptionid" -->&biblionumber=<!-- TMPL_VAR
name="biblionumber" -->&op=del";
- }
-}
-window.onload = num_pattern();
-</script>
-
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/serials/subscription-renew.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/serials/subscription-renew.tmpl
diff -N htdocs/intranet-tmpl/default/en/serials/subscription-renew.tmpl
--- htdocs/intranet-tmpl/default/en/serials/subscription-renew.tmpl 10 Mar
2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-<!-- TMPL_INCLUDE NAME="popup-top.inc" -->
-<div id="main">
-
-<h1 class="serial">subscription renewal for <!-- TMPL_VAR name="bibliotitle"
--></h1>
-
-<form name="f" action="/cgi-bin/koha/serials/subscription-renew.pl"
method="post">
- <div id="bloc25">
- <input type="hidden" name="op" value="renew">
- <input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR
name="subscriptionid" -->">
- <p><label class="label100">start date</label><input type="text"
name="startdate" value="<!-- TMPL_VAR name="startdate" -->"></p>
- <p>Subscription length :</p>
- <p><label class="label100">Number of num</label><input
type="text" name="numberlength" value="<!-- TMPL_VAR name="numberlength"
-->"></p>
- <p><label class="label100">Number of weeks</label><input
type="text" name="weeklength" value="<!-- TMPL_VAR name="weeklength" -->"></p>
- <p><label class="label100">Number of months</label><input
type="text" name="monthlength" value="<!-- TMPL_VAR name="monthlength" -->"></p>
- <p>Note for the librarian that will manage your renewal
request</p>
- <ul><textarea name="note" rows="10" cols="60"></textarea></ul>
- <input type="submit" value="Request a renewal" class="button
serial">
- </div>
-</form>
-</div>
-
- <!-- TMPL_IF NAME="done" -->
- <script type="text/javascript">
- <!--
- opener.document.location.reload();
- self.close();
- //-->
- </script>
- <!-- /TMPL_IF -->
-
-<!-- TMPL_INCLUDE NAME="popup-bottom.inc" -->
-
Index: htdocs/intranet-tmpl/default/en/serials/viewalerts.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/serials/viewalerts.tmpl
diff -N htdocs/intranet-tmpl/default/en/serials/viewalerts.tmpl
--- htdocs/intranet-tmpl/default/en/serials/viewalerts.tmpl 10 Mar 2007
01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-<!-- TMPL_INCLUDE NAME="serials-top.inc" -->
-
-<div id="main">
- <h1 class="serial">Alert subscribers for <!-- TMPL_VAR
name="bibliotitle" --></h1>
- <a href="subscription-detail.pl?subscriptionid=<!-- TMPL_VAR
name="subscriptionid" -->" class="button serial">subscription</a>
- <div class="bloc25">
- <!-- TMPL_IF name="alertloop" -->
- <table>
- <tr>
- <th class="serial">Borrower name</th>
- <th class="serial"> </th>
- </tr>
-
- <!-- TMPL_LOOP NAME="alertloop" -->
- <tr>
- <td><!-- TMPL_VAR name="name" --></td>
- <td><a
href="/cgi-bin/koha/members/moremember.pl?bornum=<!-- TMPL_VAR
name="borrowernumber">" class="button serial">View</a></td>
- </tr>
- <!-- /TMPL_LOOP -->
- </table>
- <!-- TMPL_ELSE -->
- Nobody
- <!-- /TMPL_IF -->
- </div>
-
-
-</div>
-<!-- TMPL_INCLUDE NAME="serials-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/sms/sms-home.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/sms/sms-home.tmpl
diff -N htdocs/intranet-tmpl/default/en/sms/sms-home.tmpl
--- htdocs/intranet-tmpl/default/en/sms/sms-home.tmpl 10 Mar 2007 01:54:30
-0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,31 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->System Administration<!--
TMPL_INCLUDE NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="intranet-nav.inc" -->
-
-<div id="main">
-<h1>NEULIS SMS Administration</h1>
-
-
-<table>
-<caption>SMS Messaging </caption>
-<!--TMPL_IF NAME="error"--><div class="error"><!--TMPL_VAR NAME="error"-->
</div><!--/TMPL_IF-->
-<form action="/cgi-bin/koha/sms/sms.pl" method="post">
-<tr><input type="hidden" value="sendsms" name="operation"/>
- <td >Your Message<textarea name="message" cols="35"
rows="4"><!--TMPL_VAR NAME="message"--></textarea></td>
-</tr>
-<tr>
- <td>Phone:<input type="text" name="phone" value="<!--TMPL_VAR
NAME="phone"-->"/>5338644143</th>
-
-</tr>
- <tr>
-
- <td><input type="submit" value="Send SMS"></td>
-</tr>
-</form>
-
-<th>Şu anda sadece KTcell abonelerine mesaj gönderilebilir. Rezervasyonu
gelenler için kullanın!</th>
-
-</table>
-
-</div>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/suggestion/acceptorreject.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/suggestion/acceptorreject.tmpl
diff -N htdocs/intranet-tmpl/default/en/suggestion/acceptorreject.tmpl
--- htdocs/intranet-tmpl/default/en/suggestion/acceptorreject.tmpl 10 Mar
2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,44 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- Suggestion Management
-<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="intranet-nav.inc" -->
-<div id="main">
-
-
-<!-- TMPL_IF name="op_else" -->
- <h1>Suggestions Management</h1>
- <form method="post" action="/cgi-bin/koha/suggestion/acceptorreject.pl">
- <input type="hidden" name="op" value="aorr_confirm">
- <table>
- <tr>
- <th>Status</th>
- <th>Suggestion</th>
- <th>Suggested by</th>
- </tr>
- <!-- TMPL_LOOP NAME="suggestions_loop" -->
- <tr<!-- TMPL_IF name="even" --> class="highlight"<!--
/TMPL_IF -->>
- <td>
- <select name="aorr">
- <option value=""> -- Choose
Action --</option>
- <option value="R<!--TMPL_VAR
name="suggestionid" -->">Reject</option>
- <option value="A<!--TMPL_VAR
name="suggestionid" -->">Accept</option>
- </select>
- </td>
- <td><!-- TMPL_VAR NAME="title" --><!-- TMPL_IF
NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF --><br>
- <!-- TMPL_IF name="copyrightdate"
-->© <!-- TMPL_VAR name="copyrightdate" --> <!-- /TMPL_IF -->
- <!-- TMPL_IF name="volumedesc"
-->; Volume:<i><!-- TMPL_VAR name="volumedesc" --></i> <!-- /TMPL_IF -->
- <!-- TMPL_IF name="isbn" -->;
ISBN :<i><!-- TMPL_VAR name="isbn" --></i> <!-- /TMPL_IF --><!-- TMPL_IF
name="publishercode" -->; Published by <!-- TMPL_VAR name="publishercode" -->
<!-- /TMPL_IF --><!-- TMPL_IF name="publicationyear" --> in <i><!-- TMPL_VAR
name="publicationyear" --></i> <!-- /TMPL_IF --><!-- TMPL_IF name="place" -->
in <i><!-- TMPL_VAR name="place" --></i> <!-- /TMPL_IF --><br><!-- TMPL_IF
name="note" --><!-- TMPL VAR NAME="note" --><!-- /TMPL_IF -->
-
- </td>
- <td>
- <!-- TMPL_VAR name="surnamesuggestedby"
--><!-- TMPL_IF name="firstnamesuggestedby" -->,<!-- /TMPL_IF --> <!-- TMPL_VAR
name="firstnamesuggestedby" -->
- </td>
- </tr>
- <!-- /TMPL_LOOP -->
- </table>
- <input type="submit" value="Change Status">
-</form>
-
-<!-- /TMPL_IF -->
-</div>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_ACCEPTED.tmpl
===================================================================
RCS file:
htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_ACCEPTED.tmpl
diff -N htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_ACCEPTED.tmpl
--- htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_ACCEPTED.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-Dear <!-- TMPL_VAR NAME="LibraryName" --> user,
-
-You have suggested that the library acquire <!-- TMPL_VAR name="title" --><!--
TMPL_IF name="author" --> by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF -->.
-
-<!-- TMPL_VAR name="lib.surname" --> <!-- TMPL_VAR lib.firstname --> reviewed
your suggestion today, and found it interesting. The item will be ordered as
soon as possible. You will be notified by mail when the order is completed, and
again when the book arrives at the library.
-
-If you have any questions, please email us at <!-- TMPL_VAR name="libemail"
-->.
-
-Thank you,
-
-<!-- TMPL_VAR NAME="LibraryName" -->
\ No newline at end of file
Index: htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_AVAILABLE.tmpl
===================================================================
RCS file:
htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_AVAILABLE.tmpl
diff -N
htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_AVAILABLE.tmpl
--- htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_AVAILABLE.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-Dear <!-- TMPL_VAR NAME="LibraryName" --> user,
-
-You have suggested that the library acquire <!-- TMPL_VAR name="title" --><!--
TMPL_IF name="author" --> by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF -->.
-
-We are pleased to inform you that the item is now part of the collection of
the <!-- TMPL_VAR NAME="LibraryName" -->.
-
-If you have any questions, please email us at <!-- TMPL_VAR name="libemail"
-->.
-
-Thank you,
-
-<!-- TMPL_VAR NAME="LibraryName" -->
\ No newline at end of file
Index: htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_ORDERED.tmpl
===================================================================
RCS file:
htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_ORDERED.tmpl
diff -N htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_ORDERED.tmpl
--- htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_ORDERED.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-Dear <!-- TMPL_VAR NAME="LibraryName" --> user,
-
-You have suggested that the library acquire <!-- TMPL_VAR name="title" --><!--
TMPL_IF name="author" --> by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF -->.
-
-We are pleased to inform you that the book has now been ordered. It should
arrive soon, at which time it will be processed for addition to the collection.
-
-You will be notified again when the book is available.
-
-If you have any questions, please email us at <!-- TMPL_VAR name="libemail" -->
-
-Thank you,
-
-<!-- TMPL_VAR NAME="LibraryName" -->
\ No newline at end of file
Index: htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_REJECTED.tmpl
===================================================================
RCS file:
htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_REJECTED.tmpl
diff -N htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_REJECTED.tmpl
--- htdocs/intranet-tmpl/default/en/suggestion/mail_suggestion_REJECTED.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-Dear <!-- TMPL_VAR NAME="LibraryName" --> user,
-
-You have suggested that the library acquire <!-- TMPL_VAR name="title" --><!--
TMPL_IF name="author" --> by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF -->.
-
-<!-- TMPL_VAR name="lib.surname" --> <!-- TMPL_VAR lib.firstname --> reviewed
your request today, and has decided not to accept the suggestion at this time.
-
-If you have any questions, please email us at <!-- TMPL_VAR name="libemail"
-->.
-
-Thank you,
-
-<!-- TMPL_VAR NAME="LibraryName" -->
\ No newline at end of file
Index: htdocs/intranet-tmpl/default/en/tools/barcodes.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/tools/barcodes.tmpl
diff -N htdocs/intranet-tmpl/default/en/tools/barcodes.tmpl
--- htdocs/intranet-tmpl/default/en/tools/barcodes.tmpl 10 Mar 2007 01:54:30
-0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,80 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-barcodes.inc" -->
-
-<!-- START OF ADD COUNTRY CODE PANEL -->
-<div class="countryPanel" id="addCountryCode">
- <form action="/cgi-bin/koha/barcodes/barcodes.pl" method="post"
style="display:inline">
- <input type="hidden" name="addCode" value="1" />
-<h4>Add a new Country Code</h4>
-<ul>
- <li><label for="countryName">Country Name:</label> <input type="text"
size="10" id="countryName" name="countryName" /></li>
- <li><label for="countryCode">Country Code:</label> <input type="text"
size="3" id="countryCode" name="countryCode" /></li>
-</ul>
-<input type="submit" name="submit" id="submit" value="Save Code"/>
-<input type="button" name="cancel" id="cancel" value="Cancel"
onclick="document.getElementById('addCountryCode').style.display = 'none'" />
- </form>
-</div>
-
-<!-- END OF ADD COUNTRY CODE PANEL -->
-
- <h1>Barcodes Generator</h1>
- <h3>Generate barcodes from inventory codes</h3>
- <ul>
- <li>Select a range of inventary codes. You can choose a
continuous range or individual inventory codes</li>
- <li>Select the standard type to generate barcodes.</li>
- <li>Define the page size for output the PDF.</li>
- <li>Depending on page size, Koha will show you how the page is
arranged
- for each barcode. You can define wich point to start
printing the page.
- </li>
- </ul>
-
-<!-- TMPL_IF NAME="ERROR" -->Can't find inventory codes in that range. Please
try again.<!-- /TMPL_IF -->
-
- <form id="formulario" method="POST" action="<!-- TMPL_VAR
NAME="SCRIPT_NAME" -->" name="form1" onsubmit="return checkFields(this);"
target="_blank">
- <label for="rangeType">Type of Interval: </label><!-- TMPL_VAR
NAME="RANGE_TYPE" -->
-
-<div id="continuous" class="panel" style="display:inline">
- <ul>
- <li><label for="from">From:</label><input id="from" type="text"
name="from" size="20" /></li>
- <li><label for="to">To:</label><input id="to" type="text"
name="to" size="20" /></li>
- </ul>
-</div>
-
-
- <div id="individuals" class="panel" style="display:none; background-color:
#ffffff;">
-<label for="inventaryCode">Inventory Code: </label><input id="inventaryCode"
type="text" name="inventaryCode" size="20" />
-<a href="#" onclick="addItem(); return false;">[+]</a>
-<a href="#" onclick="removeItem(); return false;">[-]</a>
-<select id="inventaryList" size="5" style="width:150px">
-</select>
-<input type="hidden" id="individualCodes" name="individualCodes">
-</div>
-
-<p>
-<label for="numbersystem">Country Code: </label><!-- TMPL_VAR
NAME="NUMBER_SYSTEM" --><a href="#" onClick="addCountryCode(); return
false;">[+]</a></p>
-
-<p> <label
for="pageType">Page Size</label><input type="text" id="pageType"
name="pageType" readonly="readonly" disabled="disabled" value="<!-- TMPL_VAR
NAME="PAGES" -->" size="10" /><a
href="/cgi-bin/koha/barcodes/printerConfig.pl">[Go to Printer
Configuration]</a></p>
-
-
-<p><label for="text_under_label">Text under label</label>
- <input type="text"
id="text_under_label" name="text_under_label" size="40" value="<!-- TMPL_VAR
name="text_under_label -->" /> If this field is empty, author and title will be
used instead</p>
-
- <table>
- <tr>
- <th colspan="<!--
TMPL_VAR NAME="COL_SPAN" -->">Label number to start printing</th>
- </tr>
- <!-- TMPL_LOOP
NAME="LABEL_TABLE" -->
- <tr>
- <!-- TMPL_LOOP
NAME="columns" -->
- <td>
-
<input type="radio" id="label" value="<!-- TMPL_VAR NAME="tagname" -->"
name="label" <!-- TMPL_VAR NAME="check" -->> Label <!-- TMPL_VAR
NAME="labelname" --></td>
- <!-- /TMPL_LOOP
-->
- </tr>
- <!-- /TMPL_LOOP -->
- </table>
-
-<input type="submit" value="Generate Barcodes" name="B1">
-<input type="reset" value="Clear Fields" name="B2">
-</form>
-
-<!-- TMPL_INCLUDE name="intranet-bottom.inc" -->
-
Index: htdocs/intranet-tmpl/default/en/tools/export.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/tools/export.tmpl
diff -N htdocs/intranet-tmpl/default/en/tools/export.tmpl
--- htdocs/intranet-tmpl/default/en/tools/export.tmpl 10 Mar 2007 01:54:30
-0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Cataloging: MARC Export<!--
TMPL_INCLUDE NAME="doc-head-close-addbiblio.inc" -->
-<!-- TMPL_INCLUDE NAME="menus.inc" -->
-<!-- TMPL_INCLUDE NAME="menu-admin.inc" -->
-<h1>MARC Export</h1>
-<div class="details"><h4>Export in MARC format the following biblios
(bibliographic records only):</h4>
-<form method="post">
-<p>From biblio number: <input type="text" name="start_bib" />
-to biblio number: <input type="text" name="end_bib" /></p>
-<p>(leave blank to export every biblio)</p>
-<input type="hidden" name="op" value="export" />
-<input type="submit" value="Export" class="submit" />
-</form></div>
-<p>Note : Exporting all by this tool may take some time</p>
-
-
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/tools/holidays.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/tools/holidays.tmpl
diff -N htdocs/intranet-tmpl/default/en/tools/holidays.tmpl
--- htdocs/intranet-tmpl/default/en/tools/holidays.tmpl 10 Mar 2007 01:54:30
-0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,347 +0,0 @@
-<!-- TMPL_INCLUDE NAME="holidays-top.inc" -->Holiday Management<!--
TMPL_INCLUDE NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="intranet-nav-brief.inc" -->
-
-
-<div id="main">
- <div id="bloctitle">Calendars</div>
- <table bgcolor="#ffcc00" width="80%" cellpadding="3">
- <tr valign="center">
- <td><font size="4">Define the holidays</font></td>
- </tr>
- </table>
- <ul>
- <li>Search in the calendar the day you want to set as
holiday.</li>
- <li>Complete the information in the right area.</li>
- <li>Once you finish the steps above, click Save.</li>
- </ul>
-
-<!-- *************************************** FLAT PANELS
**************************************************** -->
-<!-- ***** Makes all the flat panel to deal with holidays
***** -->
-<!--
********************************************************************************************************
-->
-
-<!-- *************************** Panel for showing already loaded holidays
********************************** -->
-<div class="panel" style="position:absolute" id="showHoliday">
- <form action="/cgi-bin/koha/tools/exceptionHolidays.pl" method="post"
style="display:inline">
- <table style="background-color:#EFEFEF;border:1px"
align="center">
- <tr>
- <th colspan="2">
- <p onclick="javascript:
hidePanel('showHoliday');hidePanel('information')" style="cursor:pointer">
- Hide Details
- <img src="<!-- TMPL_VAR
NAME="themelang" -->/images/signClose.gif" hspace="0" vspace="0" border="0"
style="vertical-align:middle">
- </p>
- </th>
- </tr>
- <tr>
- <td>
- Day name
- </td>
- <td>
- Library
- </td>
- <tr>
- </tr>
- <td>
- <input type="text" size="20"
id="showDayname" name="showDayname" readonly
-
style="background-color:#FFFFFF;color:Black"/>
-
- </td>
- <td>
- <input type="text" size="20"
id="showBranchName" name="showBranchName" readonly
style="background-color:#FFFFFF;color:Black"/>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <div style="display:inline">
- Day <input type="text"
size="4" id="showDay" name="showDay" readonly
-
style="background-color:#FFFFFF;color:Black"/>Month <input type="text"
size="4" id="showMonth" name="showMonth" readonly
-
style="background-color:#FFFFFF;color:Black"/> Year<input type="text" size="4"
id="showYear" name="showYear" readonly
-
style="background-color:#FFFFFF;color:Black"/>
- Day of the week<input
type="text" size="4" id="showWeekday" name="showWeekday" readonly
-
style="background-color:#FFFFFF;color:Black"/>
- </div>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <div style="display:inline">
- Day title
- </div>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- Add a description to holiday day.
- </td>
- </tr>
- <tr>
- <td colspan="2" align="center">
- <textarea rows="4" cols="40"
id="showDescription" name="showDescription"></textarea>
- </td>
- </tr>
- <tr>
- <td colspan="2" align="left">
- <div id="exceptionPosibility"
style="position:static;display:none">
- <input type="radio"
name="showOperation" value="exception"> Generate an exception to this holiday
- <img src="<!-- TMPL_VAR
NAME="themelang" -->/images/more.gif" hspace="0" vspace="0" border="0"
style="vertical-align:middle;cursor:pointer"
- onclick="javascript:
additionalInformation('You can make an exception for this holiday rule. This
means that you will be able to say for a repeatable holiday, that there is one
of those days that is going to be an exception.')">
- <br>
- </div>
- <input type="radio"
name="showOperation" value="delete" checked> Delete this holiday.
- <img src="<!-- TMPL_VAR
NAME="themelang" -->/images/more.gif" hspace="0" vspace="0" border="0"
style="vertical-align:middle;cursor:pointer"
- onclick="javascript:
additionalInformation('This will delete this holiday rule. In case it is a
repeatable holiday, this option checks for posible exceptions. In case those
exists, this option take care of set this exceptions to regular holidays.')">
- </td>
- </tr>
- <tr>
- <td align="right">
- <input type="submit" name="submit"
id="submit" value="Save">
- </td>
- <td align="left">
- <input type="button" name="cancel2"
id="cancel2" value="Cancel" onclick="javascript:
hidePanel('showHoliday');hidePanel('information')">
- </td>
- </tr>
- </table>
- </form>
-</div>
-
-<!-- ********************************** Panel to deal with new holidays
********************************** -->
-<div class="panel" style="position:absolute" id="newHoliday">
- <form action="/cgi-bin/koha/tools/newHolidays.pl" method="post"
style="display:inline">
- <table style="background-color:#EFEFEF" align="center">
- <tr>
- <th colspan="2">
- <p onclick="javascript:
hidePanel('newHoliday');hidePanel('information')"
- style="cursor:pointer">
- Add new holiday - Hide details
- <img src="<!-- TMPL_VAR
NAME="themelang" -->/images/signClose.gif" hspace="0" vspace="0" border="0"
- style="vertical-align:middle">
- </p>
- </th>
- </tr
- ><tr>
- <td>
- Day name
- </td>
- <td>
- Library
- </td>
- <tr>
- </tr>
- <td>
- <input type="text" size="20"
id="newDayname" name="newDayname" readonly
-
style="background-color:#FFFFFF;color:Black"/>
- <input type="text" size="20"
id="newWeekday" name="newWeekday" readonly
-
style="background-color:#FFFFFF;color:Black"/>
-
- </td>
- <td>
- <input type="text" size="20"
id="newBranchName" name="newBranchName" readonly
-
style="background-color:#FFFFFF;color:Black"/>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <div style="display:inline">
- Day <input type="text"
size="4" id="newDay" name="newDay" readonly
style="background-color:#FFFFFF;color:Black"/>Month <input type="text"
size="4" id="newMonth" name="newMonth" readonly
style="background-color:#FFFFFF;color:Black"/> Year <input type="text"
size="4" id="newYear" name="newYear" readonly
style="background-color:#FFFFFF;color:Black"/>
- </div>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <div style="display:inline">
- Title day
- </div>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- Add a description to holiday day.
- </td>
- </tr>
- <tr>
- <td colspan="2" align="center">
- <textarea rows="4" cols="40"
id="newDescription" name="newDescription"></textarea>
- </td>
- </tr>
- <tr>
- <td colspan="2" align="left">
- <input type="radio" name="newOperation"
value="holiday" checked> Holiday only on this day.
- <img src="<!-- TMPL_VAR
NAME="themelang" -->/images/more.gif" hspace="0" vspace="0" border="0"
style="vertical-align:middle;cursor:pointer"
- onclick="javascript:
additionalInformation('This will take this date to make it holiday just for
this time. Through this option, you can set a single holiday. For example,
suppose you are in August 1st, and only for this year you want to make it
holiday.')">
- <br>
- <input type="radio" name="newOperation"
value="weekday"> Holiday repeated every same day of the week
- <img src="<!-- TMPL_VAR
NAME="themelang" -->/images/more.gif" hspace="0" vspace="0" border="0"
style="vertical-align:middle;cursor:pointer"
- onclick="javascript:
additionalInformation('This will take this week day and make it holiday. No
matter what date it is, this option will repeat this rule for every week. For
example, if this date correspond to a saturday, every saturdays will be
holidays.')">
- <br>
- <input type="radio" name="newOperation"
value="repeatable">Holiday repeated yearly on the same date.
- <img src="<!-- TMPL_VAR
NAME="themelang" -->/images/more.gif" hspace="0" vspace="0" border="0"
style="vertical-align:middle;cursor:pointer"
- onclick="javascript:
additionalInformation('This will take this day and month as a reference to make
it holiday. Through this option, you can repeat this rule for every year. For
example, if this date correspond to a August 1st, every August 1st will be
holiday, no matter what year you are.')">
- </td>
- </tr>
- <tr>
- <td align="right">
- <input type="submit" name="submit"
id="submit" value="Save"/>
- </td>
- <td align="left">
- <input type="button" name="cancel2"
id="cancel2" value="Cancel" onclick="javascript:
hidePanel('newHoliday');hidePanel('information')">
- </td>
- </tr>
- </table>
- </form>
-</div>
-
-
-<!--
********************************************************************************************************
-->
-<!-- ****** END OF FLAT PANELS
****** -->
-<!--
********************************************************************************************************
-->
-
-
-
-<!--
********************************************************************************************************
-->
-<!-- ****** START OF INFORMATION PANEL
****** -->
-<!--
********************************************************************************************************
-->
-
-<div class="information" style="position:absolute" id="information"
onclick="javascript: hidePanel('information')" onblur="javascript:
hidePanel('information')">
- <table>
- <tr>
- <td valign="top">
- <img src="<!-- TMPL_VAR NAME="themelang"
-->/images/info.gif" hspace="0" vspace="0" border="0"
style="vertical-align:middle">
- </td>
- <td valign="top">
- <p id="explanation"
style="display:inline;align:justify"></p>
- </td>
- </tr>
- </table>
-</div>
-
-<!--
********************************************************************************************************
-->
-<!-- ****** END OF INFORMATION PANEL
****** -->
-<!--
********************************************************************************************************
-->
-
-<h1>Define the holidays for branch <!-- TMPL_VAR name="BRANCHES" --></h1>
-
-
-
-<!--
********************************************************************************************************
-->
-<!-- ****** MAIN SCREEN CODE
****** -->
-<!--
********************************************************************************************************
-->
-
- <center>
- <fieldset align="center" style="width:50%">
- <legend></legend>
- <table
style="width:50%;border:0px" align="left">
- <tr>
-
- </tr>
- </table>
- </fieldset>
- </center>
-
- <br>
- <br>
- <table align="center" style="width:50%">
- <tr>
- <th colspan="2">Calendar information<th>
- </tr>
- <tr valign="top" align="center">
- <td align="center" valign="top"
style="padding:2%">
- <div id="calendar-container"
align="center"></div>
- <script type="text/javascript">
- /* Creates all the
structures to deal with all diferents kinds of holidays */
- var week_days = new
Array();
- var holidays = new
Array();
- var exception_holidays
= new Array();
- var day_month_holidays
= new Array();
- var hola= "<!--
TMPL_VAR NAME="code" -->";
- <!-- TMPL_LOOP
NAME="WEEK_DAYS_LOOP" -->
- week_days["<!--
TMPL_VAR NAME="KEY" -->"] = {title:"<!-- TMPL_VAR NAME="TITLE" -->",
description:"<!-- TMPL_VAR NAME="DESCRIPTION" -->"};
- <!-- /TMPL_LOOP -->
- <!-- TMPL_LOOP
NAME="HOLIDAYS_LOOP" -->
- holidays["<!-- TMPL_VAR
NAME="KEY" -->"] = {title:"<!-- TMPL_VAR NAME="TITLE" -->", description:"<!--
TMPL_VAR NAME="DESCRIPTION" -->"};
- <!-- /TMPL_LOOP -->
- <!-- TMPL_LOOP
NAME="EXCEPTION_HOLIDAYS_LOOP" -->
-
exception_holidays["<!-- TMPL_VAR NAME="KEY" -->"] = {title:"<!-- TMPL_VAR
NAME="TITLE" -->", description:"<!-- TMPL_VAR NAME="DESCRIPTION" -->"};
- <!-- /TMPL_LOOP -->
- <!-- TMPL_LOOP
NAME="DAY_MONTH_HOLIDAYS_LOOP" -->
-
day_month_holidays["<!-- TMPL_VAR NAME="KEY" -->"] = {title:"<!-- TMPL_VAR
NAME="TITLE" -->", description:"<!-- TMPL_VAR NAME="DESCRIPTION" -->"};
- <!-- /TMPL_LOOP -->
-
- /* This function gives
css clases to each kind of day */
- function
dateStatusHandler(date) {
- var day =
date.getDate();
- var month =
date.getMonth() + 1;
- var year =
date.getFullYear();
- var weekDay =
date.getDay();
- var dayMonth =
month + '/' + day;
- var dateString
= year + '/' + month + '/' + day;
- if
(exception_holidays[dateString] != null) {
- return
'exception';
- } else if
((week_days[weekDay] != null) || (day_month_holidays[dayMonth] != null)) {
- return
'repeatableday';
- } else if
(holidays[dateString] != null) {
- return
'holiday';
- } else {
- return
'normalday';
- }
- }
-
- /* This function is in
charge of showing the correct panel considering the kind of holiday */
- function
dateChanged(calendar) {
- var day =
calendar.date.getDate();
- var month =
calendar.date.getMonth() + 1;
- var year =
calendar.date.getFullYear();
- var weekDay =
calendar.date.getDay();
- var dayName =
calendar.date.print('%A');
- var dayMonth =
month + '/' + day;
- var dateString
= year + '/' + month + '/' + day;
- if
(calendar.dateClicked) {
- if
(holidays[dateString] != null) {
-
showHoliday(0, dayName, day, month, year, weekDay, holidays[dateString].title,
holidays[dateString].description);
- } else
if (exception_holidays[dateString] != null) {
-
showHoliday(0, dayName, day, month, year, weekDay,
exception_holidays[dateString].title,
exception_holidays[dateString].description);
- } else
if (week_days[weekDay] != null) {
-
showHoliday(1, dayName, day, month, year, weekDay, week_days[weekDay].title,
week_days[weekDay].description);
- } else
if (day_month_holidays[dayMonth] != null) {
-
showHoliday(1, dayName, day, month, year, weekDay,
day_month_holidays[dayMonth].title, day_month_holidays[dayMonth].description);
- } else {
-
newHoliday(dayName, day, month, year, weekDay);
- }
- }
- };
- Calendar.setup(
- {
- flat :
"calendar-container",
-
flatCallback : dateChanged,
-
dateStatusFunc : dateStatusHandler
- }
- );
- </script>
- </td>
- <td align="left" style="padding:2%">
- <fieldset>
- <legend>Legend</legend>
- <div
style="display:inline">
- <img src="<!--
TMPL_VAR NAME="themelang" -->/images/regularDay.jpg" hspace="0" vspace="0"
border="0" style="vertical-align:middle">
- Working day
- </div>
- <br>
- <div
style="display:inline">
- <img src="<!--
TMPL_VAR NAME="themelang" -->/images/regularHoliday.jpg" hspace="0" vspace="0"
border="0" style="vertical-align:middle">
- Holiday
- </div>
- <br>
- <div
style="display:inline">
- <img src="<!--
TMPL_VAR NAME="themelang" -->/images/repeatable.jpg" hspace="0" vspace="0"
border="0" style="vertical-align:middle">
- Repetible
holiday
- </div>
- <br>
- <div
style="display:inline">
- <img src="<!--
TMPL_VAR NAME="themelang" -->/images/exception.jpg" hspace="0" vspace="0"
border="0" style="vertical-align:middle">
- Exception
- </div>
- </fieldset>
- </td>
- </tr>
- </table>
-</div>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/tools/import.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/tools/import.tmpl
diff -N htdocs/intranet-tmpl/default/en/tools/import.tmpl
--- htdocs/intranet-tmpl/default/en/tools/import.tmpl 10 Mar 2007 01:54:30
-0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,58 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- Cataloging: MARC
Import<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="acqui-topmenu.inc" -->
-<!-- TMPL_INCLUDE NAME="intranet-nav.inc" -->
-
-<div id="main">
-
-<h1>MARC acquisition system</h1>
-<h4>Import into the reservoir</h4>
-
-<!-- TMPL_IF name="uploadmarc" -->
-<p>Import results :</p>
-<ul>
- <li><!-- TMPL_VAR name="imported" --> imported records</li>
- <li><!-- TMPL_VAR name="alreadyindb" --> not imported because already
in catalog</li>
- <li><!-- TMPL_VAR name="alreadyinfarm" --> not imported because already
in the reservoir</li>
- <li><!-- TMPL_VAR name="notmarcrecord" --> not imported because they
seem not to be in MARC format (or ISBN/ISSN missing) !</li>
- <li><!-- TMPL_VAR name="total" --> records parsed</li>
- <li><a href="/cgi-bin/koha/admin-home.pl">Back</a></li>
-</ul>
-<!-- TMPL_ELSE -->
-<ul>
- <li>Select a file to import into the reservoir. It will be parsed, and
for each ISBN found, a new baby will be created in the reservoir.</li>
- <li>If an ISBN already exists in the reservoir, you can choose whether
to ignore the new one or overwrite the old one.</li>
- <li>You can enter a name for this import. It may be useful, when
creating a biblio, to remember where the suggested MARC data comes from!</li>
- <li>Of course, if the ISBN already exists in the active DB, the biblio
will be ignored.</li>
-</ul>
-<form method="post" action="<!-- TMPL_VAR name="SCRIPT_NAME" -->"
enctype="multipart/form-data">
-<table>
- <tr>
- <th scope="row"><label for="uploadmarc">Select the file to
import: </label></th>
- <td>
- <input type="file" id="uploadmarc" name="uploadmarc"
/><br />
- </td>
- </tr>
- <tr>
- <th scope="row"><label for="filename">Name of this import:
</label></th>
- <td>
- <input type="text" id="filename" name="filename" />
- </td>
- </tr>
- <tr>
- <th scope="row"><label for="syntax">Character encoding:
</label></th>
- <td>
- <select name="syntax" id="syntax"><option
value="MARC21">MARC21</option><option value="UNIMARC">UNIMARC</option></select>
- </td>
- </tr>
- <tr>
- <th scope="row" rowspan="2">If ISBN is already in the
reservoir: </th>
- <td><input type="radio" name="overwrite_biblio" value="0"
checked="checked" />Ignore this one, keep the existing one</td></tr>
-<tr><td>
- <input type="radio" name="overwrite_biblio" value="1"
/>Overwrite the existing one with this</td>
- </tr>
-</table><input type="submit" value="Import" />
-</form>
-<!-- /TMPL_IF -->
-</div>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/tools/koha-news.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/tools/koha-news.tmpl
diff -N htdocs/intranet-tmpl/default/en/tools/koha-news.tmpl
--- htdocs/intranet-tmpl/default/en/tools/koha-news.tmpl 10 Mar 2007
01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,104 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->System Administration<!--
TMPL_INCLUDE NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="masthead.inc" -->
-<!-- TMPL_INCLUDE NAME="intranet-nav.inc" -->
-<div id="main">
- <h1> OPAC & KOHA News</h1>
- <!-- TMPL_IF name="add_form" -->
-
- <form name="add_form" method="post"
action="/cgi-bin/koha/tools/koha-news.pl" >
- <input type="hidden" name="op" value="<!-- TMPL_VAR
NAME="op" -->">
- <input type="hidden" name="id" value="<!-- TMPL_VAR
NAME="id" -->">
- <table style="border:0" cellspacing="0" cellpadding="2">
- <tr>
- <td>Language</td>
- </td>
- <td>
- <select name="lang">
- <option value="">All news</option>
- <option value="koha">Librarian
interface</option>
- <!-- TMPL_LOOP name="lang_list" -->
-
- <option value="<!-- TMPL_VAR
name="language" -->" <!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF
-->><!-- TMPL_VAR name="language" --> </option>
- <!-- /TMPL_LOOP -->
- </select>
- </td>
- </tr>
- <tr>
- <td>Title</td>
- <td><input size="30" type="text"
name="title" value="<!-- TMPL_VAR NAME="title" -->"></td>
- </tr>
- <tr>
- <td>News</td>
- <td><textarea name="new" cols="35"
rows="4"><!-- TMPL_VAR NAME="new" --></textarea></td>
- </tr>
- <tr>
- <td colspan="2">
- <input class="button"
type="submit" value="Save">
- <input class="button"
type="button" value="Cancel"
onclick="window.location.href='/cgi-bin/koha/tools/koha-news.pl'">
- </td>
- </tr>
- </table>
- </form>
-
-
- <!-- TMPL_ELSE -->
-
- <!-- TMPL_IF NAME="opac_news_count" -->
-
- <form name="add_form" method="post"
action="/cgi-bin/koha/tools/koha-news.pl" >
- Language:
-
- <select name="lang">
- <option value="">All news</option>
- <option value="koha">Librarian
interface</option>
- <!-- TMPL_LOOP name="lang_list" -->
-
- <option value="<!-- TMPL_VAR
name="language" -->" <!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF
-->><!-- TMPL_VAR name="language" --> </option>
- <!-- /TMPL_LOOP -->
- </select>
-
- <input type="submit" class="button" value="Filter">
- </form>
-
- <form name="del_form" method="post"
action="/cgi-bin/koha/tools/koha-news.pl" onsubmit="return confirm('¿Are you
sure you want to delete the selected news?')">
- <table border="0" cellspacing="0"
cellpadding="3">
- <tr bgcolor="#99cc33">
- <th></td>
- <th
style="padding-left:3px;padding-right:3px">Language</th>
- <th>Date</th>
- <th width="20%">Title</th>
- <th>News</th>
- <th></th>
- </tr>
-
- <!-- TMPL_LOOP NAME="opac_news" -->
- <tr>
- <td width="5%"><input
type="checkbox" name="ids" value="<!-- TMPL_VAR NAME="idnew" -->"</td>
- <td align="center"><!--
TMPL_VAR NAME="lang" --></td>
- <td><!-- TMPL_VAR
NAME="newdate" --></td>
- <td align="center"><!--
TMPL_VAR NAME="title" --></td>
- <td><!-- TMPL_VAR
NAME="new" --></td>
- <td width="5%">
- <a
href="/cgi-bin/koha/tools/koha-news.pl?op=add_form&id=<!-- TMPL_VAR
NAME="idnew" -->">Edit</a>
- </td>
- </tr>
- <!-- /TMPL_LOOP -->
-
- </table>
- <input type="hidden" name="op"
value="del">
- <input type="submit" class="button"
value="Delete selected">
- </form>
- <!-- TMPL_ELSE -->
- <h5>No news loaded</h5>
- <!-- /TMPL_IF -->
-
- <form name="add_form" method="post"
action="/cgi-bin/koha/tools/koha-news.pl">
- <input type="hidden" name="op" value="add_form">
- <input type="submit" class="button" value="Add news">
- </form>
-
-
- <!-- /TMPL_IF -->
-
-</div>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/tools/letter.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/tools/letter.tmpl
diff -N htdocs/intranet-tmpl/default/en/tools/letter.tmpl
--- htdocs/intranet-tmpl/default/en/tools/letter.tmpl 10 Mar 2007 01:54:30
-0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,290 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
- Letters admin
-<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
-<!-- TMPL_INCLUDE NAME="menus.inc" -->
-<!-- TMPL_INCLUDE NAME="menu-tools.inc" -->
-
- <!-- TMPL_IF NAME="else" -->
- <form action="/cgi-bin/koha/tools/letter.pl" method="post">
- <input type="text" name="searchfield" value="">
- <input type="submit" class="button" value="Filter"></form>
- <!-- TMPL_IF NAME="search" -->
- <br>You Searched for <b><!-- TMPL_VAR NAME="searchfield"
--></b><p><br>
- <!-- /TMPL_IF -->
- <table>
- <tr>
- <th>Module</th>
- <th>Code</th>
- <th>Name</th>
- <th> </th>
- <th> </th>
- </tr>
- <!-- TMPL_LOOP NAME="letter" -->
- <tr bgcolor=<!-- TMPL_VAR NAME="toggle" --> >
- <td><!-- TMPL_VAR NAME="module" --></td>
- <td><!-- TMPL_VAR NAME="code" --></td>
- <td><!-- TMPL_VAR NAME="name" --></td>
- <td>
- <a
href="/cgi-bin/koha/tools/letter.pl?op=add_form&module=<!-- TMPL_VAR
name="module" -->&code=<!-- TMPL_VAR NAME="code" -->">
- <img src="<!-- TMPL_VAR
NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/fileopen.png"
width="32" hspace="0" vspace="0" border="0">
- </a>
- </td>
- <td>
- <a
href="/cgi-bin/koha/tools/letter.pl?op=delete_confirm&module=<!-- TMPL_VAR
name="module"-->&code=<!-- TMPL_VAR NAME="code" -->">
- <img src="<!-- TMPL_VAR
NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/edittrash.png"
width="32" hspace="0" vspace="0" border="0">
- </a>
- </td>
- </tr>
- <!-- /TMPL_LOOP -->
- </table>
- <form action="/cgi-bin/koha/tools/letter.pl" method="post">
- <input type="hidden" name="op" value="add_form">
- <br>
- <input type="submit" class="button" value="Add Letter"
title="Add Letter" alt="Add Letter">
- <br>
- </form>
- <br clear="all">
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF NAME="add_form" -->
- <script language="javascript" type="text/javascript">
- function _(s) { return s } // dummy function for gettext
-
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- function isNotNull(f,noalert) {
- if (f.value.length ==0) {
- return false;
- }
- return true;
- }
-
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- function toUC(f) {
- var x=f.value.toUpperCase();
- f.value=x;
- return true;
- }
-
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- function isNum(v,maybenull) {
- var n = new Number(v.value);
- if (isNaN(n)) {
- return false;
- }
- if (maybenull==0 && v.value=='') {
- return false;
- }
- return true;
- }
-
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- function isDate(f) {
- var t = Date.parse(f.value);
- if (isNaN(t)) {
- return false;
- }
- }
-
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- function Check(f) {
- var ok=1;
- var _alertString="";
- var alertString2;
-/* if (!(isNotNull(window.document.Aform.code))) {
- _alertString += "\n- " + _("Code missing");
- }*/
-/* if (!(isNotNull(window.document.Aform.name))) {
- _alertString += "\n- " + _("Name missing");
- }*/
- if (_alertString.length==0) {
- document.Aform.submit();
- } else {
- alertString2 = _("Form not submitted because
of the following problem(s)");
- alertString2 +=
"\n------------------------------------------------------------------------------------\n";
- alertString2 += _alertString;
- alert(alertString2);
- }
- }
- // GPL code coming from PhpMyAdmin
- function insertValueQuery() {
- var myQuery = document.Aform.content;
- var myListBox = document.Aform.SQLfieldname;
-
- if(myListBox.options.length > 0) {
- var chaineAj = "";
- var NbSelect = 0;
- for(var i=0; i<myListBox.options.length; i++) {
- if (myListBox.options[i].selected){
- NbSelect++;
- if (NbSelect > 1)
- chaineAj += ", ";
- chaineAj +=
myListBox.options[i].value;
- }
- }
-
- //IE support
- if (document.selection) {
- myQuery.focus();
- sel = document.selection.createRange();
- sel.text = chaineAj;
- document.Aform.insert.focus();
- }
- //MOZILLA/NETSCAPE support
- else if (document.Aform.content.selectionStart
|| document.Aform.content.selectionStart == "0") {
- var startPos =
document.Aform.content.selectionStart;
- var endPos =
document.Aform.content.selectionEnd;
- var chaineSql =
document.Aform.content.value;
- myQuery.value = chaineSql.substring(0,
startPos) +'<<'+ chaineAj+'>>' + chaineSql.substring(endPos, chaineSql.length);
- } else {
- myQuery.value += chaineAj;
- }
- }
- }
-
- </script>
- <div id="bloc25">
- <!-- TMPL_IF name="modify" -->
- <h2 class="parameters">Modify letter</h2>
- <!-- TMPL_ELSE -->
- <h2 class="parameters">Add letter</h2>
- <!-- /TMPL_IF -->
- <form action="/cgi-bin/koha/tools/letter.pl" name="Aform"
method="post">
- <input type="hidden" name="op" value="add_validate">
- <input type="hidden" name="checked" value="0">
- <!-- TMPL_IF NAME="modify" -->
- <p>
- <label class="label100">Koha module:</label>
- <select name="module">
- <!-- TMPL_IF name="acquisition" -->
- <option value="acquisition"
selected>Acquisition</option>
- <!-- TMPL_ELSE -->
- <option
value="acquisition">Acquisition</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="catalogue" -->
- <option value="catalogue"
selected>Catalogue</option>
- <!-- TMPL_ELSE -->
- <option
value="catalogue">Catalogue</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="serial" -->
- <option value="serial"
selected>Serial</option>
- <!-- TMPL_ELSE -->
- <option
value="serial">Serial</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="circulation" -->
- <option value="circulation"
selected>Circulation</option>
- <!-- TMPL_ELSE -->
- <option
value="circulation">Circulation</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="members" -->
- <option value="members"
selected>Members</option>
- <!-- TMPL_ELSE -->
- <option
value="members">Members</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="authorities" -->
- <option value="authorities"
selected>Authorities</option>
- <!-- TMPL_ELSE -->
- <option
value="authorities">Authorities</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="reports" -->
- <option value="reports"
selected>Reports</option>
- <!-- TMPL_ELSE -->
- <option
value="reports">Reports</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="parameters" -->
- <option value="parameters"
selected>Parameters</option>
- <!-- TMPL_ELSE -->
- <option
value="parameters">Parameters</option>
- <!-- /TMPL_IF -->
- </select>
- </p>
- <p>
- <label class="label100">Code:</label><input
type="hidden" name="code" value="<!-- TMPL_VAR NAME="code" -->"><!-- TMPL_VAR
NAME="code" -->
- </p>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF NAME="adding" -->
- <p>
- <label class="label100">Koha module:</label>
- <select name="module">
- <option
value="acquisition">Acquisition</option>
- <option
value="catalogue">Catalogue</option>
- <option
value="serial">Serial</option>
- <option
value="circulation">Circulation</option>
- <option
value="members">Members</option>
- <option
value="authorities">Authorities</option>
- <option
value="reports">Reports</option>
- <option
value="parameters">Parameters</option>
- </select>
- </p>
- <p>
- <label class="label100">Code:</label><input
type="text" name="code" size="20" maxlength="20">
- </p>
- <!-- /TMPL_IF -->
-
- <p>
- <label class="label100">Name:</label><input type="text"
name="name" size="100" value="<!-- TMPL_VAR NAME="name" -->">
- </p>
- <p>
- <label class="label100">Title (mail
subject):</label><input type="text" name="title" size="100" value="<!--
TMPL_VAR NAME="title" -->">
- </p>
- <p>
- <label class="label100">Content (mail content):</label>
- </p>
- <p><textarea name="content" cols="80" rows="10"><!-- TMPL_VAR
NAME="content" --></textarea>
- <input type="button" name="insert" value="<<"
onclick="insertValueQuery()" title="Insert" />
- <select name="SQLfieldname" size=10>
- <!-- TMPL_LOOP name="SQLfieldname" -->
- <option value="<!-- TMPL_VAR
name="value"-->"><!-- TMPL_VAR name="text"--></option>
- <!-- /TMPL_LOOP -->
- </select>
- </p>
- <p><input type="button" value="OK" onclick="Check(this.form)"
class="button"></p>
- </form>
- </div>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF NAME="add_validate" -->
- Data recorded
- <form action="<!-- TMPL_VAR NAME="action" -->" method="post">
- <input type="submit" value="OK">
- </form>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF NAME="delete_confirm" -->
- <table border="0" cellspacing="0" cellpadding="5">
- <tr valign="top" bgcolor="#99cc33">
- <td background="<!-- TMPL_VAR NAME="themelang"
-->/images/background-mem.gif">
- <b>module / Code</b>
- </td>
- <td background="<!-- TMPL_VAR NAME="themelang"
-->/images/background-mem.gif">
- <b><!-- TMPL_VAR name="module"--> / <!--
TMPL_VAR NAME="code" --></b>
- </td>
- </tr>
-
- <form action="<!-- TMPL_VAR NAME="action" -->"
method="post"><input type="hidden" name="op" value="delete_confirmed">
- <input type="hidden" name="code" value="<!-- TMPL_VAR
NAME="code" -->">
- <input type="hidden" name="module" value="<!-- TMPL_VAR
NAME="module" -->">
- <tr>
- <td>Name</td>
- <td><!-- TMPL_VAR NAME="Name" --></td>
- </tr>
- <tr>
- <td colspan="2" align="center">CONFIRM DELETION</td>
- </tr>
- <tr>
- <td>
- <input type="submit" value="YES">
- </form>
- </td>
- <td>
- <form action="<!-- TMPL_VAR NAME="action" -->"
method="post">
- <input type="submit" value="NO">
- </form>
- </td>
- </tr>
- </table>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF NAME="delete_confirmed" -->
- Data deleted
- <form action="<!-- TMPL_VAR NAME="action" -->" method="post">
- <input type="submit" value="OK">
- </form>
- <!-- /TMPL_IF -->
-</div>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
\ No newline at end of file
Index: htdocs/intranet-tmpl/default/en/tools/overduerules.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/tools/overduerules.tmpl
diff -N htdocs/intranet-tmpl/default/en/tools/overduerules.tmpl
--- htdocs/intranet-tmpl/default/en/tools/overduerules.tmpl 10 Mar 2007
01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,107 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- System Administration:
Overdue Rules<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
-
-<!-- TMPL_INCLUDE NAME="menus.inc" -->
-<!-- TMPL_INCLUDE NAME="menu-admin.inc" -->
-
- <h1>Defining <!-- TMPL_IF NAME="branch" -->overdue rules for <!--
TMPL_VAR NAME="branch" --><!-- TMPL_ELSE -->default overdue rules<!-- /TMPL_IF
--></h1>
- <div class="help">
- <p>Overdue will be taken into account provided that you input
delays as numbers only.</p>
- <p>Delay is a number of days for the older issue to be taken
into account before doing an action (Sending a letter)</p>
- <p>If you want Koha to do an action (send a letter or debar
member), delay is needed.</p>
- <p>Column 1 is supposed to be filled in first, then Second one
then Third one.</p>
- </div>
- <form method="post"
action="/cgi-bin/koha/tools/overduerules.pl">
- <label for="branch">Select a branch :</label>
- <select id="branch" name="branch">
- <option value="">Default</option>
- <!-- TMPL_LOOP NAME="branchloop" -->
- <option value="<!-- TMPL_VAR NAME="value"
-->"<!-- TMPL_IF NAME="selected" --> selected="selected"<!-- /TMPL_IF -->><!--
TMPL_VAR NAME="branchname" --></option><!-- /TMPL_LOOP --></select>
- <input type="submit" value="Select" />
- </form>
- <!--TMPL_IF Name="ERROR"-->
- <h3>Data error</h3>
- <p>The following fields have a forbidden value. Correct
them and press OK again :</p><ul>
- <!-- TMPL_IF NAME="ERRORDELAY" -->
- <li>Delay <!--TMPL_VAR Name="ERRORDELAY"--> for
<!--TMPL_VAR Name="bor"--> borrower category have some unexpected characters.
There should be only numerical characters. </li>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF NAME="ERRORORDER" -->
- <li>Delay1 should be less than Delay2 which
should be less than Delay3 for <!--TMPL_VAR Name="bor"--> borrower category
</li>
- <!-- /TMPL_IF -->
- </ul>
- <!--/TMPL_IF -->
- <form method="post"
action="/cgi-bin/koha/tools/overduerules.pl">
- <input type="hidden" name="op" value="save" />
-
- <table>
- <caption>Defining Overdue rules for <!--TMPL_IF
Name="branch"--><!-- TMPL_VAR NAME="branch" --><!--TMPL_ELSE--> default branch
<!--/TMPL_IF--> <!--TMPL_IF Name="datasaved"-->
- <br /><h3 align="center">INPUT SAVED</h3>
- <!--/TMPL_IF -->
- </caption>
- <tr>
- <th> </th><th colspan="3"
scope="col">First</th><th colspan="3" scope="col">Second</th><th colspan="3"
scope="col">Third</th>
- </tr>
- <tr>
- <th> </th><th scope="col">Delay</th><th
scope="col">Letter</th><th scope="col">Debarred</th><th
scope="col">Delay</th><th scope="col">Letter</th><th
scope="col">Debarred</th><th scope="col">Delay</th><th
scope="col">Letter</th><th scope="col">Debarred</th>
- </tr>
- <!-- TMPL_LOOP NAME="table" -->
- <tr>
- <th><!-- TMPL_VAR NAME="line" --></th>
- <td<!-- TMPL_IF NAME="toggle" -->
class="highlight"<!-- /TMPL_IF -->>
- <input name="delay1-<!--
TMPL_VAR NAME="overduename" -->" size="5" value="<!-- TMPL_VAR NAME="delay1"
-->" />
- </td>
- <td<!-- TMPL_IF NAME="toggle" -->
class="highlight"<!-- /TMPL_IF -->>
- <!--TMPL_IF Name="noletter"
--><input type="text" name="letter1-<!-- TMPL_VAR NAME="overduename" -->"
value="<!--TMPL_VAR Name="letter1"-->"/>
- <!--TMPL_ELSE -->
- <select
name="letter1-<!-- TMPL_VAR NAME="overduename" -->">
- <option
value="">Default</option>
- <!-- TMPL_LOOP
name="letterloop1" -->
- <option
value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF name="selected"
-->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="lettername" --></option>
- <!-- /TMPL_LOOP
-->
- </select>
- <!--/TMPL_IF -->
- </td>
- <td<!-- TMPL_IF NAME="toggle" -->
class="highlight"<!-- /TMPL_IF -->>
- <input type="checkbox"
name="debarred1-<!-- TMPL_VAR NAME="overduename" -->" <!-- TMPL_IF
NAME="debarred1" -->checked<!-- /TMPL_IF --> value="1" />
- </td>
- <td<!-- TMPL_IF NAME="toggle" -->
class="highlight"<!-- /TMPL_IF -->>
- <input name="delay2-<!--
TMPL_VAR NAME="overduename" -->" size="5" value="<!-- TMPL_VAR NAME="delay2"
-->" />
- </td>
- <td<!-- TMPL_IF NAME="toggle" -->
class="highlight"<!-- /TMPL_IF -->>
- <!--TMPL_IF Name="noletter"
--><input type="text" name="letter2-<!-- TMPL_VAR NAME="overduename" -->"
value="<!--TMPL_VAR Name="letter2"-->"/>
- <!--TMPL_ELSE -->
- <select
name="letter2-<!-- TMPL_VAR NAME="overduename" -->">
- <option
value="">Default</option>
- <!-- TMPL_LOOP
name="letterloop2" -->
- <option
value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF name="selected"
-->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="lettername" --></option>
- <!-- /TMPL_LOOP
-->
- </select>
- <!--/TMPL_IF -->
- </td>
- <td<!-- TMPL_IF NAME="toggle" -->
class="highlight"<!-- /TMPL_IF -->>
- <input type="checkbox"
name="debarred2-<!-- TMPL_VAR NAME="overduename" -->" <!-- TMPL_IF
NAME="debarred2" -->checked<!-- /TMPL_IF --> value="1" />
- </td>
- <td<!-- TMPL_IF NAME="toggle" -->
class="highlight"<!-- /TMPL_IF -->>
- <input name="delay3-<!--
TMPL_VAR NAME="overduename" -->" size="5" value="<!-- TMPL_VAR NAME="delay3"
-->" />
- </td>
- <td<!-- TMPL_IF NAME="toggle" -->
class="highlight"<!-- /TMPL_IF -->>
- <!--TMPL_IF Name="noletter"
--><input type="text" name="letter3-<!-- TMPL_VAR NAME="overduename" -->"
value="<!--TMPL_VAR Name="letter3"-->"/>
- <!--TMPL_ELSE -->
- <select
name="letter3-<!-- TMPL_VAR NAME="overduename" -->">
- <option
value="">Default</option>
- <!-- TMPL_LOOP
name="letterloop3" -->
- <option
value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF name="selected"
-->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="lettername" --></option>
- <!-- /TMPL_LOOP
-->
- </select>
- <!--/TMPL_IF -->
- </td>
- <td<!-- TMPL_IF NAME="toggle" -->
class="highlight"<!-- /TMPL_IF -->>
- <input type="checkbox"
name="debarred3-<!-- TMPL_VAR NAME="overduename" -->" <!-- TMPL_IF
NAME="debarred3" -->checked<!-- /TMPL_IF --> value="1" />
- </td>
- </tr>
- <!-- /TMPL_LOOP -->
- </table>
-
- <input type="submit" value="Save Changes" />
- </form>
-
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/tools/printerConfig.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/tools/printerConfig.tmpl
diff -N htdocs/intranet-tmpl/default/en/tools/printerConfig.tmpl
--- htdocs/intranet-tmpl/default/en/tools/printerConfig.tmpl 10 Mar 2007
01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,83 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-barcodes.inc" -->
-
- <h1>Printer Configuration</h1>
- <h3>Set printer configuration corresponding to your environment</h3>
- <ul>
- <li>Set width and height of the label that you are going to
work with.</li>
- <li>Set your system's default DPI.</li>
- <li>Set the page type.</li>
- <li>Select how many columns and rows are in your page type.</li>
- <li>Set left- and bottom-margins of the page that you are going
to use. This parameter will help to center the barcodes on the labels.</li>
- </ul>
- <br>
- <form id="formulario" method="POST" action="<!-- TMPL_VAR
NAME="SCRIPT_NAME" -->" name="form1">
- <input type="hidden" name="saveSettings" value="1" />
- <table>
- <tr>
- <th scope="row">
- Label width (Expressed in mm)
- </th><td>
- <input id="labelWidth" type="text"
name="labelWidth" size="5"
- value="<!-- TMPL_VAR
NAME="LABEL_WIDTH" -->">
- </td></tr>
- <th scope="row">
- Label heigth (Expressed in mm)
- </th><td>
- <input id="labelHeigth" type="text"
name="labelHeigth" size="5"
- value="<!-- TMPL_VAR
NAME="LABEL_HEIGTH" -->">
- </td></tr>
- <th scope="row">
- System dpi
- </th><td>
- <input id="systemDpi" type="text"
name="systemDpi" size="5"
- value="<!-- TMPL_VAR
NAME="SYSTEM_DPI" -->">
- </td></tr>
- <th scope="row">
- Page Type
- </th> <td>
- <select name="pageType" id="pageType"
size="1">
- <!-- TMPL_IF name="A4" -->
- <option value="A4"
selected>A4</option>
- <!-- TMPL_ELSE -->
- <option
value="A4">A4</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="Letter" -->
- <option value="Letter"
selected>Letter</option>
- <!-- TMPL_ELSE -->
- <option
value="Letter">Letter</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="Legal" -->
- <option value="Legal"
selected>Legal</option>
- <!-- TMPL_ELSE -->
- <option
value="Legal">Legal</option>
- <!-- /TMPL_IF -->
- </select>
- </td></tr>
- <th scope="row">
- Columns
- </th> <td>
- <input id="columns" type="text"
name="columns" size="5"
- value="<!-- TMPL_VAR
NAME="COLUMNS" -->">
- </td></tr>
- <th scope="row">
- Rows
- </th> <td>
- <input id="rows" type="text"
name="rows" size="5"
- value="<!-- TMPL_VAR NAME="ROWS"
-->">
- </td></tr>
- <th scope="row">
- Margin Bottom (Expressed in mm)
- </th> <td>
- <input id="marginBottom" type="text"
name="marginBottom" size="5"
- value="<!-- TMPL_VAR
NAME="MARGIN_TOP" -->">
- </td></tr>
- <th scope="row">
- Margin Left (Expressed in mm)
- </th> <td>
- <input id="marginLeft" type="text"
name="marginLeft" size="5"
- value="<!-- TMPL_VAR
NAME="MARGIN_LEFT" -->">
- </td></tr>
- </table><input type="submit" value="Save Settings" />
- </form>
-
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/tools/tools-home.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/tools/tools-home.tmpl
diff -N htdocs/intranet-tmpl/default/en/tools/tools-home.tmpl
--- htdocs/intranet-tmpl/default/en/tools/tools-home.tmpl 10 Mar 2007
01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,48 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- System
Administration<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
-
-<!-- TMPL_INCLUDE NAME="menus.inc" -->
-<!-- TMPL_INCLUDE NAME="menu-tools.inc" -->
-
-<h1>Koha tools</h1>
-
-<table>
-<caption>Various tools</caption>
- <tr>
- <th><a
href="/cgi-bin/koha/z3950/zebraqueue_windows_start.pl">ZEBRA queue starter--for
Windows</a></th>
- <td> Starts Zebra queue if stopped or system restarted. ZEBRA
queue is required for the system to update ZEBRA</td>
- </tr>
-<tr>
- <th><a href="/cgi-bin/koha/tools/barcodes.pl">Barcode generator</a></th>
- <td>Generate your barcodes</td>
-</tr>
-<tr>
- <th><a href="/cgi-bin/koha/tools/holidays.pl">Holidays</a></th>
- <td>Define holidays (days where the library is closed)</td>
-</tr>
-<tr>
- <th><a href="/cgi-bin/koha/tools/export.pl">Export</a></th>
- <td>Export datas</td>
-</tr>
-<tr>
- <th><a href="/cgi-bin/koha/tools/import.pl">Import</a></th>
- <td>Import datas in the reservoir</td>
-</tr>
-<tr>
- <th><a href="/cgi-bin/koha/tools/koha-news.pl">News</a></th>
- <td>A basic news system for OPAC & librarian interfaces</td>
-</tr>
-<tr>
- <th><a href="/cgi-bin/koha/tools/letter.pl">Letters</a></th>
- <td>Define letters </td>
-</tr>
-<tr>
- <th><a href="/cgi-bin/koha/tools/overduerules.pl">overdue rules</a></th>
- <td>Rules for overdue books</td>
-</tr>
-<th><a href="/cgi-bin/koha/barcodes/cbarcodes.pl">Membership cards</a></th>
- <td>create membership cards from member cardnumbers
- </td>
-</table>
-
-
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
Index: htdocs/intranet-tmpl/default/en/value_builder/marc21_008_holdings.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/value_builder/marc21_008_holdings.tmpl
diff -N htdocs/intranet-tmpl/default/en/value_builder/marc21_008_holdings.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/marc21_008_holdings.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,688 +0,0 @@
-<html>
-<head>
-<title>Leader builder</title>
-</head>
-<body>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>0-5 Date entered on file</td>
- <td>(auto-filled)</td>
- <td><input type="text" name="f1" maxlength=6 size=7 value="<!--
TMPL_VAR name="f1" -->"></td>
- </tr>
- <tr>
-
- <td>06- Receive Status</td>
- <td>
-
- <select name="f6" size="1">
- <!-- TMPL_IF name="f60" -->
- <option value="0" SELECTED>0- Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Unknown</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f61" -->
- <option value="1" SELECTED>1- Other receipt
status</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Other receipt
status</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f62" -->
- <option value="2" SELECTED>2- Complete or
ceased</option>
- <!-- TMPL_ELSE -->
- <option value="2">2- Complete or ceased</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f63" -->
- <option value="3" SELECTED>3- On order</option>
- <!-- TMPL_ELSE -->
- <option value="3">3- On order</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f64" -->
- <option value="4" SELECTED>4-Currently
Received</option>
- <!-- TMPL_ELSE -->
- <option value="4">4- Currently Received</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f65" -->
- <option value="5" SELECTED>5- Not currently
received</option>
- <!-- TMPL_ELSE -->
- <option value="5">3- Not currently</option>
- <!-- /TMPL_IF -->
-
- </select>
- </td>
- </tr>
- <tr>
- <td>7- Method of acquisition </td>
- <td>
- <select name="f7" size="1">
- <!-- TMPL_IF name="f7c" -->
- <option value="c" SELECTED>c- Coop/consotial
purch.</option>
- <!-- TMPL_ELSE -->
- <option value="c">0- Coop/consotial
purch.</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f7d" -->
- <option value="d" SELECTED>d- Deposit</option>
- <!-- TMPL_ELSE -->
- <option value="d">1- Deposit</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7e" -->
- <option value="e" SELECTED>e-Exchange</option>
- <!-- TMPL_ELSE -->
- <option value="e">2- Exchange</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7f" -->
- <option value="f" SELECTED>f- Free</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Free</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7g" -->
- <option value="g" SELECTED>g- Gift</option>
- <!-- TMPL_ELSE -->
- <option value="g">g- Gift</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7m" -->
- <option value="m" SELECTED>m-
Membership</option>
- <!-- TMPL_ELSE -->
- <option value="m">m- Membership</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7n" -->
- <option value="n" SELECTED>n- Non library
Purchase</option>
- <!-- TMPL_ELSE -->
- <option value="n">n-Non library
Purchase</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7p" -->
- <option value="p" SELECTED>p- Purchase</option>
- <!-- TMPL_ELSE -->
- <option value="p">p- Purchase</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7u" -->
- <option value="u" SELECTED>u- Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unknown</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7z" -->
- <option value="z" SELECTED>z- Other
method</option>
- <!-- TMPL_ELSE -->
- <option value="z">z- Other method</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>08-11 Expected acquisition end date (yymm)</td>
- <td><input type="text" name="f81" size="4" maxlength="4"
value="<!-- TMPL_VAR NAME="f81" -->"/>
-
- <select name="f8" size="4">
- <!-- TMPL_IF name="f8uuuu" -->
- <option value="uuuu" SELECTED>uuuu-Intent to
cancel</option>
- <!-- TMPL_ELSE -->
- <option value="uuuu">uuuu- Intent to
cancel</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f8||||" -->
- <option value="||||" SELECTED>N/A</option>
- <!-- TMPL_ELSE -->
- <option value="||||">N/A</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr>
- <td>12- General retention Policy</td>
- <td>
- <select name="f12" size="1">
- <!-- TMPL_IF name="f120" -->
- <option value="0" SELECTED>0- Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Unknown</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f121" -->
- <option value="1" SELECTED>1- Other general
retention policy</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Other general retention
policy</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f122" -->
- <option value="2" SELECTED>2- Retained except
as replaced by updates</option>
- <!-- TMPL_ELSE -->
- <option value="2">2- Retained except as
replaced by updates</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f123" -->
- <option value="3" SELECTED>3- Sample issue
retained</option>
- <!-- TMPL_ELSE -->
- <option value="3">3- Sample issue
retained</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f124" -->
- <option value="4" SELECTED>4-Currently
Received</option>
- <!-- TMPL_ELSE -->
- <option value="4">4- Currently Received</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f125" -->
- <option value="5" SELECTED>5- Retained until
replaced by microform</option>
- <!-- TMPL_ELSE -->
- <option value="5">3- Retained until replaced by
microform</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f126" -->
- <option value="6" SELECTED>6 - Retained for a
limited period</option>
- <!-- TMPL_ELSE -->
- <option value="6">6 - Retained for a limited
period</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f127" -->
- <option value="7" SELECTED>7-Not
retained</option>
- <!-- TMPL_ELSE -->
- <option value="7">7-Not retained</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f128" -->
- <option value="8" SELECTED>8- Permanently
reatined</option>
- <!-- TMPL_ELSE -->
- <option value="8">8-Permanently
reatined</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>18-21 Illustrations </td>
- <td>(auto-filled from 300)<input type="hidden" name="f1821"
size="4" maxlength="4" value="<!-- TMPL_VAR NAME="f1821" -->"/></td>
- </tr>
- <tr>
- <!-- 22 Target Audience -->
- <td>22- Target Audience</td>
- <td>
- <select name="f22" size="1">
-
- <!-- TMPL_IF name="f22|" -->
- <option value="|" SELECTED>|- Default</option>
- <!-- TMPL_ELSE -->
- <option value="|">|- Default</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f220" -->
- <option value=" " SELECTED>#- Unknown or not
specified</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- Unknown or not specified</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22a" -->
- <option value="a" SELECTED>a- Preschool</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Preschool</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22b" -->
- <option value="b" SELECTED>b- Primary</option>
- <!-- TMPL_ELSE -->
- <option value="b">b- Primary</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22c" -->
- <option value="c" SELECTED>c- Elementary and junior
high</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Elementary and junior
high</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22d" -->
- <option value="d" SELECTED>d- Secondary (senior
high)</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Secondary (senior high)</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22e" -->
- <option value="e" SELECTED>e- Adult</option>
- <!-- TMPL_ELSE -->
- <option value="e">e- Adult</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22f" -->
- <option value="f" SELECTED>f- Specialized</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Specialized</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22g" -->
- <option value="g" SELECTED>g- General</option>
- <!-- TMPL_ELSE -->
- <option value="g">g- General</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22j" -->
- <option value="j" SELECTED>j- Juvenile</option>
- <!-- TMPL_ELSE -->
- <option value="j">j- Juvenile</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- <tr>
- <tr>
- <!-- 23 Form of an item -->
- <td>23- Form of an item</td>
- <td>
- <select name="f23" size="1">
-
- <!-- TMPL_IF name="f230" -->
- <option value=" " SELECTED>#- None of the
following</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- None of the following</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23a" -->
- <option value="a" SELECTED>a- Microfilm</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Microfilm</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23b" -->
- <option value="b" SELECTED>b- Microfiche</option>
- <!-- TMPL_ELSE -->
- <option value="b">b- Microfiche</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23c" -->
- <option value="c" SELECTED>a- Microopaque</option>
- <!-- TMPL_ELSE -->
- <option value="c">a- Microopaque</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23d" -->
- <option value="d" SELECTED>d- Large Print</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Large Print</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23f" -->
- <option value="f" SELECTED>f- Braille</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Braille</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23r" -->
- <option value="r" SELECTED>r- Regular print
reproduction</option>
- <!-- TMPL_ELSE -->
- <option value="r">r- Regular print
reproduction</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23s" -->
- <option value="s" SELECTED>s- Electronic</option>
- <!-- TMPL_ELSE -->
- <option value="s">s- Electronic</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23!" -->
- <option value="!" SELECTED>!- No attempt to
code</option>
- <!-- TMPL_ELSE -->
- <option value="!">!- No attempt to code</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>24-27 Nature of contents </td>
- <td>(Derived value)
- <input type="hidden" name="f2427" size="4"
maxlength="4" value="<!-- TMPL_VAR NAME="f2427" -->"/> </td>
- </tr>
- <tr>
- <td>28- Government Publication</td>
- <td>
- <select name="f28" size="1">
- <!-- TMPL_IF name="f280" -->
- <option value=" " SELECTED>#- Not a government
publication</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- Not a government
publication</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28a" -->
- <option value="a" SELECTED>a- Autonomous or
semi-autonomous component</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Autonomous or semi-autonomous
component</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28c" -->
- <option value="c" SELECTED>c- Multilocal</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Multilocal</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28f" -->
- <option value="f" SELECTED>f- Federal/national</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Federal/national</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f28i" -->
- <option value="i" SELECTED>i- International
intergovernmental</option>
- <!-- TMPL_ELSE -->
- <option value="i">i- International
intergovernmental</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f28l" -->
- <option value="l" SELECTED>l- Local</option>
- <!-- TMPL_ELSE -->
- <option value="l">l- Local</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f28m" -->
- <option value="m" SELECTED>m- Multistate</option>
- <!-- TMPL_ELSE -->
- <option value="m">m- Multistate</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28o" -->
- <option value="o" SELECTED>o- Government publication -
level undetermined</option>
- <!-- TMPL_ELSE -->
- <option value="o">o- Government publication - level
undetermined</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28s" -->
- <option value="s" SELECTED>s- State,
provincial,territorial,dependent,etc.</option>
- <!-- TMPL_ELSE -->
- <option value="s">s-
State,provincial,territorial,dependent,etc.</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28u" -->
- <option value="u" SELECTED>u- Unknown if item is
government publication</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unknown if item is government
publication</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28z" -->
- <option value="z" SELECTED>z- Other</option>
- <!-- TMPL_ELSE -->
- <option value="z">z- Other</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>29- Conference publication</td>
- <td>
- <select name="f29" size="1">
- <!-- TMPL_IF name="f290" -->
- <option value="0" SELECTED>0- Not a conference
publication</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Not a conference
publication</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f291" -->
- <option value="1" SELECTED>1- Conference
publication</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Conference publication</option>
- <!-- /TMPL_IF -->
-
- </select>
- </td>
- </tr>
- <tr>
- <td>30- Festschrift</td>
- <td>
- <select name="f30" size="1">
- <!-- TMPL_IF name="f300" -->
- <option value="0" SELECTED>0- Not a
festschrift</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Not a festschrift</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f301" -->
- <option value="1" SELECTED>1- Festschrift</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Festschrift</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr>
- <td>31- Index</td>
- <td>
- <select name="f31" size="1">
- <!-- TMPL_IF name="f31|" -->
- <option value="|" SELECTED>|- Default</option>
- <!-- TMPL_ELSE -->
- <option value="|">|- Default</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f310" -->
- <option value="0" SELECTED>0- No Index</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- No Index</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f311" -->
- <option value="1" SELECTED>1- Index present</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Index present</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr><td>32 Undefined</td><td></td>
- </tr>
- <tr>
- <td>33- Literary form</td>
- <td>
- <select name="f33" size="1">
- <!-- TMPL_IF name="f330" -->
- <option value="0" SELECTED>0- Not fiction</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Not fiction</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f331" -->
- <option value="1" SELECTED>1- Fiction</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Fiction</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f33c" -->
- <option value="c" SELECTED>c- Comic strips</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Comic stripts</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33d" -->
- <option value="d" SELECTED>d- Dramas</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Dramas</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f33e" -->
- <option value="e" SELECTED>e- Essays</option>
- <!-- TMPL_ELSE -->
- <option value="e">e- Essays</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f33f" -->
- <option value="f" SELECTED>f- Novels</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Novels</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f33h" -->
- <option value="h" SELECTED>h-
Humor,satires,etc.</option>
- <!-- TMPL_ELSE -->
- <option value="h">h- Humor,satires,etc.</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33i" -->
- <option value="i" SELECTED>i- Letters</option>
- <!-- TMPL_ELSE -->
- <option value="i">i- Letters</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33j" -->
- <option value="j" SELECTED>j- Short stories</option>
- <!-- TMPL_ELSE -->
- <option value="j">j- Short stories</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33m" -->
- <option value="m" SELECTED>m- Mixed forms</option>
- <!-- TMPL_ELSE -->
- <option value="m">m- Mixed forms</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33p" -->
- <option value="p" SELECTED>p- Poetry</option>
- <!-- TMPL_ELSE -->
- <option value="p">p- Poetry</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33s" -->
- <option value="s" SELECTED>s- Speeches</option>
- <!-- TMPL_ELSE -->
- <option value="s">s- Speeches</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33u" -->
- <option value="u" SELECTED>u- Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unknown</option>
- <!-- /TMPL_IF -->
-
-
-
- </select>
- </td>
- </tr>
- <tr>
- <td>34- Biography</td>
- <td>
- <select name="f34" size="1">
- <!-- TMPL_IF name="f340" -->
- <option value=" " SELECTED>#- No biographical
material</option> <!-- TMPL_ELSE -->
- <option value=" ">#- No biographical material</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f34a" -->
- <option value="a" SELECTED>a- Autobiography</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Autobiography</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f34b" -->
- <option value="b" SELECTED>b- Individual
biography</option> <!-- TMPL_ELSE -->
- <option value="b">b- Individual biography</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f34c" -->
- <option value="c" SELECTED>c- Collective
biography</option> <!-- TMPL_ELSE -->
- <option value="c">c- Collective biographyl</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f34d" -->
- <option value="d" SELECTED>d- Contains bibliographic
information</option> <!-- TMPL_ELSE -->
- <option value="d">d- Contains bibliographic
information</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr>
-
- <td>35-37 Language see <a
href="http://www.itsmarc.com/crs/lang0098.htm">MARC Code List for
Languages</a></td>
- <td>
- <input type="text" name="f3537" size="4"
maxlength="4" value="<!-- TMPL_VAR NAME="f3537" -->"/>
- </td>
- </tr>
- <tr>
- <td>38- Modified Record</td>
- <td>
- <select name="f38" size="1">
- <!-- TMPL_IF name="f380" -->
- <option value=" " SELECTED>#- Not Modified</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- Not Modified</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f38s" -->
- <option value="s" SELECTED>s- Shortened</option>
- <!-- TMPL_ELSE -->
- <option value="s">s- Shortened</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f38d" -->
- <option value="d" SELECTED>d- Dashed-on information
omitted</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Dashed-on information
omitted</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f38x" -->
- <option value="x" SELECTED>x- Missing
characters</option>
- <!-- TMPL_ELSE -->
- <option value="x">x- Missing characters</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f38r" -->
- <option value="r" SELECTED>r- Completely
romanized/printed cards in script</option>
- <!-- TMPL_ELSE -->
- <option value="r">r- Completely romanized/printed
cards in script</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f38o" -->
- <option value="o" SELECTED>o- Completely
romainzed/printed cards romanized</option>
- <!-- TMPL_ELSE -->
- <option value="o">o- Completely romanized/printed
cards romanized</option>
- <!-- /TMPL_IF -->
- </select>
-
- </td>
- </tr>
-<tr>
- <td>39- Cataloging source</td>
- <td>
- <select name="f39" size="1">
- <!-- TMPL_IF name="f390" -->
- <option value=" " SELECTED>#- National bibliographic
agency</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- National bibliographic
agency</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f39c" -->
- <option value="c" SELECTED>c- Cooperative cataloging
program</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Cooperative cataloging
program</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f39d" -->
- <option value="d" SELECTED>d- Other</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Other</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f39u" -->
- <option value="u" SELECTED>u- Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unknown</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
-function report() {
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value =
- document.f_pop.f1.value+
- document.f_pop.f6.value+
- document.f_pop.f710.value+
- document.f_pop.f1114.value+
- document.f_pop.f1517.value+
- document.f_pop.f1821.value+
- document.f_pop.f22.value+
- document.f_pop.f23.value+
- document.f_pop.f2427.value+
- document.f_pop.f28.value+
- document.f_pop.f29.value+
- document.f_pop.f30.value+
- document.f_pop.f31.value+ ' '+
- document.f_pop.f33.value+
- document.f_pop.f34.value+
- document.f_pop.f3537.value+
- document.f_pop.f38.value+
- document.f_pop.f39.value;
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/value_builder/marc21_field_006.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/value_builder/marc21_field_006.tmpl
diff -N htdocs/intranet-tmpl/default/en/value_builder/marc21_field_006.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/marc21_field_006.tmpl 10 Mar
2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,449 +0,0 @@
-<html>
-<head>
-<title>Leader builder</title>
-</head>
-<body>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>0 Form of material</td>
- <td>
- <select name="f0" size="1">
- <!-- TMPL_IF name="f0a" -->
- <option value="a" SELECTED>a- Language
material</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Language material</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f0b" -->
- <option value="b" SELECTED>b- Manuscript
language material</option>
- <!-- TMPL_ELSE -->
- <option value="b">b- Manuscript language
material</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>01-04 Illustrations </td>
- <td>(auto-filled from 300)<input type="hidden" name="f014"
size="4" maxlength="4" value="<!-- TMPL_VAR NAME="f014" -->"/></td>
- </tr>
- <tr>
- <!-- 5 Target Audience -->
- <td>5- Target Audience</td>
- <td>
- <select name="f5" size="1">
-
- <!-- TMPL_IF name="f5|" -->
- <option value="|" SELECTED>|- Default</option>
- <!-- TMPL_ELSE -->
- <option value="|">|- Default</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f50" -->
- <option value=" " SELECTED>#- Unknown or not
specified</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- Unknown or not specified</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f5a" -->
- <option value="a" SELECTED>a- Preschool</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Preschool</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f5b" -->
- <option value="b" SELECTED>b- Primary</option>
- <!-- TMPL_ELSE -->
- <option value="b">b- Primary</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f5c" -->
- <option value="c" SELECTED>c- Elementary and junior
high</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Elementary and junior
high</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f5d" -->
- <option value="d" SELECTED>d- Secondary (senior
high)</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Secondary (senior high)</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f5e" -->
- <option value="e" SELECTED>e- Adult</option>
- <!-- TMPL_ELSE -->
- <option value="e">e- Adult</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f5f" -->
- <option value="f" SELECTED>f- Specialized</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Specialized</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f5g" -->
- <option value="g" SELECTED>g- General</option>
- <!-- TMPL_ELSE -->
- <option value="g">g- General</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f5j" -->
- <option value="j" SELECTED>j- Juvenile</option>
- <!-- TMPL_ELSE -->
- <option value="j">j- Juvenile</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- <tr>
- <tr>
- <!-- 06 Form of an item -->
- <td>06- Form of an item</td>
- <td>
- <select name="f6" size="1">
-
- <!-- TMPL_IF name="f60" -->
- <option value=" " SELECTED>#- None of the
following</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- None of the following</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6a" -->
- <option value="a" SELECTED>a- Microfilm</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Microfilm</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6b" -->
- <option value="b" SELECTED>b- Microfiche</option>
- <!-- TMPL_ELSE -->
- <option value="b">b- Microfiche</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6c" -->
- <option value="c" SELECTED>a- Microopaque</option>
- <!-- TMPL_ELSE -->
- <option value="c">a- Microopaque</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6d" -->
- <option value="d" SELECTED>d- Large Print</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Large Print</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6f" -->
- <option value="f" SELECTED>f- Braille</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Braille</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6r" -->
- <option value="r" SELECTED>r- Regular print
reproduction</option>
- <!-- TMPL_ELSE -->
- <option value="r">r- Regular print
reproduction</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6s" -->
- <option value="s" SELECTED>s- Electronic</option>
- <!-- TMPL_ELSE -->
- <option value="s">s- Electronic</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6!" -->
- <option value="!" SELECTED>!- No attempt to
code</option>
- <!-- TMPL_ELSE -->
- <option value="!">!- No attempt to code</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>7-10 Nature of contents </td>
- <td>(Derived value)
- <input type="hidden" name="f710" size="4"
maxlength="4" value="<!-- TMPL_VAR NAME="f710" -->"/> </td>
- </tr>
- <tr>
- <td>11- Government Publication</td>
- <td>
- <select name="f11" size="1">
-
- <!-- TMPL_IF name="f11|" -->
- <option value="|" SELECTED>|- Default</option>
- <!-- TMPL_ELSE -->
- <option value="|">|- Default</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f110" -->
- <option value=" " SELECTED>#- Not a government
publication</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- Not a government
publication</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f11a" -->
- <option value="a" SELECTED>a- Autonomous or
semi-autonomous component</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Autonomous or semi-autonomous
component</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f11c" -->
- <option value="c" SELECTED>c- Multilocal</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Multilocal</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f11f" -->
- <option value="f" SELECTED>f- Federal/national</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Federal/national</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f11i" -->
- <option value="i" SELECTED>i- International
intergovernmental</option>
- <!-- TMPL_ELSE -->
- <option value="i">i- International
intergovernmental</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f11l" -->
- <option value="l" SELECTED>l- Local</option>
- <!-- TMPL_ELSE -->
- <option value="l">l- Local</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f11m" -->
- <option value="m" SELECTED>m- Multistate</option>
- <!-- TMPL_ELSE -->
- <option value="m">m- Multistate</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f11o" -->
- <option value="o" SELECTED>o- Government publication -
level undetermined</option>
- <!-- TMPL_ELSE -->
- <option value="o">o- Government publication - level
undetermined</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f11s" -->
- <option value="s" SELECTED>s- State,
provincial,territorial,dependent,etc.</option>
- <!-- TMPL_ELSE -->
- <option value="s">s-
State,provincial,territorial,dependent,etc.</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f11u" -->
- <option value="u" SELECTED>u- Unknown if item is
government publication</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unknown if item is government
publication</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f11z" -->
- <option value="z" SELECTED>z- Other</option>
- <!-- TMPL_ELSE -->
- <option value="z">z- Other</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>12- Conference publication</td>
- <td>
- <select name="f12" size="1">
- <!-- TMPL_IF name="f120" -->
- <option value="0" SELECTED>0- Not a conference
publication</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Not a conference
publication</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f121" -->
- <option value="1" SELECTED>1- Conference
publication</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Conference publication</option>
- <!-- /TMPL_IF -->
-
- </select>
- </td>
- </tr>
- <tr>
- <td>13- Festschrift</td>
- <td>
- <select name="f13" size="1">
- <!-- TMPL_IF name="f130" -->
- <option value="0" SELECTED>0- Not a
festschrift</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Not a festschrift</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f131" -->
- <option value="1" SELECTED>1- Festschrift</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Festschrift</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr>
- <td>14- Index</td>
- <td>
- <select name="f14" size="1">
- <!-- TMPL_IF name="f14|" -->
- <option value="|" SELECTED>|- Default</option>
- <!-- TMPL_ELSE -->
- <option value="|">|- Default</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f140" -->
- <option value="0" SELECTED>0- No Index</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- No Index</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f141" -->
- <option value="1" SELECTED>1- Index present</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Index present</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr><td>15 Undefined</td><td></td>
- </tr>
- <tr>
- <td>16- Literary form</td>
- <td>
- <select name="f16" size="1">
- <!-- TMPL_IF name="f160" -->
- <option value="0" SELECTED>0- Not fiction</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Not fiction</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f161" -->
- <option value="1" SELECTED>1- Fiction</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Fiction</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f16c" -->
- <option value="c" SELECTED>c- Comic strips</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Comic stripts</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f16d" -->
- <option value="d" SELECTED>d- Dramas</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Dramas</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f16e" -->
- <option value="e" SELECTED>e- Essays</option>
- <!-- TMPL_ELSE -->
- <option value="e">e- Essays</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f16f" -->
- <option value="f" SELECTED>f- Novels</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Novels</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f16h" -->
- <option value="h" SELECTED>h-
Humor,satires,etc.</option>
- <!-- TMPL_ELSE -->
- <option value="h">h- Humor,satires,etc.</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f16i" -->
- <option value="i" SELECTED>i- Letters</option>
- <!-- TMPL_ELSE -->
- <option value="i">i- Letters</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f16j" -->
- <option value="j" SELECTED>j- Short stories</option>
- <!-- TMPL_ELSE -->
- <option value="j">j- Short stories</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f16m" -->
- <option value="m" SELECTED>m- Mixed forms</option>
- <!-- TMPL_ELSE -->
- <option value="m">m- Mixed forms</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f16p" -->
- <option value="p" SELECTED>p- Poetry</option>
- <!-- TMPL_ELSE -->
- <option value="p">p- Poetry</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f16s" -->
- <option value="s" SELECTED>s- Speeches</option>
- <!-- TMPL_ELSE -->
- <option value="s">s- Speeches</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f16u" -->
- <option value="u" SELECTED>u- Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unknown</option>
- <!-- /TMPL_IF -->
-
- </select>
- </td>
- </tr>
- <tr>
- <td>17- Biography</td>
- <td>
- <select name="f17" size="1">
- <!-- TMPL_IF name="f170" -->
- <option value=" " SELECTED>#- No biographical
material</option> <!-- TMPL_ELSE -->
- <option value=" ">#- No biographical material</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f17a" -->
- <option value="a" SELECTED>a- Autobiography</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Autobiography</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f17b" -->
- <option value="b" SELECTED>b- Individual
biography</option> <!-- TMPL_ELSE -->
- <option value="b">b- Individual biography</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f17c" -->
- <option value="c" SELECTED>c- Collective
biography</option> <!-- TMPL_ELSE -->
- <option value="c">c- Collective biographyl</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f17d" -->
- <option value="d" SELECTED>d- Contains bibliographic
information</option> <!-- TMPL_ELSE -->
- <option value="d">d- Contains bibliographic
information</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
-function report() {
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value =
- '<!-- TMPL_VAR NAME="dateentered" -->'+
- document.f_pop.f0.value+
- document.f_pop.f014.value+
- document.f_pop.f5.value+
- document.f_pop.f6.value+
- document.f_pop.f710.value+
- document.f_pop.f11.value+
- document.f_pop.f12.value+
- document.f_pop.f13.value+
- document.f_pop.f14.value+ ' '+
- document.f_pop.f16.value+
- document.f_pop.f17.value;
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/value_builder/marc21_field_007.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/value_builder/marc21_field_007.tmpl
diff -N htdocs/intranet-tmpl/default/en/value_builder/marc21_field_007.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/marc21_field_007.tmpl 10 Mar
2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,79 +0,0 @@
-<html>
-<head>
-<title>Leader builder</title>
-</head>
-<body>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>00 Category of material</td>
- <td>
- <select name="f0" size="1">
- <!-- TMPL_IF name="f0t" -->
- <option value="t" SELECTED>t- Text</option>
- <!-- TMPL_ELSE -->
- <option value="t">t- Text</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>01 Specific material designation</td>
- <td>
- <select name="f1" size="1">
- <!-- TMPL_IF name="f1a" -->
- <option value="a" SELECTED>a- Regular
print</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Regular print</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f1b" -->
- <option value="b" SELECTED>b- Large
print</option>
- <!-- TMPL_ELSE -->
- <option value="b">b- Large print </option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f1c" -->
- <option value="c" SELECTED>c- Braille</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Braille</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f1d" -->
- <option value="d" SELECTED>d-
Loose-leaf</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Loose-leaf</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f1u" -->
- <option value="u" SELECTED>u-
Unspecified</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unspecified</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f1z" -->
- <option value="z" SELECTED>z- Other</option>
- <!-- TMPL_ELSE -->
- <option value="z">z- Other</option>
- <!-- /TMPL_IF -->
-
- </select>
- </td>
- </tr>
-
-
-
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
-function report() {
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value =
- document.f_pop.f0.value+
- document.f_pop.f1.value;
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/value_builder/marc21_field_008.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/value_builder/marc21_field_008.tmpl
diff -N htdocs/intranet-tmpl/default/en/value_builder/marc21_field_008.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/marc21_field_008.tmpl 10 Mar
2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,634 +0,0 @@
-<html>
-<head>
-<title>Leader builder</title>
-</head>
-<body>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>1-5 Date entered on file</td>
- <td>(auto-filled)</td>
- <td><input type="text" name="f1" maxlength=6 size=7 value="<!--
TMPL_VAR name="f1" -->"></td>
- </tr>
- <tr>
- <!-- 06 Type of date / Publication status -->
- <td>06- Type of date / Publication Status</td>
- <td>
- <!-- NO DATE; B.C. DATE -->
-
- <select name="f6" size="1">
- <!-- TMPL_IF name="f60" -->
- <option value=" " SELECTED>#- Blank</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- Blank</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6b" -->
- <option value="b" SELECTED>b- B.C. Date</option>
- <!-- TMPL_ELSE -->
- <option value="b">b- B.C. Date</option>
- <!-- /TMPL_IF -->
-
- <!-- SINGLE DATE -->
- <!-- TMPL_IF name="f6e" -->
- <option value="e" SELECTED>e- Detailed
date</option>
- <!-- TMPL_ELSE -->
- <option value="e">e- Detailed date</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6s" -->
- <option value="s" SELECTED>s- Single
date</option>
- <!-- TMPL_ELSE -->
- <option value="s">s- Single date</option>
- <!-- /TMPL_IF -->
-
- <!-- MULTIPLE DATES -->
- <!-- TMPL_IF name="f6i" -->
- <option value="i" SELECTED>i- Inclusive dates
of collection</option>
- <!-- TMPL_ELSE -->
- <option value="i">i- Inclusive dates of
collection</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6k" -->
- <option value="k" SELECTED>k- Range of years
of bulk collection</option>
- <!-- TMPL_ELSE -->
- <option value="k">k- Range of years of bulk
collection</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6m" -->
- <option value="m" SELECTED>m- Multiple
dates</option>
- <!-- TMPL_ELSE -->
- <option value="m">m- Multiple dates</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6p" -->
- <option value="p" SELECTED>p-
Distribution/production date</option>
- <!-- TMPL_ELSE -->
- <option value="p">p- Distribution/production
date</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6r" -->
- <option value="r" SELECTED>r- Reprint/original
date</option>
- <!-- TMPL_ELSE -->
- <option value="r">r- Reprint/original
date</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6t" -->
- <option value="t" SELECTED>t- Publication date
and copyright date</option>
- <!-- TMPL_ELSE -->
- <option value="t">t- Publication date and
copyright date</option>
- <!-- /TMPL_IF -->
-
- <!-- UNKNOWN DATES -->
- <!-- TMPL_IF name="f6n" -->
- <option value="n" SELECTED>n- Dates
unknown</option>
- <!-- TMPL_ELSE -->
- <option value="n">n- Dates unknown</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6q" -->
- <option value="q" SELECTED>q- Questionable
date</option>
- <!-- TMPL_ELSE -->
- <option value="q">q- Questionable date</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6c" -->
- <option value="c" SELECTED>c- Serial item
currently published</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Serial item currently
published</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6d" -->
- <option value="d" SELECTED>d- Serial item
ceased publication (Dead status)</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Serial item ceased
publication (Dead status)</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6u" -->
- <option value="u" SELECTED>u- Serial item
status unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Serial item status
unknown</option>
- <!-- /TMPL_IF -->
-
-
-
- </select>
- </td>
- </tr>
- <tr>
- <td>7-10 Date1 / Begininning date of publication </td>
- <td>
- <input type="text" name="f710" size="4" maxlength="4"
value="<!-- TMPL_VAR NAME="f710" -->"/>
- </td>
- </tr>
- <tr>
- <td>11-14 Date2 / ending date of publication </td>
- <td>
- <input type="text" name="f1114" size="4" maxlength="4"
value="<!-- TMPL_VAR NAME="f1114" -->"/> </td>
- </tr>
-
- <tr>
- <td>15-17 Place of publication, production, or execution </td>
- <td>
- <input type="text" name="f1517" size="3"
maxlength="3" value="<!-- TMPL_VAR NAME="f1517" -->"/>
- </td>
- </tr>
- <tr>
- <td>18-21 Illustrations </td>
- <td>(auto-filled from 300)<input type="hidden" name="f1821"
size="4" maxlength="4" value="<!-- TMPL_VAR NAME="f1821" -->"/></td>
- </tr>
- <tr>
- <!-- 22 Target Audience -->
- <td>22- Target Audience</td>
- <td>
- <select name="f22" size="1">
-
- <!-- TMPL_IF name="f22|" -->
- <option value="|" SELECTED>|- Default</option>
- <!-- TMPL_ELSE -->
- <option value="|">|- Default</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f220" -->
- <option value=" " SELECTED>#- Unknown or not
specified</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- Unknown or not specified</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22a" -->
- <option value="a" SELECTED>a- Preschool</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Preschool</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22b" -->
- <option value="b" SELECTED>b- Primary</option>
- <!-- TMPL_ELSE -->
- <option value="b">b- Primary</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22c" -->
- <option value="c" SELECTED>c- Elementary and junior
high</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Elementary and junior
high</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22d" -->
- <option value="d" SELECTED>d- Secondary (senior
high)</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Secondary (senior high)</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22e" -->
- <option value="e" SELECTED>e- Adult</option>
- <!-- TMPL_ELSE -->
- <option value="e">e- Adult</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22f" -->
- <option value="f" SELECTED>f- Specialized</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Specialized</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22g" -->
- <option value="g" SELECTED>g- General</option>
- <!-- TMPL_ELSE -->
- <option value="g">g- General</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f22j" -->
- <option value="j" SELECTED>j- Juvenile</option>
- <!-- TMPL_ELSE -->
- <option value="j">j- Juvenile</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- <tr>
- <tr>
- <!-- 23 Form of an item -->
- <td>23- Form of an item</td>
- <td>
- <select name="f23" size="1">
-
- <!-- TMPL_IF name="f230" -->
- <option value=" " SELECTED>#- None of the
following</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- None of the following</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23a" -->
- <option value="a" SELECTED>a- Microfilm</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Microfilm</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23b" -->
- <option value="b" SELECTED>b- Microfiche</option>
- <!-- TMPL_ELSE -->
- <option value="b">b- Microfiche</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23c" -->
- <option value="c" SELECTED>a- Microopaque</option>
- <!-- TMPL_ELSE -->
- <option value="c">a- Microopaque</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23d" -->
- <option value="d" SELECTED>d- Large Print</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Large Print</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23f" -->
- <option value="f" SELECTED>f- Braille</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Braille</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23r" -->
- <option value="r" SELECTED>r- Regular print
reproduction</option>
- <!-- TMPL_ELSE -->
- <option value="r">r- Regular print
reproduction</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23s" -->
- <option value="s" SELECTED>s- Electronic</option>
- <!-- TMPL_ELSE -->
- <option value="s">s- Electronic</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f23!" -->
- <option value="!" SELECTED>!- No attempt to
code</option>
- <!-- TMPL_ELSE -->
- <option value="!">!- No attempt to code</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>24-27 Nature of contents </td>
- <td>(Derived value)
- <input type="hidden" name="f2427" size="4"
maxlength="4" value="<!-- TMPL_VAR NAME="f2427" -->"/> </td>
- </tr>
- <tr>
- <td>28- Government Publication</td>
- <td>
- <select name="f28" size="1">
- <!-- TMPL_IF name="f280" -->
- <option value=" " SELECTED>#- Not a government
publication</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- Not a government
publication</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28a" -->
- <option value="a" SELECTED>a- Autonomous or
semi-autonomous component</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Autonomous or semi-autonomous
component</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28c" -->
- <option value="c" SELECTED>c- Multilocal</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Multilocal</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28f" -->
- <option value="f" SELECTED>f- Federal/national</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Federal/national</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f28i" -->
- <option value="i" SELECTED>i- International
intergovernmental</option>
- <!-- TMPL_ELSE -->
- <option value="i">i- International
intergovernmental</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f28l" -->
- <option value="l" SELECTED>l- Local</option>
- <!-- TMPL_ELSE -->
- <option value="l">l- Local</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f28m" -->
- <option value="m" SELECTED>m- Multistate</option>
- <!-- TMPL_ELSE -->
- <option value="m">m- Multistate</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28o" -->
- <option value="o" SELECTED>o- Government publication -
level undetermined</option>
- <!-- TMPL_ELSE -->
- <option value="o">o- Government publication - level
undetermined</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28s" -->
- <option value="s" SELECTED>s- State,
provincial,territorial,dependent,etc.</option>
- <!-- TMPL_ELSE -->
- <option value="s">s-
State,provincial,territorial,dependent,etc.</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28u" -->
- <option value="u" SELECTED>u- Unknown if item is
government publication</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unknown if item is government
publication</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f28z" -->
- <option value="z" SELECTED>z- Other</option>
- <!-- TMPL_ELSE -->
- <option value="z">z- Other</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>29- Conference publication</td>
- <td>
- <select name="f29" size="1">
- <!-- TMPL_IF name="f290" -->
- <option value="0" SELECTED>0- Not a conference
publication</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Not a conference
publication</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f291" -->
- <option value="1" SELECTED>1- Conference
publication</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Conference publication</option>
- <!-- /TMPL_IF -->
-
- </select>
- </td>
- </tr>
- <tr>
- <td>30- Festschrift</td>
- <td>
- <select name="f30" size="1">
- <!-- TMPL_IF name="f300" -->
- <option value="0" SELECTED>0- Not a
festschrift</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Not a festschrift</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f301" -->
- <option value="1" SELECTED>1- Festschrift</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Festschrift</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr>
- <td>31- Index</td>
- <td>
- <select name="f31" size="1">
- <!-- TMPL_IF name="f31|" -->
- <option value="|" SELECTED>|- Default</option>
- <!-- TMPL_ELSE -->
- <option value="|">|- Default</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f310" -->
- <option value="0" SELECTED>0- No Index</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- No Index</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f311" -->
- <option value="1" SELECTED>1- Index present</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Index present</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr><td>32 Undefined</td><td></td>
- </tr>
- <tr>
- <td>33- Literary form</td>
- <td>
- <select name="f33" size="1">
- <!-- TMPL_IF name="f330" -->
- <option value="0" SELECTED>0- Not fiction</option>
- <!-- TMPL_ELSE -->
- <option value="0">0- Not fiction</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f331" -->
- <option value="1" SELECTED>1- Fiction</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Fiction</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f33c" -->
- <option value="c" SELECTED>c- Comic strips</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Comic stripts</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33d" -->
- <option value="d" SELECTED>d- Dramas</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Dramas</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f33e" -->
- <option value="e" SELECTED>e- Essays</option>
- <!-- TMPL_ELSE -->
- <option value="e">e- Essays</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f33f" -->
- <option value="f" SELECTED>f- Novels</option>
- <!-- TMPL_ELSE -->
- <option value="f">f- Novels</option>
- <!-- /TMPL_IF -->
-
-
- <!-- TMPL_IF name="f33h" -->
- <option value="h" SELECTED>h-
Humor,satires,etc.</option>
- <!-- TMPL_ELSE -->
- <option value="h">h- Humor,satires,etc.</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33i" -->
- <option value="i" SELECTED>i- Letters</option>
- <!-- TMPL_ELSE -->
- <option value="i">i- Letters</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33j" -->
- <option value="j" SELECTED>j- Short stories</option>
- <!-- TMPL_ELSE -->
- <option value="j">j- Short stories</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33m" -->
- <option value="m" SELECTED>m- Mixed forms</option>
- <!-- TMPL_ELSE -->
- <option value="m">m- Mixed forms</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33p" -->
- <option value="p" SELECTED>p- Poetry</option>
- <!-- TMPL_ELSE -->
- <option value="p">p- Poetry</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33s" -->
- <option value="s" SELECTED>s- Speeches</option>
- <!-- TMPL_ELSE -->
- <option value="s">s- Speeches</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f33u" -->
- <option value="u" SELECTED>u- Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unknown</option>
- <!-- /TMPL_IF -->
-
-
-
- </select>
- </td>
- </tr>
- <tr>
- <td>34- Biography</td>
- <td>
- <select name="f34" size="1">
- <!-- TMPL_IF name="f340" -->
- <option value=" " SELECTED>#- No biographical
material</option> <!-- TMPL_ELSE -->
- <option value=" ">#- No biographical material</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f34a" -->
- <option value="a" SELECTED>a- Autobiography</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Autobiography</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f34b" -->
- <option value="b" SELECTED>b- Individual
biography</option> <!-- TMPL_ELSE -->
- <option value="b">b- Individual biography</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f34c" -->
- <option value="c" SELECTED>c- Collective
biography</option> <!-- TMPL_ELSE -->
- <option value="c">c- Collective biographyl</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f34d" -->
- <option value="d" SELECTED>d- Contains bibliographic
information</option> <!-- TMPL_ELSE -->
- <option value="d">d- Contains bibliographic
information</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr>
-
- <td>35-37 Language see <a
href="http://www.itsmarc.com/crs/lang0098.htm">MARC Code List for
Languages</a></td>
- <td>
- <input type="text" name="f3537" size="4"
maxlength="4" value="<!-- TMPL_VAR NAME="f3537" -->"/>
- </td>
- </tr>
- <tr>
- <td>38- Modified Record</td>
- <td>
- <select name="f38" size="1">
- <!-- TMPL_IF name="f380" -->
- <option value=" " SELECTED>#- Not Modified</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- Not Modified</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f38s" -->
- <option value="s" SELECTED>s- Shortened</option>
- <!-- TMPL_ELSE -->
- <option value="s">s- Shortened</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f38d" -->
- <option value="d" SELECTED>d- Dashed-on information
omitted</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Dashed-on information
omitted</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f38x" -->
- <option value="x" SELECTED>x- Missing
characters</option>
- <!-- TMPL_ELSE -->
- <option value="x">x- Missing characters</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f38r" -->
- <option value="r" SELECTED>r- Completely
romanized/printed cards in script</option>
- <!-- TMPL_ELSE -->
- <option value="r">r- Completely romanized/printed
cards in script</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f38o" -->
- <option value="o" SELECTED>o- Completely
romainzed/printed cards romanized</option>
- <!-- TMPL_ELSE -->
- <option value="o">o- Completely romanized/printed
cards romanized</option>
- <!-- /TMPL_IF -->
- </select>
-
- </td>
- </tr>
-<tr>
- <td>39- Cataloging source</td>
- <td>
- <select name="f39" size="1">
- <!-- TMPL_IF name="f390" -->
- <option value=" " SELECTED>#- National bibliographic
agency</option>
- <!-- TMPL_ELSE -->
- <option value=" ">#- National bibliographic
agency</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f39c" -->
- <option value="c" SELECTED>c- Cooperative cataloging
program</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Cooperative cataloging
program</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f39d" -->
- <option value="d" SELECTED>d- Other</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Other</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f39u" -->
- <option value="u" SELECTED>u- Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unknown</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
-function report() {
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value =
- document.f_pop.f1.value+
- document.f_pop.f6.value+
- document.f_pop.f710.value+
- document.f_pop.f1114.value+
- document.f_pop.f1517.value+
- document.f_pop.f1821.value+
- document.f_pop.f22.value+
- document.f_pop.f23.value+
- document.f_pop.f2427.value+
- document.f_pop.f28.value+
- document.f_pop.f29.value+
- document.f_pop.f30.value+
- document.f_pop.f31.value+ ' '+
- document.f_pop.f33.value+
- document.f_pop.f34.value+
- document.f_pop.f3537.value+
- document.f_pop.f38.value+
- document.f_pop.f39.value;
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/value_builder/marc21_leader.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/value_builder/marc21_leader.tmpl
diff -N htdocs/intranet-tmpl/default/en/value_builder/marc21_leader.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/marc21_leader.tmpl 10 Mar
2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,328 +0,0 @@
-<html>
-<head>
-<title>Leader builder</title>
-</head>
-<body>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>0-4 Record size</td>
- <td>(auto-filled)</td>
- </tr>
- <tr>
- <td>5- Record status</td>
- <td>
- <select name="f5" size="1">
- <!-- TMPL_IF name="f5a" -->
- <option value=" " SELECTED>a- Increase in
encoding level</option>
- <!-- TMPL_ELSE -->
- <option value=" ">a- Increase in encoding
level</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f5c" -->
- <option value="c" SELECTED>c- Corrected or
revised</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Corrected or
revised</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f5d" -->
- <option value="d" SELECTED>d- Deleted</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Deleted</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f5n" -->
- <option value="n" SELECTED>n- New</option>
- <!-- TMPL_ELSE -->
- <option value="n">n- New</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f5p" -->
- <option value="p" SELECTED>p- Increase in
encoding level from prepublication</option>
- <!-- TMPL_ELSE -->
- <option value="p">p- Increase in encoding level
from prepublication</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>6- Type of record</td>
- <td>
- <select name="f6" size="1">
- <!-- TMPL_IF name="f6a" -->
- <option value="a" SELECTED>a- Language material
(monography)</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Language material
(monography)</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6c" -->
- <option value="c" SELECTED>c- Notated
music</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Notated music</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6d" -->
- <option value="d" SELECTED>d- Manuscript
notated music</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Manuscript notated
music</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6e" -->
- <option value="e" SELECTED>e- Cartographic
material</option>
- <!-- TMPL_ELSE -->
- <option value="e">e- Cartographic
material</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6f" -->
- <option value="f" SELECTED>f - Manuscript
cartographic material</option>
- <!-- TMPL_ELSE -->
- <option value="f">f - Manuscript cartographic
material</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6g" -->
- <option value="g" SELECTED>g - Projected
medium</option>
- <!-- TMPL_ELSE -->
- <option value="g">g - Projected medium</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6i" -->
- <option value="i" SELECTED>i - Nonmusical sound
recording</option>
- <!-- TMPL_ELSE -->
- <option value="i">i - Nonmusical sound
recording</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6j" -->
- <option value="j" SELECTED>j - Musical sound
recording</option>
- <!-- TMPL_ELSE -->
- <option value="j">j - Musical sound
recording</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6k" -->
- <option value="k" SELECTED>k - Two-dimensional
nonprojectable graphic</option>
- <!-- TMPL_ELSE -->
- <option value="k">k - Two-dimensional
nonprojectable graphic</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6m" -->
- <option value="m" SELECTED>m - Computer
file</option>
- <!-- TMPL_ELSE -->
- <option value="m">m - Computer file</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6o" -->
- <option value="o" SELECTED>o - Kit</option>
- <!-- TMPL_ELSE -->
- <option value="o">o - Kit</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6r" -->
- <option value="r" SELECTED>r -
Three-dimensional artifact or naturally occurring object</option>
- <!-- TMPL_ELSE -->
- <option value="r">r - Three-dimensional
artifact or naturally occurring object</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f6t" -->
- <option value="t" SELECTED>t - Manuscript
language material</option>
- <!-- TMPL_ELSE -->
- <option value="t">t - Manuscript language
material</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>7- Bibliographic level</td>
- <td>
- <select name="f7" size="1">
- <!-- TMPL_IF name="f7a" -->
- <option value="a" SELECTED>a-
Monographic component part</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Monographic
component part</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7b" -->
- <option value="b" SELECTED>b- Serial
component part</option>
- <!-- TMPL_ELSE -->
- <option value="b">a- Serial component
part</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7c" -->
- <option value="c" SELECTED>c-
Collection</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Collection</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7d" -->
- <option value="d" SELECTED>d-
Subunit</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Subunit</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7i" -->
- <option value="i" SELECTED>i-
Integrating resource</option>
- <!-- TMPL_ELSE -->
- <option value="i">i- Integrating
resource</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7m" -->
- <option value="m" SELECTED>m-
Monograph/item</option>
- <!-- TMPL_ELSE -->
- <option value="m">m-
Monograph/item</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f7s" -->
- <option value="s" SELECTED>s-
Serial</option>
- <!-- TMPL_ELSE -->
- <option value="s">s- Serial</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr>
- <td>8- Hierarchic level</td>
- <td>
- <select name="f8" size="1">
- <!-- TMPL_IF name="f8 " -->
- <option value=" " SELECTED>No specific
type</option>
- <!-- TMPL_ELSE -->
- <option value=" ">No specific
type</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f8a" -->
- <option value="a" SELECTED>a-
Archival</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Archival</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr>
- <td>9- Encoding</td>
- <td>
- <select name="f9" size="1">
- <!-- TMPL_IF name="f9 " -->
- <option value=" "
SELECTED>MARC-8</option>
- <!-- TMPL_ELSE -->
- <option value=" ">MARC-8</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f9a" -->
- <option value="a" SELECTED>a-
UCS/Unicode</option>
- <!-- TMPL_ELSE -->
- <option value="a">a-
UCS/Unicode</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>10-16 indicator/subfields/size</td>
- <td>(auto-filled)</td>
- <tr>
- <td>17- Encoding</td>
- <td>
- <select name="f17" size="1">
- <!-- TMPL_IF name="f17 " -->
- <option value=" " SELECTED>full
level</option>
- <!-- TMPL_ELSE -->
- <option value=" ">Full level</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f171" -->
- <option value="1" SELECTED>1- Full
level, material not examined</option>
- <!-- TMPL_ELSE -->
- <option value="1">1- Full level,
material not examined</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f172" -->
- <option value="2" SELECTED>2 -
Less-than-full level, material not examined</option>
- <!-- TMPL_ELSE -->
- <option value="2">2 - Less-than-full
level, material not examined</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f173" -->
- <option value="3" SELECTED>3-
Abbreviated level</option>
- <!-- TMPL_ELSE -->
- <option value="3">3- Abbreviated
level</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f174" -->
- <option value="4" SELECTED>4- Core
level</option>
- <!-- TMPL_ELSE -->
- <option value="4">4- Core level</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f175" -->
- <option value="5" SELECTED>5- Partial
(preliminary) level</option>
- <!-- TMPL_ELSE -->
- <option value="5">5- Partial
(preliminary) level</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f177" -->
- <option value="7" SELECTED>7- Minimal
level</option>
- <!-- TMPL_ELSE -->
- <option value="7">7- Minimal
level</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f178" -->
- <option value="8" SELECTED>8-
Prepublication level</option>
- <!-- TMPL_ELSE -->
- <option value="8">8- Prepublication
level</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f17u" -->
- <option value="u" SELECTED>u -
Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u - Unknown</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f17z" -->
- <option value="z" SELECTED>z- Not
applicable</option>
- <!-- TMPL_ELSE -->
- <option value="z">z- Not applicableFull
level</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr>
- <td>18 - Descriptive cataloging form</td>
- <td>
- <select name="f18" size="1">
- <!-- TMPL_IF name="f18 " -->
- <option value=" "
SELECTED>Non-ISBD</option>
- <!-- TMPL_ELSE -->
- <option value=" ">Non-ISBD</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f18a" -->
- <option value="a" SELECTED>a- AACR
2</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- AACR 2</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f18i" -->
- <option value="i" SELECTED>i-
ISBD</option>
- <!-- TMPL_ELSE -->
- <option value="i">i- ISBD</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f18u" -->
- <option value="u" SELECTED>u-
Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u- Unknown</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <tr>
- <td>19 - Linked record requirement</td>
- <td>
- <select name="f19" size="1">
- <!-- TMPL_IF name="f19 " -->
- <option value=" " SELECTED>Related
record not required</option>
- <!-- TMPL_ELSE -->
- <option value=" ">Related record not
required</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f19r" -->
- <option value="r" SELECTED>r- Related
record required</option>
- <!-- TMPL_ELSE -->
- <option value="r">r- Related record
required</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>20-23 entry map & lengths</td>
- <td>(auto-filled)</td>
- <tr>
-
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
-function report() {
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value =
- ' '+
- document.f_pop.f5.value+
- document.f_pop.f6.value+
- document.f_pop.f7.value+
- document.f_pop.f8.value+
- document.f_pop.f9.value+
- '22 '+
- document.f_pop.f17.value+
- document.f_pop.f18.value+
- document.f_pop.f19.value+
- '4500';
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index:
htdocs/intranet-tmpl/default/en/value_builder/marc21_leader_authorities.tmpl
===================================================================
RCS file:
htdocs/intranet-tmpl/default/en/value_builder/marc21_leader_authorities.tmpl
diff -N
htdocs/intranet-tmpl/default/en/value_builder/marc21_leader_authorities.tmpl
---
htdocs/intranet-tmpl/default/en/value_builder/marc21_leader_authorities.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,117 +0,0 @@
-<html>
-<head>
-<title>Leader builder</title>
-</head>
-<body>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>0-4 Record size</td>
- <td>(auto-filled)</td>
- </tr>
- <tr>
- <td>5- Record status</td>
- <td>
- <select name="f5" size="1">
- <!-- TMPL_IF name="f5a" -->
- <option value="a" SELECTED>a- Increase in
encoding</option>
- <!-- TMPL_ELSE -->
- <option value="a">a- Corrected or
revised</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f5c" -->
- <option value="c" SELECTED>c- Corrected or
revised</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Corrected or
revised</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f5d" -->
- <option value="d" SELECTED>d- Deleted</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Deleted</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f5n" -->
- <option value="n" SELECTED>n- New</option>
- <!-- TMPL_ELSE -->
- <option value="n">n- New</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>6- Type of record</td>
- <td>
- <select name="f6" size="1">
- <!-- TMPL_IF name="f6z" -->
- <option value="z" SELECTED>z-Authority
data</option>
- <!-- TMPL_ELSE -->
- <option value="z">z-Authority data</option>
- <!-- /TMPL_IF -->
-
- </select>
- </td>
- </tr>
-
-
- <tr>
- <td>9- Encoding</td>
- <td>
- <select name="f9" size="1">
- <!-- TMPL_IF name="f9 " -->
- <option value=" "
SELECTED>MARC-8</option>
- <!-- TMPL_ELSE -->
- <option value=" ">MARC-8</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f9a" -->
- <option value="a" SELECTED>a-
UCS/Unicode</option>
- <!-- TMPL_ELSE -->
- <option value="a">a-
UCS/Unicode</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <td>17- Encoding level</td>
- <td>
- <select name="f17" size="1">
- <!-- TMPL_IF name="f17n" -->
- <option value="n" SELECTED>Complete
authority</option>
- <!-- TMPL_ELSE -->
- <option value="n">Complete
authority</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f17o" -->
- <option value="o" SELECTED>z-
Incomplete</option>
- <!-- TMPL_ELSE -->
- <option value="o">z- Incomplete</option>
- <!-- /TMPL_IF -->
-
- </select>
- </td>
- </tr>
-
- <tr>
-
- </tr>
-
-
-
-
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
-function report() {
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value =
- ' '+
- document.f_pop.f5.value+
- document.f_pop.f6.value+'||'+
- document.f_pop.f9.value+
- '22 '+
- document.f_pop.f17.value+
- '||4500';
-
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/value_builder/marc21_leader_holdings.tmpl
===================================================================
RCS file:
htdocs/intranet-tmpl/default/en/value_builder/marc21_leader_holdings.tmpl
diff -N
htdocs/intranet-tmpl/default/en/value_builder/marc21_leader_holdings.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/marc21_leader_holdings.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,177 +0,0 @@
-<html>
-<head>
-<title>Leader builder</title>
-</head>
-<body>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>0-4 Record size</td>
- <td>(auto-filled)</td>
- </tr>
- <tr>
- <td>5- Record status</td>
- <td>
- <select name="f5" size="1">
-
- <!-- TMPL_IF name="f5c" -->
- <option value="c" SELECTED>c- Corrected or
revised</option>
- <!-- TMPL_ELSE -->
- <option value="c">c- Corrected or
revised</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f5d" -->
- <option value="d" SELECTED>d- Deleted</option>
- <!-- TMPL_ELSE -->
- <option value="d">d- Deleted</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f5n" -->
- <option value="n" SELECTED>n- New</option>
- <!-- TMPL_ELSE -->
- <option value="n">n- New</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
- <tr>
- <td>6- Type of record</td>
- <td>
- <select name="f6" size="1">
-
- <!-- TMPL_IF name="f6u" -->
- <option value="u" SELECTED>u-Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u-Unknown</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6v" -->
- <option value="v" SELECTED>v-Multipart item
holdings</option>
- <!-- TMPL_ELSE -->
- <option value="v">v-Multipart item
holdings</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6x" -->
- <option value="x" SELECTED>xSingle part item
holdings</option>
- <!-- TMPL_ELSE -->
- <option value="x">x-Single part item
holdings</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f6y" -->
- <option value="y" SELECTED>y-Serial item
holdings</option>
- <!-- TMPL_ELSE -->
- <option value="y">y-Serial item
holdings</option>
- <!-- /TMPL_IF -->
-
- </select>
- </td>
- </tr>
-
-
- <tr>
- <td>9- Encoding</td>
- <td>
- <select name="f9" size="1">
- <!-- TMPL_IF name="f9 " -->
- <option value=" "
SELECTED>MARC-8</option>
- <!-- TMPL_ELSE -->
- <option value=" ">MARC-8</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f9a" -->
- <option value="a" SELECTED>a-
UCS/Unicode</option>
- <!-- TMPL_ELSE -->
- <option value="a">a-
UCS/Unicode</option>
- <!-- /TMPL_IF -->
- </select>
- </td>
- </tr>
-
- <td>17- Encoding level</td>
- <td>
- <select name="f17" size="1">
- <!-- TMPL_IF name="f171" -->
- <option value="1" SELECTED>1-Level
1</option>
- <!-- TMPL_ELSE -->
- <option value="1">1-Level 1</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f172" -->
- <option value="2" SELECTED>2-Level
2</option>
- <!-- TMPL_ELSE -->
- <option value="2">2-Level 2</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f173" -->
- <option value="3" SELECTED>3-Level
3</option>
- <!-- TMPL_ELSE -->
- <option value="3">3-Level 3</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f174" -->
- <option value="4" SELECTED>4-Level
4</option>
- <!-- TMPL_ELSE -->
- <option value="4">4-Level 4</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f175" -->
- <option value="5" SELECTED>5-Level 4
with piece designtn.</option>
- <!-- TMPL_ELSE -->
- <option value="5">5-Level 4 with piece
designtn</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f17m" -->
- <option value="m"
SELECTED>m-Mixed</option>
- <!-- TMPL_ELSE -->
- <option value="m">m-Mixed</option>
- <!-- /TMPL_IF -->
-
- <!-- TMPL_IF name="f17u" -->
- <option value="u"
SELECTED>u-Unknown</option>
- <!-- TMPL_ELSE -->
- <option value="u">u-Unknown</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f17z" -->
- <option value="z"
SELECTED>z-Other</option>
- <!-- TMPL_ELSE -->
- <option value="z">z-Other</option>
- <!-- /TMPL_IF -->
-
- </select>
- </td>
- </tr><td>18- Item information in record</td>
- <td>
- <select name="f18" size="1">
- <!-- TMPL_IF name="f18i" -->
- <option value="i" SELECTED>i-Item
information</option>
- <!-- TMPL_ELSE -->
- <option value="i">i-Item
information</option>
- <!-- /TMPL_IF -->
- <!-- TMPL_IF name="f18n" -->
- <option value="n" SELECTED>n-No
information</option>
- <!-- TMPL_ELSE -->
- <option value="n">n-No
information</option>
- <!-- /TMPL_IF -->
-</td>
-
- <tr>
-
- </tr>
-
-
-
-
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
-function report() {
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value =
- ' '+
- document.f_pop.f5.value+
- document.f_pop.f6.value+'||'+
- document.f_pop.f9.value+
- '22 '+
- document.f_pop.f17.value+
- document.f_pop.f18.value+
- '|4500';
-
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_100.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_100.tmpl
diff -N htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_100.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_100.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,48 +0,0 @@
-<html>
-<head>
-<title>UNIMARC Field 100 builder</title>
-</head>
-<body>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>Date d'enregistrement </td>
- <td><input type="text" name="f1" maxlength=8 size=8 value="<!--
TMPL_VAR name="f1" -->"></td>
- </tr>
- <tr>
- <td>Code date publication </td><td><select name="f2" size="1">
- <option value="a" <!-- TMPL_IF name="f2a" -->SELECTED<!--
/TMPL_IF -->>périodique en cours</option>
- <option value="b" <!-- TMPL_IF name="f2b"
-->SELECTED<!-- /TMPL_IF -->>périodique mort</option>
- <option value="c" <!-- TMPL_IF name="f2c"
-->SELECTED<!-- /TMPL_IF -->>périodique d'état inconnu</option>
- <option value="d" <!-- TMPL_IF name="f2d"
-->SELECTED<!-- /TMPL_IF -->>monographie complète</option>
- <option value="e" <!-- TMPL_IF name="f2e"
-->SELECTED<!-- /TMPL_IF -->>reproduction</option>
- </select>
- </td>
- </tr>
- <tr>
- <td>Année début</td>
- <td><input type="text" name="f3" maxlength=4 size=5 value="<!--
TMPL_VAR name="f3" -->"></td>
- </tr>
- <tr>
- <td>Année fin</td>
- <td><input type="text" name="f4" maxlength=4 size=5 value="<!--
TMPL_VAR name="f4" -->"></td>
- </tr>
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
- function report() {
- document.f_pop.f1.value=document.f_pop.f1.value+' ';
- document.f_pop.f3.value=document.f_pop.f3.value+' ';
- document.f_pop.f4.value=document.f_pop.f4.value+' ';
- document.f_pop.f1.value=document.f_pop.f1.value.substring(0,8);
- document.f_pop.f3.value=document.f_pop.f3.value.substring(0,4);
- document.f_pop.f4.value=document.f_pop.f4.value.substring(0,4);
-
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value= document.f_pop.f1.value + document.f_pop.f2.value
+document.f_pop.f3.value +document.f_pop.f4.value;
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_105.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_105.tmpl
diff -N htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_105.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_105.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,48 +0,0 @@
-<html>
-<head>
-<title>UNIMARC Field 100 builder</title>
-</head>
-<body>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>Date d'enregistrement </td>
- <td><input type="text" name="f1" maxlength=8 size=8 value="<!--
TMPL_VAR name="f1" -->"></td>
- </tr>
- <tr>
- <td>Code date publication </td><td><select name="f2" size="1">
- <option value="a" <!-- TMPL_IF name="f2a" -->SELECTED<!--
/TMPL_IF -->>p?riodique en cours</option>
- <option value="b" <!-- TMPL_IF name="f2b"
-->SELECTED<!-- /TMPL_IF -->>p?riodique mort</option>
- <option value="c" <!-- TMPL_IF name="f2c"
-->SELECTED<!-- /TMPL_IF -->>p?riodique d'?tat inconnu</option>
- <option value="d" <!-- TMPL_IF name="f2d"
-->SELECTED<!-- /TMPL_IF -->>monographie compl?te</option>
- <option value="e" <!-- TMPL_IF name="f2e"
-->SELECTED<!-- /TMPL_IF -->>reproduction</option>
- </select>
- </td>
- </tr>
- <tr>
- <td>Ann?e d?but</td>
- <td><input type="text" name="f3" maxlength=4 size=5 value="<!--
TMPL_VAR name="f3" -->"></td>
- </tr>
- <tr>
- <td>Ann?e fin</td>
- <td><input type="text" name="f4" maxlength=4 size=5 value="<!--
TMPL_VAR name="f4" -->"></td>
- </tr>
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
- function report() {
- document.f_pop.f1.value=document.f_pop.f1.value+' ';
- document.f_pop.f3.value=document.f_pop.f3.value+' ';
- document.f_pop.f4.value=document.f_pop.f4.value+' ';
- document.f_pop.f1.value=document.f_pop.f1.value.substring(0,8);
- document.f_pop.f3.value=document.f_pop.f3.value.substring(0,4);
- document.f_pop.f4.value=document.f_pop.f4.value.substring(0,4);
-
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value= document.f_pop.f1.value + document.f_pop.f2.value
+document.f_pop.f3.value +document.f_pop.f4.value;
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_225a.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_225a.tmpl
diff -N htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_225a.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_225a.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-<html>
-<head>
-<title>UNIMARC Field 225a builder</title>
-</head>
-<body>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>Select a collection</td>
- <td><!-- TMPL_VAR name="collection" --></td>
- </tr>
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
- function report() {
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value= document.f_pop.f1.value;
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_60X.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_60X.tmpl
diff -N htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_60X.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_60X.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,109 +0,0 @@
-<html>
-<head>
- <title>Thesaurus search</title>
-</head>
-<body>
- <script>
- function report(value2report) {
- if (document.f_pop.result.value.length==0) {
- document.f_pop.result.value = value2report;
- } else {
- document.f_pop.result.value =
document.f_pop.result.value+'|'+value2report;
- }
- return true;
- }
- </script>
- <script>
- function finish() {
- opener.document.f.field_value[<!-- TMPL_VAR
name="index" -->].value= document.f_pop.result.value;
- self.close();
- return false;
- }
- </script>
- <form name="f_pop" action="plugin_launcher.pl" method="post">
- <input type="hidden" name="plugin_name"
value="unimarc_field_60X.pl">
- <textarea name="result" rows=10 cols=50><!-- TMPL_VAR
name="result" --></textarea>
- <br/><input type="button" value="OK"
onClick="javascript:finish()">
- <p><h2>Recherche</h2>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=A">A</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=B">B</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=C">C</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=D">D</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=E">E</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=F">F</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=G">G</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=H">H</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=I">I</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=J">J</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=K">K</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=L">L</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=M">M</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=N">N</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=O">O</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=P">P</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=Q">Q</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=R">R</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=S">S</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=T">T</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=U">U</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=V">V</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=W">W</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=X">X</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=Y">Y</a>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&search_string=Z">Z</a>
- <br/>
- <input type="text" name="search_string" value="<!--
TMPL_VAR name="search_string" -->">
- <input type="hidden" name="category" value="<!--
TMPL_VAR name="category" -->">
- <input type="hidden" name="index" value="<!-- TMPL_VAR
name="index" -->">
- <input type="hidden" name="op" value="search">
- <input type="submit" value="Chercher">
- </p>
- </form>
- <table>
- <tr>
- <td valign="top">
- <h2>Results</h2>
- <table>
- <!-- TMPL_LOOP name="results" -->
- <tr>
- <td>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&index=<!-- TMPL_VAR
name="index" -->&level=<!-- TMPL_VAR name="level" -->&search_string=<!--
TMPL_VAR name=value ESCAPE=URL -->">
- <!-- TMPL_VAR
name="value" -->
- </a>
- </td>
- <td>
- <input type="button"
value="Reporter" OnClick="javascript:report('<!-- TMPL_VAR name="value"
-->')"><br/>
- </td>
- </tr>
- <!-- /TMPL_LOOP -->
- </table>
- </td>
- <td>
- <!-- TMPL_IF name=deeper -->
- <td valign="top">
- <h2>Dependancies</h2>
- <!-- /TMPL_IF -->
- <table>
- <!-- TMPL_LOOP name="deeper" -->
- <tr><td>
- <a
href="plugin_launcher.pl?plugin_name=unimarc_field_60X.pl&index=<!-- TMPL_VAR
name="index" -->&level=<!-- TMPL_VAR name="level" -->&search_string=<!--
TMPL_VAR ESCAPE="URL" name="father" -->+<!-- TMPL_VAR ESCAPE="URL"
name="stdlib" -->">
- <!-- TMPL_VAR name="father" --> <!--
TMPL_VAR name="stdlib" -->
- </a></td>
- <td>
- <input type="button" value="Reporter"
OnClick="javascript:report('<!-- TMPL_VAR ESCAPE=HTML name="father" --> <!--
TMPL_VAR ESCAPE=HTML name="stdlib" -->')"><br/>
- </td></tr>
- <!-- /TMPL_LOOP -->
- </table>
- </td>
- </tr>
- </table>
-<h2>Adding</h2>
-<form name="f3_pop" action="thesaurus_popup.pl" method="post">
- <input type="hidden" name="index" value="<!-- TMPL_VAR name="index"
-->">
- <input type="hidden" name="op" value="add">
- <input type="hidden" name="category" value="<!-- TMPL_VAR
name="category" -->">
- Create a new authority/thesaurus entry : <input type="text"
name="insert" value="<!-- TMPL_VAR name="search_string" -->">
- <input type="submit" name="NEW" value="Ajouter">
- </form>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_700-4.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_700-4.tmpl
diff -N htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_700-4.tmpl
--- htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_700-4.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,34 +0,0 @@
-<html>
-<head>
-<title>UNIMARC constructeur champ 700-4</title>
-</head>
-<body>
-<p>Sélectionnez la valeur pour le champ 700 $4. Elle sera automatiquement
reportée dans la zone 700 $8 qui suit.</p>
-<form name="f_pop" onSubmit="javascript:report()">
-<table>
- <tr>
- <td>Code date publication </td><td><select name="f1" size="1">
- <option value="075 - postface" <!-- TMPL_IF name="f1_075"
-->SELECTED<!-- /TMPL_IF -->>postface</option>
- <option value="651 - dir. de publication" <!-- TMPL_IF
name="f1_651" -->SELECTED<!-- /TMPL_IF -->>dir. de publication</option>
- <option value="440 - illustrateur" <!-- TMPL_IF
name="f1_440" -->SELECTED<!-- /TMPL_IF -->>illustrateur</option>
- <option value="080 - préface, notes" <!-- TMPL_IF
name="f1_080" -->SELECTED<!-- /TMPL_IF -->>préface, notes</option>
- <option value="730 - traducteur" <!-- TMPL_IF
name="f1_730" -->SELECTED<!-- /TMPL_IF -->>traducteur</option>
- </select>
- </td>
- </tr>
- <tr><td colspan=2><input type="submit" value="OK"></td></tr>
-</table>
-</form>
-<script>
- function report() {
- x = document.f_pop.f1.value.split(' - ');
- opener.document.f.field_value[<!-- TMPL_VAR name="index"
-->].value= x[0];
- if (<!-- TMPL_VAR name="index2" -->>0) {
- opener.document.f.field_value[<!-- TMPL_VAR
name="index2" -->].value= x[1];
- }
- self.close();
- return false;
- }
-</script>
-</body>
-</html>
Index:
htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_700_701_702.tmpl
===================================================================
RCS file:
htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_700_701_702.tmpl
diff -N
htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_700_701_702.tmpl
---
htdocs/intranet-tmpl/default/en/value_builder/unimarc_field_700_701_702.tmpl
10 Mar 2007 01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,65 +0,0 @@
-<html>
-<head>
-<title>Personal Authorities builder</title>
-</head>
-<body>
- <form name="f_pop" action="plugin_launcher.pl" method="post">
- <input type="hidden" name="plugin_name"
value="unimarc_field_700_701_702.pl">
- <textarea name="result" rows=10 cols=60><!-- TMPL_VAR name="result"
--></textarea></br>
- <p><input type="text" name="search_string" value="<!-- TMPL_VAR
name="search_string" -->">
- <input type="hidden" name="index" value="<!-- TMPL_VAR name="index"
-->">
- <input type="hidden" name="op" value="search">
- <input type="hidden" name="a" value="<!-- TMPL_VAR name="a" -->">
- <input type="hidden" name="b" value="<!-- TMPL_VAR name="b" -->">
- <input type="hidden" name="c" value="<!-- TMPL_VAR name="c" -->">
- <input type="hidden" name="f" value="<!-- TMPL_VAR name="f" -->">
- <input type="submit" value="Search"><input type="button" value="END"
onClick="javascript:report()">
- </form>
-<!-- TMPL_IF name="search_string" -->
- <form name="f2_pop" action="plugin_launcher.pl" method="post">
- <input type="hidden" name="plugin_name"
value="unimarc_field_700_701_702.pl">
- <!-- TMPL_VAR name="select_list" -->
- <input type="hidden" name="index" value="<!-- TMPL_VAR name="index"
-->">
- <input type="hidden" name="op" value="select">
- <input type="hidden" name="result" value="<!-- TMPL_VAR name="result"
-->">
- <input type="submit" name="OK" value="OK">
- </form>
-<!-- /TMPL_IF -->
- <form name="f3_pop" action="plugin_launcher.pl" method="post">
- <input type="hidden" name="plugin_name"
value="unimarc_field_700_701_702.pl">
- <input type="hidden" name="index" value="<!-- TMPL_VAR name="index"
-->">
- <input type="hidden" name="op" value="add">
- insert a new authority : <input type="text" name="insert" value="<!--
TMPL_VAR name="search_string" -->">
- <input type="submit" name="NEW" value="NEW">
- </form>
- <script>
- function report() {
- var index_start=<!-- TMPL_VAR name="index" -->;
- opener.document.f.field_value[index_start].value=
document.f_pop.result.value;
- var whichfield =
opener.document.f.tag[index_start].value;
- for (i=index_start ;
i<opener.document.f.field_value.length ; i++) {
- if (opener.document.f.tag[i].value ==
whichfield && opener.document.f.subfield[i].value == 'a') {
- opener.document.f.field_value[i].value
= document.f_pop.a.value;
- }
- }
- for (i=index_start ;
i<opener.document.f.field_value.length ; i++) {
- if (opener.document.f.tag[i].value ==
whichfield && opener.document.f.subfield[i].value == 'b') {
- opener.document.f.field_value[i].value
= document.f_pop.b.value;
- }
- }
- for (i=index_start ;
i<opener.document.f.field_value.length ; i++) {
- if (opener.document.f.tag[i].value ==
whichfield && opener.document.f.subfield[i].value == 'c') {
- opener.document.f.field_value[i].value
= document.f_pop.c.value;
- }
- }
- for (i=index_start ;
i<opener.document.f.field_value.length ; i++) {
- if (opener.document.f.tag[i].value ==
whichfield && opener.document.f.subfield[i].value == 'f') {
- opener.document.f.field_value[i].value
= document.f_pop.f.value;
- }
- }
- self.close();
- return false;
- }
- </script>
-</body>
-</html>
Index: htdocs/intranet-tmpl/default/en/z3950/searchresult.tmpl
===================================================================
RCS file: htdocs/intranet-tmpl/default/en/z3950/searchresult.tmpl
diff -N htdocs/intranet-tmpl/default/en/z3950/searchresult.tmpl
--- htdocs/intranet-tmpl/default/en/z3950/searchresult.tmpl 10 Mar 2007
01:54:30 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,69 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- Catalog: Z3950 Clients
Search<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
-
-
-<div id="main-compact">
-<table>
-<!-- TMPL_IF name="opsearch" -->
-<h3>Select Search Libraries</h3>
-
-
-<form method="post" action="search.pl" name="f">
-
-<input type="hidden" name="op" id="op" value="do_search" />
-<input type="hidden" name="title" value=<!-- TMPL_VAR NAME="title" --> />
-<input type="hidden" name="author" value=<!-- TMPL_VAR NAME="author" --> />
-<input type="hidden" name="isbn" value=<!-- TMPL_VAR NAME="isbn" --> />
-<input type="hidden" name="issn" value=<!-- TMPL_VAR NAME="issn" --> />
-<input type="hidden" name="oldbiblionumber" value="<!-- TMPL_VAR
NAME="oldbiblionumber" -->" />
-
-<tr>
- <th>Library</th>
- <th>Select</th>
-</tr>
-<!-- TMPL_LOOP name="serverloop" -->
- <tr bgcolor="<!-- TMPL_VAR NAME="toggle" -->">
- <td><!-- TMPL_VAR NAME="server" --></td>
-
- <td> <input type="checkbox" name="id" value=<!--
TMPL_VAR NAME="id" --> <!-- TMPL_IF name="checked" -->checked="1"<!-- /TMPL_IF
--> ></td>
- </tr>
- <!-- /TMPL_LOOP -->
- <tr><td><input type="submit" class="submit" value="Search internet"
onclick="cursor :'wait'";
- /></td></tr></form>
-<!-- TMPL_ELSE -->
-
-<caption>Bibliographic Records Found in <!-- TMPL_VAR NAME="server"
--></caption>
- <tr>
- <th>Title</th>
- <th>Author</th>
- <th>ISBN</th>
- <th> </th>
- <th> </th>
- </tr>
- <!-- TMPL_IF name="breeding_loop" -->
- <!-- TMPL_LOOP name="breeding_loop" -->
- <tr bgcolor="<!-- TMPL_VAR NAME="toggle" -->">
- <td><!-- TMPL_VAR NAME="title" --></a>
- <td><!-- TMPL_VAR NAME="author" --></td>
- <td><!-- TMPL_VAR NAME="isbn" --></td>
- <td><a href="javascript:Import(<!-- TMPL_VAR NAME="id"
-->,<!-- TMPL_VAR NAME="oldbiblionumber" -->)">Import</a></td>
-
- </tr>
- <!-- /TMPL_LOOP -->
- <!-- TMPL_ELSE -->
- <tr><td colspan="6">Nothing found</td></tr>
- <!-- /TMPL_IF -->
-</table>
-<!-- /TMPL_IF -->
-
-</div>
-<!-- TMPL_IF name="numberpending" --><h3 align="center"> <!-- TMPL_VAR
NAME="numberpending" --> more servers to search</h3><!-- /TMPL_IF -->
-<script language="JavaScript" type="text/javascript">
- function Import(GetThisOne,biblionumber) {
- opener.document.location=
"../cataloguing/addbiblio.pl?oldbiblionumber="+biblionumber+"&z3950=1&breedingid="+GetThisOne;
- self.close();
- return false;
- }
-</script>
-</div>
-<!-- TMPL_INCLUDE name="acquisitions-bottom.inc" -->
-
Index: htdocs/intranet-tmpl/default/images/1downarrow.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/1downarrow.png
diff -N htdocs/intranet-tmpl/default/images/1downarrow.png
Binary files /tmp/cvsrQv5t7 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/1leftarrow.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/1leftarrow.png
diff -N htdocs/intranet-tmpl/default/images/1leftarrow.png
Binary files /tmp/cvs4wvmA6 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/1rightarrow.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/1rightarrow.png
diff -N htdocs/intranet-tmpl/default/images/1rightarrow.png
Binary files /tmp/cvshxXwja and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/1uparrow.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/1uparrow.png
diff -N htdocs/intranet-tmpl/default/images/1uparrow.png
Binary files /tmp/cvsoPHzdc and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/2downarrow.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/2downarrow.png
diff -N htdocs/intranet-tmpl/default/images/2downarrow.png
Binary files /tmp/cvsj2A4nb and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/2leftarrow.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/2leftarrow.png
diff -N htdocs/intranet-tmpl/default/images/2leftarrow.png
Binary files /tmp/cvsEiLJwd and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/2rightarrow.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/2rightarrow.png
diff -N htdocs/intranet-tmpl/default/images/2rightarrow.png
Binary files /tmp/cvsb9EMDh and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/2uparrow.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/2uparrow.png
diff -N htdocs/intranet-tmpl/default/images/2uparrow.png
Binary files /tmp/cvsqKmMbj and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/AB.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/AB.gif
diff -N htdocs/intranet-tmpl/default/images/AB.gif
Binary files /tmp/cvs9Udn5l and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/AC.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/AC.gif
diff -N htdocs/intranet-tmpl/default/images/AC.gif
Binary files /tmp/cvsmFFZkl and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/AF.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/AF.gif
diff -N htdocs/intranet-tmpl/default/images/AF.gif
Binary files /tmp/cvstW8KFq and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/AV.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/AV.gif
diff -N htdocs/intranet-tmpl/default/images/AV.gif
Binary files /tmp/cvsD29c2p and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/AVJ.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/AVJ.gif
diff -N htdocs/intranet-tmpl/default/images/AVJ.gif
Binary files /tmp/cvsU4n8Us and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/AVJN.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/AVJN.gif
diff -N htdocs/intranet-tmpl/default/images/AVJN.gif
Binary files /tmp/cvslarcYx and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/AVJNF.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/AVJNF.gif
diff -N htdocs/intranet-tmpl/default/images/AVJNF.gif
Binary files /tmp/cvsMZIjnA and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/AVNF.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/AVNF.gif
diff -N htdocs/intranet-tmpl/default/images/AVNF.gif
Binary files /tmp/cvstD6bIE and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/Audiobook (cassette).gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/Audiobook (cassette).gif
diff -N htdocs/intranet-tmpl/default/images/Audiobook (cassette).gif
Binary files /tmp/cvsiRKuuG and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/Audiobook.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/Audiobook.gif
diff -N htdocs/intranet-tmpl/default/images/Audiobook.gif
Binary files /tmp/cvsFpHywP and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/BCD.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/BCD.gif
diff -N htdocs/intranet-tmpl/default/images/BCD.gif
Binary files /tmp/cvsKdMmtQ and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/BIO.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/BIO.gif
diff -N htdocs/intranet-tmpl/default/images/BIO.gif
Binary files /tmp/cvsVEW6NS and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/BOOK.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/BOOK.gif
diff -N htdocs/intranet-tmpl/default/images/BOOK.gif
Binary files /tmp/cvsARNnSW and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/Biography.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/Biography.gif
diff -N htdocs/intranet-tmpl/default/images/Biography.gif
Binary files /tmp/cvsTF1yJY and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/Book on Tape.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/Book on Tape.gif
diff -N htdocs/intranet-tmpl/default/images/Book on Tape.gif
Binary files /tmp/cvsmxyhq1 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/CD-R.GIF
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/CD-R.GIF
diff -N htdocs/intranet-tmpl/default/images/CD-R.GIF
Binary files /tmp/cvszpeJ63 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/CD.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/CD.gif
diff -N htdocs/intranet-tmpl/default/images/CD.gif
Binary files /tmp/cvsGB48k3 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/CD_.GIF
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/CD_.GIF
diff -N htdocs/intranet-tmpl/default/images/CD_.GIF
Binary files /tmp/cvslrvS56 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/CHD.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/CHD.gif
diff -N htdocs/intranet-tmpl/default/images/CHD.gif
Binary files /tmp/cvsC4JNp8 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/DVD.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/DVD.gif
diff -N htdocs/intranet-tmpl/default/images/DVD.gif
Binary files /tmp/cvsv5O8y9 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/FIC.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/FIC.gif
diff -N htdocs/intranet-tmpl/default/images/FIC.gif
Binary files /tmp/cvsUNla47 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/Fleche.jpg
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/Fleche.jpg
diff -N htdocs/intranet-tmpl/default/images/Fleche.jpg
Binary files /tmp/cvsFXwODb and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/GoogleG.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/GoogleG.gif
diff -N htdocs/intranet-tmpl/default/images/GoogleG.gif
Binary files /tmp/cvsmqRQf3 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/JF.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/JF.gif
diff -N htdocs/intranet-tmpl/default/images/JF.gif
Binary files /tmp/cvshpxsG1 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/JNF.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/JNF.gif
diff -N htdocs/intranet-tmpl/default/images/JNF.gif
Binary files /tmp/cvssqn2c5 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/JRNL.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/JRNL.gif
diff -N htdocs/intranet-tmpl/default/images/JRNL.gif
Binary files /tmp/cvsdmjc24 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/POEM.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/POEM.gif
diff -N htdocs/intranet-tmpl/default/images/POEM.gif
Binary files /tmp/cvsVYXVi8 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/REF.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/REF.gif
diff -N htdocs/intranet-tmpl/default/images/REF.gif
Binary files /tmp/cvsGuvRR6 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/RES.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/RES.gif
diff -N htdocs/intranet-tmpl/default/images/RES.gif
Binary files /tmp/cvspHZ8Y9 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/STO.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/STO.gif
diff -N htdocs/intranet-tmpl/default/images/STO.gif
Binary files /tmp/cvs8JR5Z8 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/VCD.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/VCD.gif
diff -N htdocs/intranet-tmpl/default/images/VCD.gif
Binary files /tmp/cvs1zcZL9 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/VCD_.GIF
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/VCD_.GIF
diff -N htdocs/intranet-tmpl/default/images/VCD_.GIF
Binary files /tmp/cvsezDewd and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/VHS.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/VHS.gif
diff -N htdocs/intranet-tmpl/default/images/VHS.gif
Binary files /tmp/cvsZEQ0Ob and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/add.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/add.gif
diff -N htdocs/intranet-tmpl/default/images/add.gif
Binary files /tmp/cvsYl7SUe and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/addtobasket.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/addtobasket.gif
diff -N htdocs/intranet-tmpl/default/images/addtobasket.gif
Binary files /tmp/cvs5EsOJf and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/addtoshelf.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/addtoshelf.gif
diff -N htdocs/intranet-tmpl/default/images/addtoshelf.gif
Binary files /tmp/cvs4aLY9d and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/arrow-big.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/arrow-big.gif
diff -N htdocs/intranet-tmpl/default/images/arrow-big.gif
Binary files /tmp/cvsV8M9nh and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/arrow.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/arrow.gif
diff -N htdocs/intranet-tmpl/default/images/arrow.gif
Binary files /tmp/cvsar1Upi and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/back.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/back.gif
diff -N htdocs/intranet-tmpl/default/images/back.gif
Binary files /tmp/cvsh0VwLg and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/background-mem.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/background-mem.gif
diff -N htdocs/intranet-tmpl/default/images/background-mem.gif
Binary files /tmp/cvsQdePOj and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/background-opac.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/background-opac.gif
diff -N htdocs/intranet-tmpl/default/images/background-opac.gif
Binary files /tmp/cvsl1UgGk and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/bar.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/bar.gif
diff -N htdocs/intranet-tmpl/default/images/bar.gif
Binary files /tmp/cvsnp8Fpj and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/basket.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/basket.gif
diff -N htdocs/intranet-tmpl/default/images/basket.gif
Binary files /tmp/cvsC6kSvm and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/basket01.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/basket01.gif
diff -N htdocs/intranet-tmpl/default/images/basket01.gif
Binary files /tmp/cvsnROj4k and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/bg.jpg
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/bg.jpg
diff -N htdocs/intranet-tmpl/default/images/bg.jpg
Binary files /tmp/cvscgM4Nl and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/bg2.jpg
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/bg2.jpg
diff -N htdocs/intranet-tmpl/default/images/bg2.jpg
Binary files /tmp/cvsBdTZ5o and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/blue_down.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/blue_down.gif
diff -N htdocs/intranet-tmpl/default/images/blue_down.gif
Binary files /tmp/cvskXcaFn and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/blue_right.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/blue_right.gif
diff -N htdocs/intranet-tmpl/default/images/blue_right.gif
Binary files /tmp/cvsdQ0zqo and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/blue_up.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/blue_up.gif
diff -N htdocs/intranet-tmpl/default/images/blue_up.gif
Binary files /tmp/cvsmwS7yr and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/book1.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/book1.gif
diff -N htdocs/intranet-tmpl/default/images/book1.gif
Binary files /tmp/cvs1QUaYp and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/book2.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/book2.gif
diff -N htdocs/intranet-tmpl/default/images/book2.gif
Binary files /tmp/cvsNAh3Dq and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/checkall.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/checkall.gif
diff -N htdocs/intranet-tmpl/default/images/checkall.gif
Binary files /tmp/cvsSMiQYt and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/clip.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/clip.gif
diff -N htdocs/intranet-tmpl/default/images/clip.gif
Binary files /tmp/cvstFzmos and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/cross.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/cross.gif
diff -N htdocs/intranet-tmpl/default/images/cross.gif
Binary files /tmp/cvsmRgEct and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/edittrash.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/edittrash.png
diff -N htdocs/intranet-tmpl/default/images/edittrash.png
Binary files /tmp/cvsZQ9kmw and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/erase.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/erase.gif
diff -N htdocs/intranet-tmpl/default/images/erase.gif
Binary files /tmp/cvsC0Fdiv and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/exit.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/exit.gif
diff -N htdocs/intranet-tmpl/default/images/exit.gif
Binary files /tmp/cvs89Crqy and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/filefind.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/filefind.png
diff -N htdocs/intranet-tmpl/default/images/filefind.png
Binary files /tmp/cvsZyX1cz and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/fileimport.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/fileimport.png
diff -N htdocs/intranet-tmpl/default/images/fileimport.png
Binary files /tmp/cvsCQKKzx and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/filenew.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/filenew.png
diff -N htdocs/intranet-tmpl/default/images/filenew.png
Binary files /tmp/cvslDxely and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/fileopen.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/fileopen.gif
diff -N htdocs/intranet-tmpl/default/images/fileopen.gif
Binary files /tmp/cvsW9HfuB and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/fileopen.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/fileopen.png
diff -N htdocs/intranet-tmpl/default/images/fileopen.png
Binary files /tmp/cvsTH9gUz and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/fileprint.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/fileprint.png
diff -N htdocs/intranet-tmpl/default/images/fileprint.png
Binary files /tmp/cvsOo0PFA and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/filesave.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/filesave.png
diff -N htdocs/intranet-tmpl/default/images/filesave.png
Binary files /tmp/cvst76lGD and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/front-arrow.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/front-arrow.gif
diff -N htdocs/intranet-tmpl/default/images/front-arrow.gif
Binary files /tmp/cvskyWr8B and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/front-background-med.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/front-background-med.gif
diff -N htdocs/intranet-tmpl/default/images/front-background-med.gif
Binary files /tmp/cvsdaaP7C and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/front-background-small.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/front-background-small.gif
diff -N htdocs/intranet-tmpl/default/images/front-background-small.gif
Binary files /tmp/cvsABvF6F and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/gohome.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/gohome.png
diff -N htdocs/intranet-tmpl/default/images/gohome.png
Binary files /tmp/cvsjOXnwE and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/help.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/help.gif
diff -N htdocs/intranet-tmpl/default/images/help.gif
Binary files /tmp/cvsMYb8kF and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/historial.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/historial.gif
diff -N htdocs/intranet-tmpl/default/images/historial.gif
Binary files /tmp/cvsPptODI and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/imageKoha.jpg
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/imageKoha.jpg
diff -N htdocs/intranet-tmpl/default/images/imageKoha.jpg
Binary files /tmp/cvso9Bc3G and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/key.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/key.gif
diff -N htdocs/intranet-tmpl/default/images/key.gif
Binary files /tmp/cvsDwwCJH and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/koha-logo.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/koha-logo.gif
diff -N htdocs/intranet-tmpl/default/images/koha-logo.gif
Binary files /tmp/cvsnh97SK and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/less.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/less.gif
diff -N htdocs/intranet-tmpl/default/images/less.gif
Binary files /tmp/cvsaajdrJ and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/logo_ej.jpg
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/logo_ej.jpg
diff -N htdocs/intranet-tmpl/default/images/logo_ej.jpg
Binary files /tmp/cvshd67oK and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/logout.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/logout.gif
diff -N htdocs/intranet-tmpl/default/images/logout.gif
Binary files /tmp/cvs0TfNEN and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/lupe.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/lupe.gif
diff -N htdocs/intranet-tmpl/default/images/lupe.gif
Binary files /tmp/cvsJkR6dM and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/m_2_s.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/m_2_s.gif
diff -N htdocs/intranet-tmpl/default/images/m_2_s.gif
Binary files /tmp/cvsEPEcuP and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/mail_get.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/mail_get.png
diff -N htdocs/intranet-tmpl/default/images/mail_get.png
Binary files /tmp/cvsvW3UpQ and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/mail_send.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/mail_send.png
diff -N htdocs/intranet-tmpl/default/images/mail_send.png
Binary files /tmp/cvsyV3vOO and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/minus.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/minus.gif
diff -N htdocs/intranet-tmpl/default/images/minus.gif
Binary files /tmp/cvsxfj1aS and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/money.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/money.gif
diff -N htdocs/intranet-tmpl/default/images/money.gif
Binary files /tmp/cvsCFNxWQ and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/monog.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/monog.gif
diff -N htdocs/intranet-tmpl/default/images/monog.gif
Binary files /tmp/cvs5jaQqU and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/more.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/more.gif
diff -N htdocs/intranet-tmpl/default/images/more.gif
Binary files /tmp/cvsIQnGaV and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/no_zip.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/no_zip.gif
diff -N htdocs/intranet-tmpl/default/images/no_zip.gif
Binary files /tmp/cvsJd3VkT and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/nophoto.GIF
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/nophoto.GIF
diff -N htdocs/intranet-tmpl/default/images/nophoto.GIF
Binary files /tmp/cvsSeIBeU and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/nophoto.jpg
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/nophoto.jpg
diff -N htdocs/intranet-tmpl/default/images/nophoto.jpg
Binary files /tmp/cvsrBwK5W and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/password.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/password.gif
diff -N htdocs/intranet-tmpl/default/images/password.gif
Binary files /tmp/cvsIBsVOX and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/pdf-cacelled.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/pdf-cacelled.gif
diff -N htdocs/intranet-tmpl/default/images/pdf-cacelled.gif
Binary files /tmp/cvshjvHlW and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/pdf.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/pdf.gif
diff -N htdocs/intranet-tmpl/default/images/pdf.gif
Binary files /tmp/cvsy4xuqZ and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/plus.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/plus.gif
diff -N htdocs/intranet-tmpl/default/images/plus.gif
Binary files /tmp/cvsD8wbd0 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/print.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/print.gif
diff -N htdocs/intranet-tmpl/default/images/print.gif
Binary files /tmp/cvsWqepqY and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/rev.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/rev.gif
diff -N htdocs/intranet-tmpl/default/images/rev.gif
Binary files /tmp/cvsZ13MK1 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/spacer.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/spacer.gif
diff -N htdocs/intranet-tmpl/default/images/spacer.gif
Binary files /tmp/cvsUuuwv2 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/square-w.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/square-w.gif
diff -N htdocs/intranet-tmpl/default/images/square-w.gif
Binary files /tmp/cvs9lEAQ0 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/ths.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/ths.gif
diff -N htdocs/intranet-tmpl/default/images/ths.gif
Binary files /tmp/cvsAtrlI1 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/user.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/user.gif
diff -N htdocs/intranet-tmpl/default/images/user.gif
Binary files /tmp/cvslbkFM4 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/valid-xhtml10.png
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/valid-xhtml10.png
diff -N htdocs/intranet-tmpl/default/images/valid-xhtml10.png
Binary files /tmp/cvswx0R12 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/warning.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/warning.gif
diff -N htdocs/intranet-tmpl/default/images/warning.gif
Binary files /tmp/cvsfl8kK3 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/warning32x32.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/warning32x32.gif
diff -N htdocs/intranet-tmpl/default/images/warning32x32.gif
Binary files /tmp/cvsKvB9X6 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/world1.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/world1.gif
diff -N htdocs/intranet-tmpl/default/images/world1.gif
Binary files /tmp/cvsHNd5F7 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/world2.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/world2.gif
diff -N htdocs/intranet-tmpl/default/images/world2.gif
Binary files /tmp/cvskZso45 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/zip.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/zip.gif
diff -N htdocs/intranet-tmpl/default/images/zip.gif
Binary files /tmp/cvsl0oxi9 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/Science fiction/Fantasy.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/Science fiction/Fantasy.gif
diff -N htdocs/intranet-tmpl/default/images/Science fiction/Fantasy.gif
Binary files /tmp/cvsamE8X7 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/1-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/1-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/1-highlight.gif
Binary files /tmp/cvs1KSpT8 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/1.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/1.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/1.gif
Binary files /tmp/cvsWOlI2b and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/10-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/10-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/10-highlight.gif
Binary files /tmp/cvszLamYa and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/10.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/10.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/10.gif
Binary files /tmp/cvsgROAce and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/11-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/11-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/11-highlight.gif
Binary files /tmp/cvssgcYR5 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/11.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/11.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/11.gif
Binary files /tmp/cvsjfjFu4 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/12-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/12-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/12-highlight.gif
Binary files /tmp/cvsaxmBu5 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/12.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/12.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/12.gif
Binary files /tmp/cvsjznmH8 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/13-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/13-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/13-highlight.gif
Binary files /tmp/cvs00S2e7 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/13.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/13.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/13.gif
Binary files /tmp/cvsTOhXIa and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/14-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/14-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/14-highlight.gif
Binary files /tmp/cvsoabcBb and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/14.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/14.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/14.gif
Binary files /tmp/cvsMliSia and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/15-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/15-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/15-highlight.gif
Binary files /tmp/cvs9mrtqd and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/15.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/15.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/15.gif
Binary files /tmp/cvssppRNb and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/16-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/16-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/16-highlight.gif
Binary files /tmp/cvszx1Hzc and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/16.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/16.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/16.gif
Binary files /tmp/cvsQjEPLf and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/17-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/17-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/17-highlight.gif
Binary files /tmp/cvsfIFtfe and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/17.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/17.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/17.gif
Binary files /tmp/cvsga6v1h and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/18-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/18-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/18-highlight.gif
Binary files /tmp/cvsFWN8Ri and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/18.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/18.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/18.gif
Binary files /tmp/cvsAVtdHh and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/19-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/19-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/19-highlight.gif
Binary files /tmp/cvsDI4laj and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/19.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/19.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/19.gif
Binary files /tmp/cvsE4Uuhk and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/2-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/2-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/2-highlight.gif
Binary files /tmp/cvsvl4Rzn and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/2.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/2.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/2.gif
Binary files /tmp/cvsngB92l and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/20-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/20-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/20-highlight.gif
Binary files /tmp/cvsKHXtpp and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/20.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/20.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/20.gif
Binary files /tmp/cvsnriwdq and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/21-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/21-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/21-highlight.gif
Binary files /tmp/cvseobX8o and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/21.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/21.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/21.gif
Binary files /tmp/cvs0bp4yq and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/22-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/22-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/22-highlight.gif
Binary files /tmp/cvsh0ASiu and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/22.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/22.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/22.gif
Binary files /tmp/cvsSkhCZs and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/23-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/23-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/23-highlight.gif
Binary files /tmp/cvsFVR3Ot and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/23.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/23.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/23.gif
Binary files /tmp/cvsuFXPcx and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/24-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/24-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/24-highlight.gif
Binary files /tmp/cvsnV4OKv and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/24.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/24.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/24.gif
Binary files /tmp/cvs0S8CUy and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/25-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/25-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/25-highlight.gif
Binary files /tmp/cvsLcoiAE and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/25.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/25.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/25.gif
Binary files /tmp/cvs2CTnkG and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/26-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/26-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/26-highlight.gif
Binary files /tmp/cvsBsRltF and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/26.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/26.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/26.gif
Binary files /tmp/cvsGuJLRI and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/27-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/27-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/27-highlight.gif
Binary files /tmp/cvsBqBa9H and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/27.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/27.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/27.gif
Binary files /tmp/cvsqurSlL and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/28-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/28-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/28-highlight.gif
Binary files /tmp/cvsf6HekK and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/28.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/28.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/28.gif
Binary files /tmp/cvsUejL8N and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/29-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/29-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/29-highlight.gif
Binary files /tmp/cvs9jqW6P and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/29.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/29.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/29.gif
Binary files /tmp/cvs8KMdTQ and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/3-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/3-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/3-highlight.gif
Binary files /tmp/cvsTcaszP and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/3.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/3.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/3.gif
Binary files /tmp/cvsC6fBQS and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/30-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/30-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/30-highlight.gif
Binary files /tmp/cvsvLPxAR and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/30.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/30.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/30.gif
Binary files /tmp/cvsk1e5oS and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/31-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/31-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/31-highlight.gif
Binary files /tmp/cvsbBwmPV and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/31.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/31.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/31.gif
Binary files /tmp/cvsiK5lqU and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/4-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/4-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/4-highlight.gif
Binary files /tmp/cvsvAKFZX and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/4.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/4.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/4.gif
Binary files /tmp/cvsWdkfGW and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/5-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/5-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/5-highlight.gif
Binary files /tmp/cvsjpzF6Z and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/5.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/5.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/5.gif
Binary files /tmp/cvsmC5gTY and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/6-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/6-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/6-highlight.gif
Binary files /tmp/cvs35OeQZ and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/6.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/6.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/6.gif
Binary files /tmp/cvsoYAb12 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/7-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/7-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/7-highlight.gif
Binary files /tmp/cvsx2oyz1 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/7.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/7.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/7.gif
Binary files /tmp/cvs4q9F14 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/8-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/8-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/8-highlight.gif
Binary files /tmp/cvsXmUFU3 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/8.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/8.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/8.gif
Binary files /tmp/cvsK1AQk7 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/9-highlight.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/9-highlight.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/9-highlight.gif
Binary files /tmp/cvsfn9c05 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/9.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/9.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/9.gif
Binary files /tmp/cvsaC6396 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/next.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/next.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/next.gif
Binary files /tmp/cvsqTGot9 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/placeholder.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/placeholder.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/placeholder.gif
Binary files /tmp/cvspCa5q8 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/prev.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/prev.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/prev.gif
Binary files /tmp/cvs0lgO3a and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/background-opac.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/background-opac.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/background-opac.gif
Binary files /tmp/cvsTqIq7g and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/front-arrow.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/front-arrow.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/front-arrow.gif
Binary files /tmp/cvs6sbYsi and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/front-background-med.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/front-background-med.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/front-background-med.gif
Binary files /tmp/cvszPl1gh and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/front-background-small.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/front-background-small.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/front-background-small.gif
Binary files /tmp/cvsTGwdNl and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/1-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/1-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/1-highlight.gif
Binary files /tmp/cvsGHwOtk and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/1.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/1.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/1.gif
Binary files /tmp/cvsPH451n and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/10-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/10-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/10-highlight.gif
Binary files /tmp/cvsyt8som and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/10.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/10.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/10.gif
Binary files /tmp/cvsBF7Smn and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/11-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/11-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/11-highlight.gif
Binary files /tmp/cvs2ofI7s and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/11.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/11.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/11.gif
Binary files /tmp/cvs8sKzbv and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/12-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/12-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/12-highlight.gif
Binary files /tmp/cvsDPFkDu and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/12.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/12.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/12.gif
Binary files /tmp/cvsbLrq8x and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/13-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/13-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/13-highlight.gif
Binary files /tmp/cvs4W9EMw and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/13.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/13.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/13.gif
Binary files /tmp/cvsJLLu3z and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/14-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/14-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/14-highlight.gif
Binary files /tmp/cvsk6X1oy and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/14.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/14.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/14.gif
Binary files /tmp/cvsT71Fpz and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/15-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/15-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/15-highlight.gif
Binary files /tmp/cvs4edNPC and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/15.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/15.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/15.gif
Binary files /tmp/cvsl7jJoB and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/16-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/16-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/16-highlight.gif
Binary files /tmp/cvs8L9kKE and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/16.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/16.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/16.gif
Binary files /tmp/cvsrpsDqD and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/17-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/17-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/17-highlight.gif
Binary files /tmp/cvsozmOSG and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/17.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/17.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/17.gif
Binary files /tmp/cvsXmlRXH and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/18-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/18-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/18-highlight.gif
Binary files /tmp/cvsenTpJG and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/18.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/18.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/18.gif
Binary files /tmp/cvsZCty6J and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/19-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/19-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/19-highlight.gif
Binary files /tmp/cvsCo3eLI and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/19.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/19.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/19.gif
Binary files /tmp/cvsRlb4mM and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/2-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/2-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/2-highlight.gif
Binary files /tmp/cvsQGldbL and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/2.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/2.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/2.gif
Binary files /tmp/cvsnskZJV and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/20-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/20-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/20-highlight.gif
Binary files /tmp/cvsp4PcsW and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/20.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/20.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/20.gif
Binary files /tmp/cvsApoP3U and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/21-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/21-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/21-highlight.gif
Binary files /tmp/cvsLuURfY and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/21.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/21.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/21.gif
Binary files /tmp/cvsOjFCkX and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/22-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/22-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/22-highlight.gif
Binary files /tmp/cvspR3GQ0 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/22.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/22.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/22.gif
Binary files /tmp/cvsqxczjZ and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/23-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/23-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/23-highlight.gif
Binary files /tmp/cvsUNDDi0 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/23.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/23.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/23.gif
Binary files /tmp/cvshlrXi3 and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/24-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/24-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/24-highlight.gif
Binary files /tmp/cvsGro7K1 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/24.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/24.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/24.gif
Binary files /tmp/cvsH7oVP2 and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/25-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/25-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/25-highlight.gif
Binary files /tmp/cvs4OaM75 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/25.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/25.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/25.gif
Binary files /tmp/cvs3Tm8r4 and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/26-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/26-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/26-highlight.gif
Binary files /tmp/cvs4pvAM7 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/26.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/26.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/26.gif
Binary files /tmp/cvsdubYw8 and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/27-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/27-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/27-highlight.gif
Binary files /tmp/cvsKnHU36 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/27.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/27.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/27.gif
Binary files /tmp/cvshfW8Ba and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/28-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/28-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/28-highlight.gif
Binary files /tmp/cvs6OPEx9 and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/28.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/28.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/28.gif
Binary files /tmp/cvsVbOVKc and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/29-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/29-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/29-highlight.gif
Binary files /tmp/cvsyS9ZHd and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/29.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/29.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/29.gif
Binary files /tmp/cvsxnKTmc and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/3-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/3-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/3-highlight.gif
Binary files /tmp/cvsWBTMtf and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/3.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/3.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/3.gif
Binary files /tmp/cvsn9g1ie and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/30-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/30-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/30-highlight.gif
Binary files /tmp/cvshyR43e and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/30.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/30.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/30.gif
Binary files /tmp/cvsesi4ji and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/31-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/31-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/31-highlight.gif
Binary files /tmp/cvsbS4OIg and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/31.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/31.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/31.gif
Binary files /tmp/cvss5SV9j and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/4-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/4-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/4-highlight.gif
Binary files /tmp/cvsjFJeXk and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/4.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/4.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/4.gif
Binary files /tmp/cvsPxgRbc and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/5-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/5-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/5-highlight.gif
Binary files /tmp/cvsCqVBLa and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/5.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/5.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/5.gif
Binary files /tmp/cvsH1qyDb and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/6-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/6-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/6-highlight.gif
Binary files /tmp/cvsa6lLUe and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/6.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/6.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/6.gif
Binary files /tmp/cvstl9rPd and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/7-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/7-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/7-highlight.gif
Binary files /tmp/cvs6k6I4g and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/7.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/7.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/7.gif
Binary files /tmp/cvsZKbslg and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/8-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/8-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/8-highlight.gif
Binary files /tmp/cvs4qqnTj and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/8.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/8.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/8.gif
Binary files /tmp/cvs1OYgki and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/9-highlight.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/9-highlight.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/9-highlight.gif
Binary files /tmp/cvsUx0kUl and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/9.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/9.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/9.gif
Binary files /tmp/cvsJnly3k and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/next.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/next.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/next.gif
Binary files /tmp/cvso751no and /dev/null differ
Index:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/placeholder.gif
===================================================================
RCS file:
htdocs/intranet-tmpl/default/images/numbers/images/numbers/placeholder.gif
diff -N
htdocs/intranet-tmpl/default/images/numbers/images/numbers/placeholder.gif
Binary files /tmp/cvsXqrQ7m and /dev/null differ
Index: htdocs/intranet-tmpl/default/images/numbers/images/numbers/prev.gif
===================================================================
RCS file: htdocs/intranet-tmpl/default/images/numbers/images/numbers/prev.gif
diff -N htdocs/intranet-tmpl/default/images/numbers/images/numbers/prev.gif
Binary files /tmp/cvsE4mjnq and /dev/null differ
Index: modules/C4/AcademicInfo.pm
===================================================================
RCS file: modules/C4/AcademicInfo.pm
diff -N modules/C4/AcademicInfo.pm
--- modules/C4/AcademicInfo.pm 10 Mar 2007 01:35:33 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,258 +0,0 @@
-package C4::AcademicInfo;
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-use strict;
-require Exporter;
-use C4::Context;
-
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = 0.01;
-
address@hidden = qw(Exporter);
address@hidden = qw(
- &academic_information
- &get_careers
- &get_career
- &get_academic_info
- &add_academic_info
- &update_academic_info
- &del_academic_info
- &get_careers_by_institution
- &get_educational_institution
- &add_educational_institution
- &update_educational_institution
- &add_career
- &update_career
- &del_educational_institution
- &del_career
- &get_educational_institutions
-);
-
-
-sub academic_information {
- my ($borrowernumber) = @_;
- my $dbh = C4::Context->dbh;
- my @info;
- my $query = "SELECT *
- FROM
- educational_institutions AS I
- LEFT JOIN careers AS C ON
C.id_institution = I.id_institution
- LEFT JOIN academic_information AS A ON
A.id_career = C.id_career
- WHERE
- borrowernumber = ?
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute($borrowernumber);
- while (my $row = $sth->fetchrow_hashref) {
- push @info, $row;
- }
- return (scalar(@info), @info);
-}
-
-sub get_academic_info {
- my ($id_career, $borrowernumber) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("SELECT * FROM academic_information WHERE
id_career = ? AND borrowernumber = ?");
- $sth->execute($id_career, $borrowernumber);
- if ($sth->rows) {
- return ($sth->fetchrow_hashref);
- } else {
- return 0;
- }
-}
-
-sub del_academic_info {
- my ($id_career, $borrowernumber) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("DELETE FROM academic_information WHERE
id_career = ? AND borrowernumber = ? ");
- $sth->execute($id_career, $borrowernumber);
- $sth->finish;
- return 1;
-}
-
-sub add_academic_info {
- my ($id_career, $borrowernumber, $student_number, $enter_year,
$leave_year, $notes) = @_;
- if (!get_academic_info($id_career, $borrowernumber)) {
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("INSERT INTO academic_information
(id_career, borrowernumber, student_number, enter_year, leave_year, notes)
VALUES (?,?,?,?,?,?)");
- $sth->execute($id_career, $borrowernumber, $student_number,
$enter_year, $leave_year, $notes);
- $sth->finish;
- return 1;
- } else {
- return 0;
- }
-}
-
-sub update_academic_info {
- my ($id_career, $borrowernumber, $student_number, $enter_year,
$leave_year, $notes) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("UPDATE academic_information SET student_number
= ?, enter_year = ?, leave_year = ?, notes = ? WHERE id_career = ? AND
borrowernumber = ?");
- $sth->execute($student_number, $enter_year, $leave_year, $notes,
$id_career, $borrowernumber);
- $sth->finish;
- return 1;
-}
-
-
-sub get_career {
- my ($id_career) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("SELECT * FROM educational_institutions LEFT
JOIN careers on educational_institutions.id_institution =
careers.id_institution where id_career = ?");
- $sth->execute($id_career);
- my $info = $sth->fetchrow_hashref;
- $sth->finish;
- return $info;
-}
-
-sub get_educational_institution {
- my ($id_institution) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("SELECT * FROM educational_institutions WHERE
id_institution = ? ORDER BY institution_name");
- $sth->execute($id_institution);
- my $info = $sth->fetchrow_hashref;
- $sth->finish;
- return $info;
-}
-
-sub get_educational_institutions {
- my $dbh = C4::Context->dbh;
- my @results;
- my $sth = $dbh->prepare("SELECT * FROM educational_institutions ORDER
BY institution_name");
- $sth->execute();
- while (my $info = $sth->fetchrow_hashref) {
- push @results, $info;
- }
- $sth->finish;
- return @results;
-}
-
-sub get_careers {
- my $dbh = C4::Context->dbh;
- my @careers;
- my $sth = $dbh->prepare("SELECT * FROM educational_institutions LEFT
JOIN careers ON educational_institutions.id_institution =
careers.id_institution ORDER BY career_name");
- $sth->execute();
- while (my $row = $sth->fetchrow_hashref) {
- $row->{'full_description'} = $row->{'career_name'} . ' - ' .
$row->{'institution_name'};
- push @careers, $row;
- }
- return (scalar(@careers), @careers);
-}
-
-sub get_careers_by_institution {
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("SELECT * FROM educational_institutions");
- $sth->execute;
-
- my @results;
- while (my ($id, $name) = $sth->fetchrow) {
- my %hash;
- $hash{'id_institution'} = $id;
- $hash{'institution_name'} = $name;
- my @careers;
- my $sth2 = $dbh->prepare("SELECT * FROM careers WHERE
id_institution = ?");
- $sth2->execute($hash{'id_institution'});
- while (my $ca = $sth2->fetchrow_hashref) {
- $ca->{'institution_name'} = $name;
- push @careers, $ca;
- }
- $hash{'careers'} = address@hidden;
- push @results, \%hash;
- }
-
- return @results;
-}
-
-sub add_educational_institution {
- my ($institution_name) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("INSERT INTO educational_institutions
(institution_name) VALUES (?)");
- $sth->execute($institution_name);
- $sth->finish;
- return 1;
-}
-
-sub update_educational_institution {
- my ($id_institution, $institution_name) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("UPDATE educational_institutions SET
institution_name = ? WHERE id_institution = ?");
- $sth->execute($institution_name, $id_institution);
- $sth->finish;
- return 1;
-}
-
-sub del_educational_institution {
- my ($id_institution) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("SELECT * FROM careers WHERE id_institution =
?");
- $sth->execute($id_institution);
- while (my $row = $sth->fetchrow_hashref) {
- del_career($row->{'id_career'})
- }
- $sth->finish;
- my $sth = $dbh->prepare("DELETE FROM educational_institutions WHERE
id_institution = ?");
- $sth->execute($id_institution);
- $sth->finish;
- return 1;
-}
-
-sub add_career {
- my ($id_institution, $career_name) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("INSERT INTO careers (id_institution,
career_name) VALUES (?,?)");
- $sth->execute($id_institution, $career_name);
- $sth->finish;
- return 1;
-}
-
-sub update_career {
- my ($id_career, $career_name) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("UPDATE careers SET career_name = ? WHERE
id_career = ?");
- $sth->execute($career_name, $id_career);
- $sth->finish;
- return 1;
-}
-
-sub del_career {
- my ($id_career) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("DELETE FROM academic_information WHERE
id_career = ?");
- $sth->execute($id_career);
- $sth->finish;
- my $sth = $dbh->prepare("DELETE FROM careers WHERE id_career = ?");
- $sth->execute($id_career);
- $sth->finish;
- return 1;
-}
-
-
-1;
-__END__
-=back
-
-=head1 AUTHOR
-
-Physics Library UNLP Argentina
-
-Carlos Sebastian Castañeda address@hidden
-
-=cut
-
-
Index: modules/C4/Accounts2.pm
===================================================================
RCS file: modules/C4/Accounts2.pm
diff -N modules/C4/Accounts2.pm
--- modules/C4/Accounts2.pm 10 Mar 2007 01:35:33 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,659 +0,0 @@
-package C4::Accounts2; #assumes C4/Accounts2
-
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-use strict;
-require Exporter;
-use C4::Context;
-use C4::Stats;
-
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = 0.01;
-
-=head1 NAME
-
-C4::Accounts - Functions for dealing with Koha accounts
-
-=head1 SYNOPSIS
-
- use C4::Accounts2;
-
-=head1 DESCRIPTION
-
-The functions in this module deal with the monetary aspect of Koha,
-including looking up and modifying the amount of money owed by a
-patron.
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
address@hidden = qw(Exporter);
address@hidden = qw(&checkaccount &recordpayment &fixaccounts
&makepayment &manualinvoice
- &getnextacctno &manualcredit &calc_charges
&createcharge
-
- &dailyAccountBalance &addDailyAccountOp
&getDailyAccountOp);
-
-=item checkaccount
-
- $owed = &checkaccount($env, $borrowernumber, $dbh, $date);
-
-Looks up the total amount of money owed by a borrower (fines, etc.).
-
-C<$borrowernumber> specifies the borrower to look up.
-
-C<$dbh> is a DBI::db handle for the Koha database.
-
-C<$env> is ignored.
-
-=cut
-#'
-sub checkaccount {
- #take borrower number
- #check accounts and list amounts owing
- my ($env,$bornumber,$dbh,$date)address@hidden;
- my $select="SELECT SUM(amountoutstanding) AS total
- FROM accountlines
- WHERE borrowernumber = ?
- AND amountoutstanding<>0";
- my @bind = ($bornumber);
- if ($date ne ''){
- $select.=" AND date < ?";
- push(@bind,$date);
- }
- # print $select;
- my $sth=$dbh->prepare($select);
- $sth->execute(@bind);
- my $data=$sth->fetchrow_hashref;
- my $total = $data->{'total'};
- $sth->finish;
- # output(1,2,"borrower owes $total");
- #if ($total > 0){
- # # output(1,2,"borrower owes $total");
- # if ($total > 5){
- # reconcileaccount($env,$dbh,$bornumber,$total);
- # }
- #}
- # pause();
- return($total);
-}
-
-=item recordpayment
-
- &recordpayment($env, $borrowernumber, $payment);
-
-Record payment by a patron. C<$borrowernumber> is the patron's
-borrower number. C<$payment> is a floating-point number, giving the
-amount that was paid. C<$env> is a reference-to-hash;
-C<$env-E<gt>{branchcode}> is the code of the branch where payment was
-made.
-
-Amounts owed are paid off oldest first. That is, if the patron has a
-$1 fine from Feb. 1, another $1 fine from Mar. 1, and makes a payment
-of $1.50, then the oldest fine will be paid off in full, and $0.50
-will be credited to the next one.
-
-=cut
-#'
-sub recordpayment{
- #here we update both the accountoffsets and the account lines
- my ($env,$bornumber,$data)address@hidden;
- my $dbh = C4::Context->dbh;
- my $newamtos = 0;
- my $accdata = "";
- my $branch=$env->{'branchcode'};
- my $amountleft = $data;
- # begin transaction
- my $nextaccntno = getnextacctno($env,$bornumber,$dbh);
- # get lines with outstanding amounts to offset
- my $sth = $dbh->prepare("select * from accountlines
- where (borrowernumber = ?) and (amountoutstanding<>0)
- order by date");
- $sth->execute($bornumber);
- # offset transactions
- while (($accdata=$sth->fetchrow_hashref) and ($amountleft>0)){
- if ($accdata->{'amountoutstanding'} < $amountleft) {
- $newamtos = 0;
- $amountleft -= $accdata->{'amountoutstanding'};
- } else {
- $newamtos = $accdata->{'amountoutstanding'} - $amountleft;
- $amountleft = 0;
- }
- my $thisacct = $accdata->{accountid};
- my $usth = $dbh->prepare("update accountlines set amountoutstanding= ?
- where accountid=?");
- $usth->execute($newamtos,$thisacct);
- $usth->finish;
- }
- # create new line
- my $usth = $dbh->prepare("insert into accountlines
- (borrowernumber,
accountno,date,amount,description,accounttype,amountoutstanding)
- values (?,?,now(),?,'Payment,thanks','Pay',?)");
- $usth->execute($bornumber,$nextaccntno,0-$data,0-$amountleft);
- $usth->finish;
-# UpdateStats($env,$branch,'payment',$data,'','','',$bornumber);
- $sth->finish;
-}
-
-=item makepayment
-
- &makepayment($borrowernumber, $acctnumber, $amount, $branchcode);
-
-Records the fact that a patron has paid off the an amount he or
-she owes.
-
-C<$borrowernumber> is the patron's borrower number. C<$acctnumber> is
-the account that was credited. C<$amount> is the amount paid (this is
-only used to record the payment. C<$branchcode> is the code of the branch
where payment
-was made.
-
-=cut
-#'
-# FIXME - I'm not at all sure about the above, because I don't
-# understand what the acct* tables in the Koha database are for.
-
-sub makepayment{
- #here we update the account lines
- #updated to check, if they are paying off a lost item, we return the item
- # from their card, and put a note on the item record
- my ($bornumber,$accountno,$amount,$user,$type)address@hidden;
- my $env;
-my $desc;
-my $pay;
-if ($type eq "Pay"){
- $desc="Payment,received by -". $user;
- $pay="Pay";
-}else{
- $desc="Written-off -by". $user;
- $pay="W";
-}
- my $dbh = C4::Context->dbh;
- # begin transaction
- my $nextaccntno = getnextacctno($env,$bornumber,$dbh);
- my $newamtos=0;
- my $sth=$dbh->prepare("Select * from accountlines where borrowernumber=?
and accountno=?");
- $sth->execute($bornumber,$accountno);
- my $data=$sth->fetchrow_hashref;
- $sth->finish;
-
- $dbh->do(<<EOT);
- UPDATE accountlines
- SET amountoutstanding = amountoutstanding-$amount
- WHERE borrowernumber = $bornumber
- AND accountno = $accountno
-EOT
-
-
-
- # create new line
- my $payment=0-$amount;
-if ($data->{'itemnumber'}){
-$desc.=" ".$data->{'itemnumber'};
-
- $dbh->do(<<EOT);
- INSERT INTO accountlines
- (borrowernumber, accountno, itemnumber,date, amount,
- description, accounttype, amountoutstanding,offset)
- VALUES ($bornumber, $nextaccntno, $data->{'itemnumber'},now(),
$payment,
- '$desc', '$pay', 0,$accountno)
-EOT
-}else{
- $dbh->do(<<EOT);
-INSERT INTO accountlines
- (borrowernumber, accountno, date, amount,
- description, accounttype, amountoutstanding,offset)
- VALUES ($bornumber, $nextaccntno, now(), $payment,
- '$desc', '$pay', 0,$accountno)
-EOT
-}
-
- # FIXME - The second argument to &UpdateStats is supposed to be the
- # branch code.
-# UpdateStats($env,'MAIN',$pay,$amount,'','','',$bornumber);
- $sth->finish;
- #check to see what accounttype
- if ($data->{'accounttype'} eq 'Rep' || $data->{'accounttype'} eq 'L'){
- returnlost($bornumber,$data->{'itemnumber'});
- }
-}
-
-=item getnextacctno
-
- $nextacct = &getnextacctno($env, $borrowernumber, $dbh);
-
-Returns the next unused account number for the patron with the given
-borrower number.
-
-C<$dbh> is a DBI::db handle to the Koha database.
-
-C<$env> is ignored.
-
-=cut
-#'
-# FIXME - Okay, so what does the above actually _mean_?
-sub getnextacctno {
- my ($env,$bornumber,$dbh)address@hidden;
- my $nextaccntno = 1;
- my $sth = $dbh->prepare("select * from accountlines
- where (borrowernumber = ?)
- order by accountno desc");
- $sth->execute($bornumber);
- if (my $accdata=$sth->fetchrow_hashref){
- $nextaccntno = $accdata->{'accountno'} + 1;
- }
- $sth->finish;
- return($nextaccntno);
-}
-
-=item fixaccounts
-
- &fixaccounts($borrowernumber, $accountnumber, $amount);
-
-=cut
-#'
-# FIXME - I don't know whether used
-sub fixaccounts {
- my ($borrowernumber,$accountno,$amount)address@hidden;
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Select * from accountlines where borrowernumber=?
- and accountno=?");
- $sth->execute($borrowernumber,$accountno);
- my $data=$sth->fetchrow_hashref;
- # FIXME - Error-checking
- my $diff=$amount-$data->{'amount'};
- my $outstanding=$data->{'amountoutstanding'}+$diff;
- $sth->finish;
-
- $dbh->do(<<EOT);
- UPDATE accountlines
- SET amount = '$amount',
- amountoutstanding = '$outstanding'
- WHERE borrowernumber = $borrowernumber
- AND accountno = $accountno
-EOT
- }
-
-
-sub returnlost{
- my ($borrnum,$itemnum)address@hidden;
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Update issues set returndate=now() where
- borrowernumber=? and itemnumber=? and returndate is null");
- $sth->execute($borrnum,$itemnum);
- $sth->finish;
-}
-
-=item manualinvoice
-
- &manualinvoice($borrowernumber, $description, $type,
- $amount, $user);
-
-C<$borrowernumber> is the patron's borrower number.
-C<$description> is a description of the transaction.
-C<$type> may be one of C<CS>, C<CB>, C<CW>, C<CF>, C<CL>, C<N>, C<L>,
-or C<REF>.
-
-
-=cut
-#'
-
-sub manualinvoice{
- my ($bornum,$desc,$type,$amount,$user)address@hidden;
- my $dbh = C4::Context->dbh;
- my $insert;
- my %env;
- my $accountno=getnextacctno('',$bornum,$dbh);
- my $amountleft=$amount;
-
-
- if ($type eq 'N'){
- $desc.="New Card";
- }
-
- if ($type eq 'L' && $desc eq ''){
- $desc="Lost Item";
- }
- if ($type eq 'REF'){
- $desc="Cash refund";
- }
- $amountleft=refund('',$bornum,$amount);
- my $sth=$dbh->prepare("INSERT INTO accountlines
- (borrowernumber, accountno, date, amount, description,
accounttype, amountoutstanding)
- VALUES (?, ?, now(), ?, ?, ?, ?)");
- $sth->execute($bornum, $accountno, $amount, $desc, $type, $amountleft);
-
-}
-
-sub manualcredit{
- my ($bornum,$accountid,$desc,$type,$amount,$user,$oldaccount)address@hidden;
- my $dbh = C4::Context->dbh;
- my $insert;
- my $accountno=getnextacctno('',$bornum,$dbh);
-# my $amountleft=$amount;
-my $amountleft;
-my $noerror;
- if ($type eq 'CN' || $type eq 'CA' || $type eq 'CR'
- || $type eq 'CF' || $type eq 'CL' || $type eq 'CM'){
- my $amount2=$amount*-1;
- ( $amountleft,
$noerror,$oldaccount)=fixcredit($dbh,$bornum,$amount2,$accountid,$type,$user);
- }
- if ($noerror>0){
-
-## find the accountline desc
-my $sth2=$dbh->prepare("select description from accountlines where
accountid=?");
-$sth2->execute($accountid);
-my $desc2=$sth2->fetchrow;
-$desc.=" Credited for ".$desc2." by ".$user;
-$sth2->finish;
-
- my $sth=$dbh->prepare("INSERT INTO accountlines
- (borrowernumber, accountno, date, amount, description,
accounttype, amountoutstanding,offset)
- VALUES (?, ?, now(), ?, ?, ?, ?,?)");
- $sth->execute($bornum, $accountno, $amount, $desc, $type,
$amountleft,$oldaccount);
-
-return ("0");
-} else {
- return("1");
-}
-}
-# fixcredit
-sub fixcredit{
- #here we update both the accountoffsets and the account lines
- my ($dbh,$bornumber,$data,$accountid,$type,$user)address@hidden;
- my $newamtos = 0;
- my $accdata = "";
- my $amountleft = $data;
- my $env;
- my $query="Select * from accountlines where accountid=? and
amountoutstanding > 0";
- my $sth=$dbh->prepare($query);
-$sth->execute($accountid);
- $accdata=$sth->fetchrow_hashref;
- $sth->finish;
-
-if ($accdata){
- if ($accdata->{'amountoutstanding'} < $amountleft) {
- $newamtos = 0;
- $amountleft -= $accdata->{'amountoutstanding'};
- } else {
- $newamtos = $accdata->{'amountoutstanding'} - $amountleft;
- $amountleft = 0;
- }
- my $thisacct = $accdata->{accountid};
- my $usth = $dbh->prepare("update accountlines set amountoutstanding= ?
- where accountid=?");
- $usth->execute($newamtos,$thisacct);
- $usth->finish;
-
- # begin transaction
- # get lines with outstanding amounts to offset
- my $sth = $dbh->prepare("select * from accountlines
- where (borrowernumber = ?) and (amountoutstanding >0)
- order by date");
- $sth->execute($bornumber);
-# print $query;
- # offset transactions
- while (($accdata=$sth->fetchrow_hashref) and ($amountleft>0)){
- if ($accdata->{'amountoutstanding'} < $amountleft) {
- $newamtos = 0;
- $amountleft -= $accdata->{'amountoutstanding'};
- } else {
- $newamtos = $accdata->{'amountoutstanding'} - $amountleft;
- $amountleft = 0;
- }
- my $thisacct = $accdata->{accountid};
- my $usth = $dbh->prepare("update accountlines set amountoutstanding= ?
- where accountid=?");
- $usth->execute($newamtos,$thisacct);
- $usth->finish;
- }## while account
- $sth->finish;
-
- $amountleft*=-1;
- return($amountleft,1,$accdata->{'accountno'});
-}else{
-return("",0);
-}
-}
-
-
-#
-sub refund{
- #here we update both the accountoffsets and the account lines
- my ($env,$bornumber,$data)address@hidden;
- my $dbh = C4::Context->dbh;
- my $newamtos = 0;
- my $accdata = "";
-# my $branch=$env->{'branchcode'};
- my $amountleft = $data *-1;
-
- # begin transaction
- # get lines with outstanding amounts to offset
- my $sth = $dbh->prepare("select * from accountlines
- where (borrowernumber = ?) and (amountoutstanding<0)
- order by date");
- $sth->execute($bornumber);
-# print $amountleft;
- # offset transactions
- while (($accdata=$sth->fetchrow_hashref) and ($amountleft<0)){
- if ($accdata->{'amountoutstanding'} > $amountleft) {
- $newamtos = 0;
- $amountleft -= $accdata->{'amountoutstanding'};
- } else {
- $newamtos = $accdata->{'amountoutstanding'} - $amountleft;
- $amountleft = 0;
- }
-# print $amountleft;
- my $thisacct = $accdata->{accountid};
- my $usth = $dbh->prepare("update accountlines set amountoutstanding= ?
- where accountid=?");
- $usth->execute($newamtos,$thisacct);
- $usth->finish;
-
- }
- $sth->finish;
- return($amountleft*-1);
-}
-
-#Funtion to manage the daily account#
-
-sub dailyAccountBalance {
- my ($date) = @_;
- my $dbh = C4::Context->dbh;
- my $sth;
-
- if ($date) {
-
- $sth = $dbh->prepare("SELECT * FROM dailyaccountbalance WHERE
balanceDate = ?");
- $sth->execute($date);
- my $data = $sth->fetchrow_hashref;
- if (!$data->{'balanceDate'}) {
- $data->{'noentry'} = 1;
- }
- return ($data);
-
- } else {
-
- $sth = $dbh->prepare("SELECT * FROM dailyaccountbalance WHERE
balanceDate = CURRENT_DATE()");
- $sth->execute();
-
- if ($sth->rows) {
- return ($sth->fetchrow_hashref);
- } else {
- my %hash;
-
- $sth = $dbh->prepare("SELECT currentBalanceInHand FROM
dailyaccountbalance ORDER BY balanceDate DESC LIMIT 1");
- $sth->execute();
- if ($sth->rows) {
- ($hash{'initialBalanceInHand'}) =
$sth->fetchrow_array;
- $hash{'currentBalanceInHand'} =
$hash{'initialBalanceInHand'};
- } else {
- $hash{'initialBalanceInHand'} = 0;
- $hash{'currentBalanceInHand'} = 0;
- }
- #gets the current date.
- my @nowarr = localtime();
- my $date =
(1900+$nowarr[5])."-".($nowarr[4]+1)."-".$nowarr[3];
-
- $hash{'balanceDate'} = $date;
- $hash{'initialBalanceInHand'} = sprintf ("%.2f",
$hash{'initialBalanceInHand'});
- $hash{'currentBalanceInHand'} = sprintf ("%.2f",
$hash{'currentBalanceInHand'});
- return \%hash;
- }
-
- }
-}
-
-sub addDailyAccountOp {
- my ($description, $amount, $type, $invoice) = @_;
- my $dbh = C4::Context->dbh;
- unless ($invoice) { $invoice = undef};
- my $sth = $dbh->prepare("INSERT INTO dailyaccount (date, description,
amount, type, invoice) VALUES (CURRENT_DATE(), ?, ?, ?, ?)");
- $sth->execute($description, $amount, $type, $invoice);
- my $accountop = $dbh->{'mysql_insertid'};
- $sth = $dbh->prepare("SELECT * FROM dailyaccountbalance WHERE
balanceDate = CURRENT_DATE()");
- $sth->execute();
- if (!$sth->rows) {
- $sth = $dbh->prepare("SELECT currentBalanceInHand FROM
dailyaccountbalance ORDER BY balanceDate DESC LIMIT 1");
- $sth->execute();
- my ($blc) = $sth->fetchrow_array;
- unless ($blc) {$blc = 0}
- $sth = $dbh->prepare("INSERT INTO dailyaccountbalance
(balanceDate, initialBalanceInHand, currentBalanceInHand) VALUES
(CURRENT_DATE(), ?, ?)");
- $sth->execute($blc, $blc);
- }
- if ($type eq 'D') {
- $amount = -1 * $amount;
- }
- $sth = $dbh->prepare("UPDATE dailyaccountbalance SET
currentBalanceInHand = currentBalanceInHand + ? WHERE balanceDate =
CURRENT_DATE()");
- $sth->execute($amount);
- return $accountop;
-}
-
-sub getDailyAccountOp {
- my ($date) = @_;
- my $dbh = C4::Context->dbh;
- my $sth;
- if ($date) {
- $sth = $dbh->prepare("SELECT * FROM dailyaccount WHERE date =
?");
- $sth->execute($date);
- } else {
- $sth = $dbh->prepare("SELECT * FROM dailyaccount WHERE date =
CURRENT_DATE()");
- $sth->execute();
- }
- my @operations;
- my $count = 1;
- while (my $row = $sth->fetchrow_hashref) {
- $row->{'num'} = $count++;
- $row->{$row->{'type'}} = 1;
-
- $row->{'invoice'} =~ /(\w*)\-(\w*)\-(\w*)/;
- $row->{'invoiceNumber'} = $1;
- $row->{'invoiceSupplier'} = $2;
- $row->{'invoiceType'} = $3;
-
- push @operations, $row;
- }
- return (scalar(@operations), address@hidden);
-}
-
-=item calc_charges
-
- ($charge, $item_type) = &calc_charges($env, $itemnumber, $borrowernumber);
-
-Calculate how much it would cost for a given patron to borrow a given
-item, including any applicable discounts.
-
-C<$env> is ignored.
-
-C<$itemnumber> is the item number of item the patron wishes to borrow.
-
-C<$borrowernumber> is the patron's borrower number.
-
-C<&calc_charges> returns two values: C<$charge> is the rental charge,
-and C<$item_type> is the code for the item's item type (e.g., C<VID>
-if it's a video).
-
-=cut
-
-sub calc_charges {
- # calculate charges due
- my ($env, $itemnumber, $bornum)address@hidden;
- my $charge=0;
- my $dbh = C4::Context->dbh;
- my $sth= $dbh->prepare("select ctype from items where itemnumber=?");
- $sth->execute($itemnumber);
- my $itemtype=$sth->fetchrow;
- $sth->finish;
-
- my $sth1= $dbh->prepare("select rentalcharge from itemtypes where
itemtypes.itemtype=?");
- $sth1->execute($itemtype);
-
- $charge = $sth1->fetchrow;
- my $q2 = "select rentaldiscount from issuingrules,borrowers
- where (borrowers.borrowernumber = ?)
- and (borrowers.categorycode = issuingrules.categorycode)
- and (issuingrules.itemtype = ?)";
- my $sth2=$dbh->prepare($q2);
- $sth2->execute($bornum,$itemtype);
- if (my $data2=$sth2->fetchrow_hashref) {
- my $discount = $data2->{'rentaldiscount'};
- if ($discount eq 'NULL') {
- $discount=0;
- }
- $charge = ($charge *(100 - $discount)) / 100;
- # warn "discount is $discount";
- }
- $sth2->finish;
-
- $sth1->finish;
- return ($charge,$itemtype);
-}
-
-
-
-sub createcharge {
-
- my ($env,$dbh,$itemnumber,$bornum,$charge) = @_;
- my $nextaccntno = getnextacctno($env,$bornum,$dbh);
- my $sth = $dbh->prepare(<<EOT);
- INSERT INTO accountlines
- (borrowernumber, itemnumber, accountno,
- date, amount, description, accounttype,
- amountoutstanding)
- VALUES (?, ?, ?,
- now(), ?, 'Rental', 'Rent',
- ?)
-EOT
- $sth->execute($bornum, $itemnumber, $nextaccntno, $charge, $charge);
- $sth->finish;
-}
-
-1;
-__END__
-
-=back
-
-=head1 SEE ALSO
-
-DBI(3)
-
-=cut
Index: modules/C4/Acquisition.pm
===================================================================
RCS file: modules/C4/Acquisition.pm
diff -N modules/C4/Acquisition.pm
--- modules/C4/Acquisition.pm 10 Mar 2007 01:35:33 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,973 +0,0 @@
-package C4::Acquisition;
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-# $Id: Acquisition.pm,v 1.1.2.1 2007/03/10 01:35:33 tgarip1957 Exp $
-
-use strict;
-require Exporter;
-use C4::Context;
-use C4::Date;
-use C4::Suggestions;
-use C4::Biblio;
-use Time::localtime;
-
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.1.2.1 $' =~ /\d+/g; shift(@v) . "." .
join( "_", map { sprintf "%03d", $_ } @v ); };
-
-# used in receiveorder subroutine
-# to provide library specific handling
-my $library_name = C4::Context->preference("LibraryName");
-
-=head1 NAME
-
-C4::Acquisition - Koha functions for dealing with orders and acquisitions
-
-=head1 SYNOPSIS
-
-use C4::Acquisition;
-
-=head1 DESCRIPTION
-
-The functions in this module deal with acquisitions, managing book
-orders, basket and parcels.
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
address@hidden = qw(Exporter);
address@hidden = qw(
- &GetBasket &NewBasket &CloseBasket
- &GetPendingOrders &GetOrder &GetOrders
- &GetOrderNumber &GetLateOrders &NewOrder &DelOrder
- &GetHistory
- &ModOrder &ModReceiveOrder
- &GetSingleOrder
-);
-
-
-=head2 FUNCTIONS ABOUT BASKETS
-
-=over 2
-
-=cut
-
-#------------------------------------------------------------#
-
-=head3 GetBasket
-
-=over 4
-
-$aqbasket = &GetBasket($basketnumber);
-
-get all basket informations in aqbasket for a given basket
-
-return :
-informations for a given basket returned as a hashref.
-
-=back
-
-=back
-
-=cut
-
-sub GetBasket {
- my ($basketno) = shift;
- my $dbh = C4::Context->dbh;
- my $query = "
- SELECT aqbasket.*,
- concat(borrowers.firstname,' ',borrowers.surname) AS
authorisedbyname,
- borrowers.branchcode AS branch
- FROM aqbasket
- LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
- WHERE basketno=?
- ";
- my $sth=$dbh->prepare($query);
- $sth->execute($basketno);
- return ( $sth->fetchrow_hashref );
-}
-
-#------------------------------------------------------------#
-
-=head3 NewBasket
-
-=over 4
-
-$basket = &NewBasket();
-
-Create a new basket in aqbasket table
-
-=back
-
-=cut
-
-# FIXME : this function seems to be unused.
-
-sub NewBasket {
- my ( $booksellerid, $authorisedby ) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- INSERT INTO aqbasket
- (creationdate,booksellerid,authorisedby)
- VALUES (now(),'$booksellerid','$authorisedby')
- ";
- my $sth =
- $dbh->do($query);
-
-#find & return basketno MYSQL dependant, but $dbh->last_insert_id always
returns null :-(
- my $basket = $dbh->{'mysql_insertid'};
- return $basket;
-}
-
-#------------------------------------------------------------#
-
-=head3 CloseBasket
-
-=over 4
-
-&CloseBasket($basketno);
-
-close a basket (becomes unmodifiable,except for recieves)
-
-=back
-
-=cut
-
-sub CloseBasket {
- my ($basketno) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- UPDATE aqbasket
- SET closedate=now()
- WHERE basketno=?
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute($basketno);
-}
-
-#------------------------------------------------------------#
-
-=back
-
-=head2 FUNCTIONS ABOUT ORDERS
-
-=over 2
-
-=cut
-
-#------------------------------------------------------------#
-
-=head3 GetPendingOrders
-
-=over 4
-
-$orders = &GetPendingOrders($booksellerid);
-
-Finds pending orders from the bookseller with the given ID. Ignores
-completed and cancelled orders.
-
-C<$orders> is a reference-to-array; each element is a
-reference-to-hash with the following fields:
-
-=over 2
-
-=item C<authorizedby>
-
-=item C<entrydate>
-
-=item C<basketno>
-
-These give the value of the corresponding field in the aqorders table
-of the Koha database.
-
-=back
-
-=back
-
-Results are ordered from most to least recent.
-
-=cut
-
-sub GetPendingOrders {
- my $supplierid = shift;
- my $dbh = C4::Context->dbh;
- my $strsth = "SELECT
aqorders.*,aqbasket.*,borrowers.firstname,borrowers.surname
- FROM aqorders
- LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno
- LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
- WHERE booksellerid=?
- AND (quantity > quantityreceived OR quantityreceived is NULL)
- AND datecancellationprinted IS NULL
- AND (to_days(now())-to_days(closedate) < 180 OR closedate IS NULL) ";
-
- if ( C4::Context->preference("IndependantBranches") ) {
- my $userenv = C4::Context->userenv;
- if ( ($userenv) && ( $userenv->{flags} != 1 ) ) {
- $strsth .=
- " and (borrowers.branchcode = '"
- . $userenv->{branch}
- . "' or borrowers.branchcode ='')";
- }
- }
- $strsth .= " group by aqbasket.basketno order by aqbasket.basketno";
- my $sth = $dbh->prepare($strsth);
- $sth->execute($supplierid);
- my @results;
- while (my $data = $sth->fetchrow_hashref ) {
- push @results, $data ;
- }
- $sth->finish;
- return address@hidden;
-}
-
-#------------------------------------------------------------#
-
-=head3 GetOrders
-
-=over 4
-
address@hidden = &GetOrders($basketnumber, $orderby);
-
-Looks up the non-cancelled orders (whether received or not) with the given
basket
-number. If C<$booksellerID> is non-empty, only orders from that seller
-are returned.
-
-return :
-C<&basket> returns a two-element array. C<@orders> is an array of
-references-to-hash, whose keys are the fields from the aqorders,
-biblio, and biblioitems tables in the Koha database.
-
-=back
-
-=cut
-
-sub GetOrders {
- my ( $basketno, $orderby ) = @_;
- my $dbh = C4::Context->dbh;
- my $query ="
- SELECT aqorderbreakdown.*,
- biblio.*,
- aqorders.*
- FROM aqorders,biblio
- LEFT JOIN aqorderbreakdown ON
- aqorders.ordernumber=aqorderbreakdown.ordernumber
- WHERE basketno=?
- AND biblio.biblionumber=aqorders.biblionumber
- AND (datecancellationprinted IS NULL OR
datecancellationprinted='0000-00-00')
- ";
-
- $orderby = "biblio.title" unless $orderby;
- $query .= " ORDER BY $orderby";
- my $sth = $dbh->prepare($query);
- $sth->execute($basketno);
- my @results;
-
- # print $query;
- while ( my $data = $sth->fetchrow_hashref ) {
- push @results, $data;
- }
- $sth->finish;
- return @results;
-}
-
-sub GetSingleOrder {
- my ($ordnum)address@hidden;
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Select * from biblio,aqorders left join
aqorderbreakdown
- on aqorders.ordernumber=aqorderbreakdown.ordernumber
- where aqorders.ordernumber=?
- and biblio.biblionumber=aqorders.biblionumber");
- $sth->execute($ordnum);
- my $data=$sth->fetchrow_hashref;
- $sth->finish;
- return($data);
-}
-
-#------------------------------------------------------------#
-
-=head3 GetOrderNumber
-
-=over 4
-
-$ordernumber = &GetOrderNumber($biblioitemnumber, $biblionumber);
-
-Looks up the ordernumber with the given biblionumber
-
-Returns the number of this order.
-
-=item C<$ordernumber> is the order number.
-
-=back
-
-=cut
-sub GetOrderNumber {
- my ( $biblionumber ) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- SELECT ordernumber
- FROM aqorders
- WHERE biblionumber=?
-
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute( $biblionumber );
-
- return $sth->fetchrow;
-}
-
-#------------------------------------------------------------#
-
-=head3 GetOrder
-
-=over 4
-
-$order = &GetOrder($ordernumber);
-
-Looks up an order by order number.
-
-Returns a reference-to-hash describing the order. The keys of
-C<$order> are fields from the biblio, , aqorders, and
-aqorderbreakdown tables of the Koha database.
-
-=back
-
-=cut
-
-sub GetOrder {
- my ($ordnum) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- SELECT *
- FROM biblio,aqorders
- LEFT JOIN aqorderbreakdown ON
aqorders.ordernumber=aqorderbreakdown.ordernumber
- WHERE aqorders.ordernumber=?
- AND biblio.biblionumber=aqorders.biblionumber
-
- ";
- my $sth= $dbh->prepare($query);
- $sth->execute($ordnum);
- my $data = $sth->fetchrow_hashref;
- $sth->finish;
- return $data;
-}
-
-#------------------------------------------------------------#
-
-=head3 NewOrder
-
-=over 4
-
- &NewOrder($basket, $biblionumber, $title, $quantity, $listprice,
- $booksellerid, $who, $notes, $bookfund, $biblioitemnumber, $rrp,
- $ecost, $gst, $budget, $unitprice, $subscription,
- $booksellerinvoicenumber);
-
-Adds a new order to the database. Any argument that isn't described
-below is the new value of the field with the same name in the aqorders
-table of the Koha database.
-
-C<$ordnum> is a "minimum order number." After adding the new entry to
-the aqorders table, C<&neworder> finds the first entry in aqorders
-with order number greater than or equal to C<$ordnum>, and adds an
-entry to the aqorderbreakdown table, with the order number just found,
-and the book fund ID of the newly-added order.
-
-C<$budget> is effectively ignored.
-
-C<$subscription> may be either "yes", or anything else for "no".
-
-=back
-
-=cut
-
-sub NewOrder {
- my (
- $basketno, $biblionumber, $title, $quantity,
- $listprice, $booksellerid, $authorisedby, $notes,
- $bookfund, $rrp, $ecost,
- $gst, $budget, $cost, $sub,
- $purchaseorderno, $sort1, $sort2,$discount,$branch
- )
- = @_;
-
- my $year = localtime->year() + 1900;
- my $month = localtime->mon() + 1; # months starts at 0, add 1
-
- if ( !$budget || $budget eq 'now' ) {
- $budget = "now()";
- }
-
- if ( $sub eq 'yes' ) {
- $sub = 1;
- }
- else {
- $sub = 0;
- }
-
- # if $basket empty, it's also a new basket, create it
- unless ($basketno) {
- $basketno = NewBasket( $booksellerid, $authorisedby );
- }
-
- my $dbh = C4::Context->dbh;
- my $query = "
- INSERT INTO aqorders
- ( biblionumber,title,basketno,quantity,listprice,notes,
-
rrp,ecost,gst,unitprice,subscription,sort1,sort2,purchaseordernumber,discount,budgetdate,entrydate)
- VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,$budget,now() )
- ";
- my $sth = $dbh->prepare($query);
-
- $sth->execute(
- $biblionumber, $title, $basketno, $quantity, $listprice,
- $notes, $rrp, $ecost, $gst,
- $cost, $sub, $sort1, $sort2,$purchaseorderno,$discount
- );
- $sth->finish;
-
- #get ordnum MYSQL dependant, but $dbh->last_insert_id returns null
- my $ordnum = $dbh->{'mysql_insertid'};
- my $query = "
- INSERT INTO aqorderbreakdown (ordernumber,bookfundid,branchcode)
- VALUES (?,?,?)
- ";
- $sth = $dbh->prepare($query);
- $sth->execute( $ordnum, $bookfund,$branch );
- $sth->finish;
- return ( $basketno, $ordnum );
-}
-
-#------------------------------------------------------------#
-
-=head3 ModOrder
-
-=over 4
-
-&ModOrder($title, $ordernumber, $quantity, $listprice,
- $biblionumber, $basketno, $supplier, $who, $notes,
- $bookfundid, $bibitemnum, $rrp, $ecost, $gst, $budget,
- $unitprice, $booksellerinvoicenumber);
-
-Modifies an existing order. Updates the order with order number
-C<$ordernumber> and biblionumber C<$biblionumber>. All other arguments
-update the fields with the same name in the aqorders table of the Koha
-database.
-
-Entries with order number C<$ordernumber> in the aqorderbreakdown
-table are also updated to the new book fund ID.
-
-=back
-
-=cut
-
-sub ModOrder {
- my (
- $title, $ordnum, $quantity, $listprice, $biblionumber,
- $basketno, $supplier, $who, $notes, $bookfund,
- $rrp, $ecost, $gst, $budget,
- $cost, $invoice, $sort1, $sort2,$discount,$branch
- )
- = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- UPDATE aqorders
- SET title=?,
- quantity=?,listprice=?,basketno=?,
- rrp=?,ecost=?,unitprice=?,purchaseordernumber=?,gst=?,
- notes=?,sort1=?, sort2=?,discount=?
- WHERE ordernumber=? AND biblionumber=?
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute(
- $title, $quantity, $listprice, $basketno, $rrp,
- $ecost, $cost, $invoice, $gst, $notes, $sort1,
- $sort2, $discount,$ordnum, $biblionumber
- );
- $sth->finish;
- my $query = "
- REPLACE aqorderbreakdown
- SET ordernumber=?, bookfundid=?, branchcode=?
- ";
- $sth = $dbh->prepare($query);
-
- $sth->execute( $ordnum,$bookfund, $branch );
-
- $sth->finish;
-}
-
-#------------------------------------------------------------#
-
-
-
-
-#------------------------------------------------------------#
-
-=head3 ModReceiveOrder
-
-=over 4
-
-&ModReceiveOrder($biblionumber, $ordernumber, $quantityreceived, $user,
- $unitprice, $booksellerinvoicenumber, $biblioitemnumber,
- $freight, $bookfund, $rrp);
-
-Updates an order, to reflect the fact that it was received, at least
-in part. All arguments not mentioned below update the fields with the
-same name in the aqorders table of the Koha database.
-
-Updates the order with bibilionumber C<$biblionumber> and ordernumber
-C<$ordernumber>.
-
-
-=back
-
-=cut
-
-
-sub ModReceiveOrder {
- my (
- $biblionumber, $ordnum, $quantrec, $cost,
- $invoiceno, $freight, $rrp, $listprice,$input
- )
- = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- UPDATE aqorders
- SET
quantityreceived=quantityreceived+?,datereceived=now(),booksellerinvoicenumber=?,
- unitprice=?,freight=?,rrp=?,listprice=?
- WHERE biblionumber=? AND ordernumber=?
- ";
- my $sth = $dbh->prepare($query);
- my $suggestionid = GetSuggestionFromBiblionumber( $dbh, $biblionumber );
- if ($suggestionid) {
- ModStatus( $suggestionid, 'AVAILABLE', '', $biblionumber,$input );
- }
- $sth->execute( $quantrec, $invoiceno, $cost, $freight, $rrp, $listprice,
$biblionumber,
- $ordnum );
- $sth->finish;
-
-}
-
-
-#------------------------------------------------------------#
-
-=head3 DelOrder
-
-=over 4
-
-&DelOrder($biblionumber, $ordernumber);
-
-Cancel the order with the given order and biblio numbers. It does not
-delete any entries in the aqorders table, it merely marks them as
-cancelled.
-
-=back
-
-=cut
-
-sub DelOrder {
- my ( $biblionumber, $ordnum,$user ) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- UPDATE aqorders
- SET datecancellationprinted=now(), cancelledby=?
- WHERE biblionumber=? AND ordernumber=?
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute( $user,$biblionumber, $ordnum );
- $sth->finish;
-}
-
-
-=back
-
-=back
-
-=head2 FUNCTIONS ABOUT PARCELS
-
-=over 2
-
-=cut
-
-#------------------------------------------------------------#
-
-=head3 GetParcel
-
-=over 4
-
address@hidden = &GetParcel($booksellerid, $code, $date);
-
-Looks up all of the received items from the supplier with the given
-bookseller ID at the given date, for the given code (bookseller Invoice
number). Ignores cancelled and completed orders.
-
-C<@results> is an array of references-to-hash. The keys of each element are
fields from
-the aqorders, biblio tables of the Koha database.
-
-C<@results> is sorted alphabetically by book title.
-
-=back
-
-=cut
-## This routine is not used will be cleaned
-sub GetParcel {
-
- #gets all orders from a certain supplier, orders them alphabetically
- my ( $supplierid, $invoice, $datereceived ) = @_;
- my $dbh = C4::Context->dbh;
- my @results = ();
- $invoice .= '%' if $invoice; # add % if we search on a given invoice
- my $strsth ="
- SELECT authorisedby,
- creationdate,
- aqbasket.basketno,
- closedate,surname,
- firstname,
- biblionumber,
- aqorders.title,
- aqorders.ordernumber,
- aqorders.quantity,
- aqorders.quantityreceived,
- aqorders.unitprice,
- aqorders.listprice,
- aqorders.rrp,
- aqorders.ecost
- FROM aqorders,aqbasket
- LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
- WHERE aqbasket.basketno=aqorders.basketno
- AND aqbasket.booksellerid=?
- AND (aqorders.datereceived= \"$datereceived\" OR
aqorders.datereceived is NULL)";
- $strsth.= " AND aqorders.purchaseordernumber LIKE \"$invoice\"" if $invoice
ne "%";
-
- if ( C4::Context->preference("IndependantBranches") ) {
- my $userenv = C4::Context->userenv;
- if ( ($userenv) && ( $userenv->{flags} != 1 ) ) {
- $strsth .=
- " and (borrowers.branchcode = '"
- . $userenv->{branch}
- . "' or borrowers.branchcode ='')";
- }
- }
- $strsth .= " order by aqbasket.basketno";
- ### parcelinformation : $strsth
- my $sth = $dbh->prepare($strsth);
- $sth->execute($supplierid);
- while ( my $data = $sth->fetchrow_hashref ) {
- push @results, $data ;
- }
- ### countparcelbiblio: $count
- $sth->finish;
-
- return @results;
-}
-
-#------------------------------------------------------------#
-
-=head3 GetParcels
-
-=over 4
-
-$results = &GetParcels($bookseller, $order, $code, $datefrom, $dateto);
-get a lists of parcels.
-
-* Input arg :
-
-=item $bookseller
-is the bookseller this function has to get parcels.
-
-=item $order
-To know on what criteria the results list has to be ordered.
-
-=item $code
-is the booksellerinvoicenumber.
-
-=item $datefrom & $dateto
-to know on what date this function has to filter its search.
-
-* return:
-a pointer on a hash list containing parcel informations as such :
-
-=item Creation date
-
-=item Last operation
-
-=item Number of biblio
-
-=item Number of items
-
-=back
-
-=cut
-### This routine is not used will be cleaned
-sub GetParcels {
- my ($bookseller,$order, $code, $datefrom, $dateto) = @_;
- my $dbh = C4::Context->dbh;
- my $strsth ="
- SELECT aqorders.booksellerinvoicenumber,
- datereceived,
- count(DISTINCT biblionumber) AS biblio,
- sum(quantity) AS itemsexpected,
- sum(quantityreceived) AS itemsreceived
- FROM aqorders, aqbasket
- WHERE aqbasket.basketno = aqorders.basketno
- AND aqbasket.booksellerid = $bookseller and datereceived IS NOT
NULL
- ";
-
- $strsth .= "and aqorders.booksellerinvoicenumber like \"$code%\" " if
($code);
-
- $strsth .= "and datereceived >=" . $dbh->quote($datefrom) . " " if
($datefrom);
-
- $strsth .= "and datereceived <=" . $dbh->quote($dateto) . " " if ($dateto);
-
- $strsth .= "group by aqorders.booksellerinvoicenumber,datereceived ";
- $strsth .= "order by $order " if ($order);
- my $sth = $dbh->prepare($strsth);
-
- $sth->execute;
- my @results;
-
- while ( my $data2 = $sth->fetchrow_hashref ) {
- push @results, $data2;
- }
-
- $sth->finish;
- return @results;
-}
-
-#------------------------------------------------------------#
-
-=head3 GetLateOrders
-
-=over 4
-
address@hidden = &GetLateOrders;
-
-Searches for bookseller with late orders.
-
-return:
-the table of supplier with late issues. This table is full of hashref.
-
-=back
-
-=cut
-
-sub GetLateOrders {
-## requirse fixing for KOHA 3 API. Currently does not return publisher
- my $delay = shift;
- my $supplierid = shift;
- my $branch = shift;
-
- my $dbh = C4::Context->dbh;
-
- #BEWARE, order of parenthesis and LEFT JOIN is important for speed
- my $strsth;
- my $dbdriver = C4::Context->config("db_scheme") || "mysql";
-
- # warn " $dbdriver";
- if ( $dbdriver eq "mysql" ) {
- $strsth = "
- SELECT aqbasket.basketno,
- DATE(aqbasket.closedate) AS orderdate,
- aqorders.quantity - IFNULL(aqorders.quantityreceived,0) AS
quantity,
- aqorders.rrp AS unitpricesupplier,
- aqorders.ecost AS unitpricelib,
- (aqorders.quantity - IFNULL(aqorders.quantityreceived,0)) *
aqorders.rrp AS subtotal,
- aqbookfund.bookfundname AS budget,
- borrowers.branchcode AS branch,
- aqbooksellers.name AS supplier,
- aqorders.title,
- biblio.author,
-
- DATEDIFF(CURDATE( ),closedate) AS latesince
- FROM ((
- (aqorders LEFT JOIN biblio ON biblio.biblionumber =
aqorders.biblionumber)
-
- LEFT JOIN aqorderbreakdown ON aqorders.ordernumber =
aqorderbreakdown.ordernumber)
- LEFT JOIN aqbookfund ON aqorderbreakdown.bookfundid =
aqbookfund.bookfundid),
- (aqbasket LEFT JOIN borrowers ON aqbasket.authorisedby =
borrowers.borrowernumber)
- LEFT JOIN aqbooksellers ON aqbasket.booksellerid = aqbooksellers.id
- WHERE aqorders.basketno = aqbasket.basketno
- AND (closedate < DATE_SUB(CURDATE( ),INTERVAL $delay DAY))
- AND ((datereceived = '' OR datereceived is null)
- OR (aqorders.quantityreceived < aqorders.quantity) )
- ";
- $strsth .= " AND aqbasket.booksellerid = $supplierid " if
($supplierid);
- $strsth .= " AND borrowers.branchcode like \'" . $branch . "\'"
- if ($branch);
- $strsth .=
- " AND borrowers.branchcode like \'"
- . C4::Context->userenv->{branch} . "\'"
- if ( C4::Context->preference("IndependantBranches")
- && C4::Context->userenv
- && C4::Context->userenv->{flags} != 1 );
- $strsth .=" HAVING quantity<>0
- AND unitpricesupplier<>0
- AND unitpricelib<>0
- ORDER BY latesince,basketno,borrowers.branchcode, supplier
- ";
- }
- else {
- $strsth = "
- SELECT aqbasket.basketno,
- DATE(aqbasket.closedate) AS orderdate,
- aqorders.quantity, aqorders.rrp AS unitpricesupplier,
- aqorders.ecost as unitpricelib,
- aqorders.quantity * aqorders.rrp AS subtotal
- aqbookfund.bookfundname AS budget,
- borrowers.branchcode AS branch,
- aqbooksellers.name AS supplier,
- biblio.title,
- biblio.author,
-
- (CURDATE - closedate) AS latesince
- FROM((
- (aqorders LEFT JOIN biblio on biblio.biblionumber =
aqorders.biblionumber)
-
- LEFT JOIN aqorderbreakdown on aqorders.ordernumber =
aqorderbreakdown.ordernumber)
- LEFT JOIN aqbookfund ON aqorderbreakdown.bookfundid =
aqbookfund.bookfundid),
- (aqbasket LEFT JOIN borrowers on aqbasket.authorisedby
= borrowers.borrowernumber) LEFT JOIN aqbooksellers ON aqbasket.booksellerid =
aqbooksellers.id
- WHERE aqorders.basketno = aqbasket.basketno
- AND (closedate < (CURDATE -(INTERVAL $delay DAY))
- AND ((datereceived = '' OR datereceived is null)
- OR (aqorders.quantityreceived < aqorders.quantity) ) ";
- $strsth .= " AND aqbasket.booksellerid = $supplierid " if
($supplierid);
-
- $strsth .= " AND borrowers.branchcode like \'" . $branch . "\'" if
($branch);
- $strsth .=" AND borrowers.branchcode like \'".
C4::Context->userenv->{branch} . "\'"
- if (C4::Context->preference("IndependantBranches") &&
C4::Context->userenv->{flags} != 1 );
- $strsth .=" ORDER BY latesince,basketno,borrowers.branchcode,
supplier";
- }
- my $sth = $dbh->prepare($strsth);
- $sth->execute;
- my @results;
- my $hilighted = 1;
- while ( my $data = $sth->fetchrow_hashref ) {
- $data->{hilighted} = $hilighted if ( $hilighted > 0 );
- $data->{orderdate} = format_date( $data->{orderdate} );
- push @results, $data;
- $hilighted = -$hilighted;
- }
- $sth->finish;
- return @results;
-}
-
-#------------------------------------------------------------#
-
-=head3 GetHistory
-
-=over 4
-
-(address@hidden, $total_qty, $total_price, $total_qtyreceived)=&GetHistory(
$title, $author, $name, $from_placed_on, $to_placed_on )
-
-this function get the search history.
-
-=back
-
-=cut
-
-sub GetHistory {
- my ( $title, $author, $name, $from_placed_on, $to_placed_on ) = @_;
- my @order_loop;
- my $total_qty = 0;
- my $total_qtyreceived = 0;
- my $total_price = 0;
-
-# don't run the query if there are no parameters (list would be too long for
sure !)
- if ( $title || $author || $name || $from_placed_on || $to_placed_on ) {
- my $dbh = C4::Context->dbh;
- my $query ="
- SELECT
- biblio.title,
- biblio.author,
- aqorders.basketno,
- name,aqbasket.creationdate,
- aqorders.datereceived,
- aqorders.quantity,
- aqorders.quantityreceived,
- aqorders.ecost,
- aqorders.ordernumber
- FROM aqorders,aqbasket,aqbooksellers,biblio";
-
- $query .= ",borrowers "
- if ( C4::Context->preference("IndependantBranches") );
-
- $query .="
- WHERE aqorders.basketno=aqbasket.basketno
- AND aqbasket.booksellerid=aqbooksellers.id
- AND biblio.biblionumber=aqorders.biblionumber ";
-
- $query .= " AND aqbasket.authorisedby=borrowers.borrowernumber"
- if ( C4::Context->preference("IndependantBranches") );
-
- $query .= " AND biblio.title LIKE " . $dbh->quote( "%" . $title . "%" )
- if $title;
-
- $query .=
- " AND biblio.author LIKE " . $dbh->quote( "%" . $author . "%" )
- if $author;
-
- $query .= " AND name LIKE " . $dbh->quote( "%" . $name . "%" ) if
$name;
-
- $query .= " AND creationdate >" . $dbh->quote($from_placed_on)
- if $from_placed_on;
-
- $query .= " AND creationdate<" . $dbh->quote($to_placed_on)
- if $to_placed_on;
-
- if ( C4::Context->preference("IndependantBranches") ) {
- my $userenv = C4::Context->userenv;
- if ( ($userenv) && ( $userenv->{flags} != 1 ) ) {
- $query .=
- " AND (borrowers.branchcode = '"
- . $userenv->{branch}
- . "' OR borrowers.branchcode ='')";
- }
- }
- $query .= " ORDER BY booksellerid";
- my $sth = $dbh->prepare($query);
- $sth->execute;
- my $cnt = 1;
- while ( my $line = $sth->fetchrow_hashref ) {
- $line->{count} = $cnt++;
- $line->{toggle} = 1 if $cnt % 2;
- push @order_loop, $line;
- $line->{creationdate} = format_date( $line->{creationdate} );
- $line->{datereceived} = format_date( $line->{datereceived} );
- $total_qty += $line->{'quantity'};
- $total_qtyreceived += $line->{'quantityreceived'};
- $total_price += $line->{'quantity'} * $line->{'ecost'};
- }
- }
- return address@hidden, $total_qty, $total_price, $total_qtyreceived;
-}
-
-
-1;
-
-__END__
-
-=back
-
-=head1 AUTHOR
-
-Koha Developement team <address@hidden>
-
-=cut
Index: modules/C4/Amazon.pm
===================================================================
RCS file: modules/C4/Amazon.pm
diff -N modules/C4/Amazon.pm
--- modules/C4/Amazon.pm 10 Mar 2007 01:35:33 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,91 +0,0 @@
-
-package C4::Amazon;
-# Copyright 2004-2005 Joshua Ferraro (jmf at kados dot org)
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-#
-# This module dynamically pulls amazon content into Koha. It does not
-# store the data in Koha's database. You'll need to get a developer's key
-# as well as an associate's tag to use it.
-# FIXME: need to write up more docs.
-#
-# To use this module you need to do three things:
-# 1. get a dev key and associate tag from Amazon
-# 2. uncomment the Amazon stuff in opac-detail.pl
-# 3. add the template variables to opac-detail.tmpl
-# here's what's available:
-# ProductDescription
-# ImageUrlMedium
-# ListPrice
-# url
-# loop SimilarProducts (Product)
-# loop Reviews (rating, Summary)
-#
-use strict;
-require Exporter;
-
-use vars qw($VERSION @ISA @EXPORT);
-
-$VERSION = 0.01;
-
address@hidden = qw(Exporter);
-
address@hidden = qw(
- &get_amazon_details
-);
-
-sub get_amazon_details {
-
-my ( $isbn ) = @_;
-
-# insert your dev key here
-my $dev_key='neulibrary-20';
-$isbn=substr($isbn,0,9);
-# insert your associates tag here
-my $af_tag='0YGCZ5GV9ZNGGS7THDG2';
-
-my $asin=$isbn;
-
-# old way from command line: shift @ARGV or die "Usage:perl amazon_http.ol
<asin>\n";
-
-#my $url = "http://xml.amazon.com/onca/xml3?t=" . $af_tag .
-# "&dev-t=" . $dev_key .
-# "&type=heavy&f=xml&" .
-# "AsinSearch=" . $asin;
-my $url =
"http://xml.amazon.com/onca/xml3?t=$dev_key&dev-t=$af_tag&type=heavy&f=xml&AsinSearch="
. $asin;
-
-#Here's an example asin for the book "Cryptonomicon"
-#0596005423";
-
-use XML::Simple;
-use LWP::Simple;
-my $content = get($url);
-if ($content){
-
-my $xmlsimple = XML::Simple->new();
-my $response = $xmlsimple->XMLin($content,
- forcearray => [ qw(Details Product AvgCustomerRating CustomerReview ) ],
-);
-return $response;
-#foreach my $result (@{$response->{Details}}){
-# my $product_description = $result->{ProductDescription};
-# my $image = $result->{ImageUrlMedium};
-# my $price = $result->{ListPrice};
-# my $reviews = $result->{
-# return $result;
-#}
-}
-}
\ No newline at end of file
Index: modules/C4/Auth.pm
===================================================================
RCS file: modules/C4/Auth.pm
diff -N modules/C4/Auth.pm
--- modules/C4/Auth.pm 10 Mar 2007 01:35:33 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,627 +0,0 @@
-# -*- tab-width: 8 -*-
-# NOTE: This file uses 8-character tabs; do not change the tab size!
-
-package C4::Auth;
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-use strict;
-use Digest::MD5 qw(md5_base64);
-require Exporter;
-use C4::Context;
-use C4::Output; # to get the template
-use C4::Interface::CGI::Output;
-use C4::Members; # getpatroninformation
-use C4::Koha;## to get branch
-# use Net::LDAP;
-# use Net::LDAP qw(:all);
-
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-
-# set the version for version checking
-$VERSION = 0.01;
address@hidden = qw(Exporter);
-
address@hidden = qw(
-&checkpw
-);
-=head1 NAME
-
-C4::Auth - Authenticates Koha users
-
-=head1 SYNOPSIS
-
- use CGI;
- use C4::Auth;
-
- my $query = new CGI;
-
- my ($template, $borrowernumber, $cookie)
- = get_template_and_user({template_name => "opac-main.tmpl",
- query => $query,
- type => "opac",
- authnotrequired => 1,
- flagsrequired => {borrow => 1},
- });
-
- print $query->header(
- -type => "text/html",
- -charset=>"utf-8",
- -cookie => $cookie
- ), $template->output;
-
-
-=head1 DESCRIPTION
-
- The main function of this module is to provide
- authentification. However the get_template_and_user function has
- been provided so that a users login information is passed along
- automatically. This gets loaded into the template.
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
-
-
address@hidden = qw(Exporter);
address@hidden = qw(
- &checkauth
- &get_template_and_user
-);
-
-=item get_template_and_user
-
- my ($template, $borrowernumber, $cookie)
- = get_template_and_user({template_name => "opac-main.tmpl",
- query => $query,
- type => "opac",
- authnotrequired => 1,
- flagsrequired => {borrow => 1},
- });
-
- This call passes the C<query>, C<flagsrequired> and C<authnotrequired>
- to C<&checkauth> (in this module) to perform authentification.
- See C<&checkauth> for an explanation of these parameters.
-
- The C<template_name> is then used to find the correct template for
- the page. The authenticated users details are loaded onto the
- template in the HTML::Template LOOP variable C<USER_INFO>. Also the
- C<sessionID> is passed to the template. This can be used in templates
- if cookies are disabled. It needs to be put as and input to every
- authenticated page.
-
- More information on the C<gettemplate> sub can be found in the
- Output.pm module.
-
-=cut
-
-
-sub get_template_and_user {
- my $in = shift;
- my $template = gettemplate($in->{'template_name'},
$in->{'type'},$in->{'query'});
- my ($user, $cookie, $sessionID, $flags)
- = checkauth($in->{'query'}, $in->{'authnotrequired'},
$in->{'flagsrequired'}, $in->{'type'});
-
- my $borrowernumber;
- if ($user) {
- $template->param(loggedinusername => $user);
- $template->param(sessionID => $sessionID);
-
- $borrowernumber = getborrowernumber($user);
- my ($borr, $alternativeflags) = getpatroninformation(undef,
$borrowernumber);
- my @bordat;
- $bordat[0] = $borr;
- $template->param(USER_INFO => address@hidden,
- );
- my $branches=GetBranches();
-
$template->param(branchname=>$branches->{$borr->{branchcode}}->{branchname},);
-
- # We are going to use the $flags returned by checkauth
- # to create the template's parameters that will indicate
- # which menus the user can access.
- if ($flags && $flags->{superlibrarian} == 1)
- {
- $template->param(CAN_user_circulate => 1);
- $template->param(CAN_user_catalogue => 1);
- $template->param(CAN_user_parameters => 1);
- $template->param(CAN_user_borrowers => 1);
- $template->param(CAN_user_permission => 1);
- $template->param(CAN_user_reserveforothers => 1);
- $template->param(CAN_user_borrow => 1);
- $template->param(CAN_user_reserveforself => 1);
- $template->param(CAN_user_editcatalogue => 1);
- $template->param(CAN_user_updatecharge => 1);
- $template->param(CAN_user_acquisition => 1);
- $template->param(CAN_user_management => 1);
- $template->param(CAN_user_tools => 1); }
-
- if ($flags && $flags->{circulate} == 1) {
- $template->param(CAN_user_circulate => 1); }
-
- if ($flags && $flags->{catalogue} == 1) {
- $template->param(CAN_user_catalogue => 1); }
-
-
- if ($flags && $flags->{parameters} == 1) {
- $template->param(CAN_user_parameters => 1);
- $template->param(CAN_user_management => 1);
- $template->param(CAN_user_tools => 1); }
-
-
- if ($flags && $flags->{borrowers} == 1) {
- $template->param(CAN_user_borrowers => 1); }
-
-
- if ($flags && $flags->{permissions} == 1) {
- $template->param(CAN_user_permission => 1); }
-
- if ($flags && $flags->{reserveforothers} == 1) {
- $template->param(CAN_user_reserveforothers => 1); }
-
-
- if ($flags && $flags->{borrow} == 1) {
- $template->param(CAN_user_borrow => 1); }
-
-
- if ($flags && $flags->{reserveforself} == 1) {
- $template->param(CAN_user_reserveforself => 1); }
-
-
- if ($flags && $flags->{editcatalogue} == 1) {
- $template->param(CAN_user_editcatalogue => 1); }
-
-
- if ($flags && $flags->{updatecharges} == 1) {
- $template->param(CAN_user_updatecharge => 1); }
-
- if ($flags && $flags->{acquisition} == 1) {
- $template->param(CAN_user_acquisition => 1); }
-
- if ($flags && $flags->{management} == 1) {
- $template->param(CAN_user_management => 1);
- $template->param(CAN_user_tools => 1); }
-
- if ($flags && $flags->{tools} == 1) {
- $template->param(CAN_user_tools => 1); }
-
- }
- if ($in->{'type'} eq "intranet") {
- $template->param(
- intranetcolorstylesheet =>
C4::Context->preference("intranetcolorstylesheet"),
- intranetstylesheet =>
C4::Context->preference("intranetstylesheet"),
- IntranetNav => C4::Context->preference("IntranetNav"),
-
- );
-
- }
- else {
- $template->param(
- suggestion =>
C4::Context->preference("suggestion"),
- virtualshelves =>
C4::Context->preference("virtualshelves"),
- OpacNav => C4::Context->preference("OpacNav"),
- opacheader =>
C4::Context->preference("opacheader"),
- opaccredits =>
C4::Context->preference("opaccredits"),
- opacsmallimage =>
C4::Context->preference("opacsmallimage"),
- opaclayoutstylesheet =>
C4::Context->preference("opaclayoutstylesheet"),
- opaccolorstylesheet =>
C4::Context->preference("opaccolorstylesheet"),
- opaclanguagesdisplay =>
C4::Context->preference("opaclanguagesdisplay"),
- TemplateEncoding =>
C4::Context->preference("TemplateEncoding"),
- opacuserlogin =>
C4::Context->preference("opacuserlogin"),
- opacbookbag =>
C4::Context->preference("opacbookbag"),
- );
- }
- $template->param(
- TemplateEncoding =>
C4::Context->preference("TemplateEncoding"),
- AmazonContent =>
C4::Context->preference("AmazonContent"),
- LibraryName =>
C4::Context->preference("LibraryName"),
- );
- return ($template, $borrowernumber, $cookie);
-}
-
-
-=item checkauth
-
- ($userid, $cookie, $sessionID) = &checkauth($query, $noauth, $flagsrequired,
$type);
-
-Verifies that the user is authorized to run this script. If
-the user is authorized, a (userid, cookie, session-id, flags)
-quadruple is returned. If the user is not authorized but does
-not have the required privilege (see $flagsrequired below), it
-displays an error page and exits. Otherwise, it displays the
-login page and exits.
-
-Note that C<&checkauth> will return if and only if the user
-is authorized, so it should be called early on, before any
-unfinished operations (e.g., if you've opened a file, then
-C<&checkauth> won't close it for you).
-
-C<$query> is the CGI object for the script calling C<&checkauth>.
-
-The C<$noauth> argument is optional. If it is set, then no
-authorization is required for the script.
-
-C<&checkauth> fetches user and session information from C<$query> and
-ensures that the user is authorized to run scripts that require
-authorization.
-
-The C<$flagsrequired> argument specifies the required privileges
-the user must have if the username and password are correct.
-It should be specified as a reference-to-hash; keys in the hash
-should be the "flags" for the user, as specified in the Members
-intranet module. Any key specified must correspond to a "flag"
-in the userflags table. E.g., { circulate => 1 } would specify
-that the user must have the "circulate" privilege in order to
-proceed. To make sure that access control is correct, the
-C<$flagsrequired> parameter must be specified correctly.
-
-The C<$type> argument specifies whether the template should be
-retrieved from the opac or intranet directory tree. "opac" is
-assumed if it is not specified; however, if C<$type> is specified,
-"intranet" is assumed if it is not "opac".
-
-If C<$query> does not have a valid session ID associated with it
-(i.e., the user has not logged in) or if the session has expired,
-C<&checkauth> presents the user with a login page (from the point of
-view of the original script, C<&checkauth> does not return). Once the
-user has authenticated, C<&checkauth> restarts the original script
-(this time, C<&checkauth> returns).
-
-The login page is provided using a HTML::Template, which is set in the
-systempreferences table or at the top of this file. The variable C<$type>
-selects which template to use, either the opac or the intranet
-authentification template.
-
-C<&checkauth> returns a user ID, a cookie, and a session ID. The
-cookie should be sent back to the browser; it verifies that the user
-has authenticated.
-
-=cut
-
-
-
-sub checkauth {
- my $query=shift;
- # $authnotrequired will be set for scripts which will run without
authentication
- my $authnotrequired = shift;
- my $flagsrequired = shift;
- my $type = shift;
- $type = 'opac' unless $type;
-
- my $dbh = C4::Context->dbh;
- my $timeout = C4::Context->preference('timeout');
- $timeout = 600 unless $timeout;
-
- my $template_name;
- if ($type eq 'opac') {
- $template_name = "opac-auth.tmpl";
- } elsif ($type eq 'wap') {
- $template_name = "wap-auth.tmpl";
- }else {
- $template_name = "auth.tmpl";
- }
-
- # state variables
- my $loggedin = 0;
- my %info;
- my ($userid, $cookie, $sessionID, $flags,$envcookie);
- my $logout = $query->param('logout.x');
- if ($userid = $ENV{'REMOTE_USER'}) {
- # Using Basic Authentication, no cookies required
- $cookie=$query->cookie(-name => 'sessionID',
- -value => '',
- -expires => '');
- $loggedin = 1;
- } elsif ($sessionID=$query->cookie('sessionID')) {
- C4::Context->_new_userenv($sessionID);
- if (my %hash=$query->cookie('userenv')){
- C4::Context::set_userenv(
- $hash{number},
- $hash{id},
- $hash{cardnumber},
- $hash{firstname},
- $hash{surname},
- $hash{branch},
- $hash{branchname},
- $hash{flags},
- $hash{emailaddress},
- );
- }
- my ($ip , $lasttime);
-
- ($userid, $ip, $lasttime) = $dbh->selectrow_array(
- "SELECT userid,ip,lasttime FROM sessions WHERE
sessionid=?",
- undef,
$sessionID);
- if ($logout) {
- # voluntary logout the user
- $dbh->do("DELETE FROM sessions WHERE sessionID='$sessionID'");
- C4::Context->_unset_userenv($sessionID);
- $sessionID = undef;
- $userid = undef;
- open L, ">>/tmp/sessionlog";
- my $time=localtime(time());
- printf L "%20s from %16s logged out at %30s (manually).\n",
$userid, $ip, $time;
- close L;
- }
- if ($userid) {
- if ($lasttime<time()-$timeout) {
- # timed logout
- $info{'timed_out'} = 1;
- $dbh->do("DELETE FROM sessions WHERE
sessionID=?", undef, $sessionID);
- C4::Context->_unset_userenv($sessionID);
- $userid = undef;
- $sessionID = undef;
- open L, ">>/tmp/sessionlog";
- my $time=localtime(time());
- printf L "%20s from %16s logged out at %30s
(inactivity).\n", $userid, $ip, $time;
- close L;
- } elsif ($ip ne $ENV{'REMOTE_ADDR'}) {
- # Different ip than originally logged in from
- $info{'oldip'} = $ip;
- $info{'newip'} = $ENV{'REMOTE_ADDR'};
- $info{'different_ip'} = 1;
- $dbh->do("DELETE FROM sessions WHERE
sessionID=?", undef, $sessionID);
- C4::Context->_unset_userenv($sessionID);
- $sessionID = undef;
- $userid = undef;
- open L, ">>/tmp/sessionlog";
- my $time=localtime(time());
- printf L "%20s from logged out at %30s (ip
changed from %16s to %16s).\n", $userid, $time, $ip, $info{'newip'};
- close L;
- } else {
- $cookie=$query->cookie(-name => 'sessionID',
- -value => $sessionID,
- -expires => '');
- $dbh->do("UPDATE sessions SET lasttime=? WHERE
sessionID=?",
- undef, (time(), $sessionID));
- $flags = haspermission($dbh, $userid,
$flagsrequired);
- if ($flags) {
- $loggedin = 1;
- } else {
- $info{'nopermission'} = 1;
- }
- }
- }
- }
- unless ($userid) {
- $sessionID=int(rand()*100000).'-'.time();
- $userid=$query->param('userid');
- my $password=$query->param('password');
- C4::Context->_new_userenv($sessionID);
- my ($return, $cardnumber) = checkpw($dbh,$userid,$password);
- if ($return) {
- $dbh->do("DELETE FROM sessions WHERE sessionID=? AND
userid=?",
- undef, ($sessionID, $userid));
- $dbh->do("INSERT INTO sessions (sessionID, userid,
ip,lasttime) VALUES (?, ?, ?, ?)",
- undef, ($sessionID, $userid,
$ENV{'REMOTE_ADDR'}, time()));
- open L, ">>/tmp/sessionlog";
- my $time=localtime(time());
- printf L "%20s from %16s logged in at %30s.\n",
$userid, $ENV{'REMOTE_ADDR'}, $time;
- close L;
- $cookie=$query->cookie(-name => 'sessionID',
- -value => $sessionID,
- -expires => '');
- if ($flags = haspermission($dbh, $userid,
$flagsrequired)) {
- $loggedin = 1;
- } else {
- $info{'nopermission'} = 1;
- C4::Context->_unset_userenv($sessionID);
- }
- if ($return == 1){
- my
($bornum,$firstname,$surname,$userflags,$branchcode,$branchname,$emailaddress);
- my $sth=$dbh->prepare("select
borrowernumber,firstname,surname,flags,borrowers.branchcode,branchname,emailaddress
from borrowers left join branches on borrowers.branchcode=branches.branchcode
where userid=?");
- $sth->execute($userid);
-
($bornum,$firstname,$surname,$userflags,$branchcode,$branchname, $emailaddress)
= $sth->fetchrow if ($sth->rows);
-# warn
"$cardnumber,$bornum,$userid,$firstname,$surname,$userflags,$branchcode,$emailaddress";
- unless ($sth->rows){
- my $sth=$dbh->prepare("select
borrowernumber,firstname,surname,flags,borrowers.branchcode,branchname,emailaddress
from borrowers left join branches on borrowers.branchcode=branches.branchcode
where cardnumber=?");
- $sth->execute($cardnumber);
-
($bornum,$firstname,$surname,$userflags,$branchcode, $branchname,$emailaddress)
= $sth->fetchrow if ($sth->rows);
-# warn
"$cardnumber,$bornum,$userid,$firstname,$surname,$userflags,$branchcode,$emailaddress";
- unless ($sth->rows){
- $sth->execute($userid);
-
($bornum,$firstname,$surname,$userflags,$branchcode, $branchname,
$emailaddress) = $sth->fetchrow if ($sth->rows);
- }
-# warn
"$cardnumber,$bornum,$userid,$firstname,$surname,$userflags,$branchcode,$emailaddress";
- }
- my $hash = C4::Context::set_userenv(
- $bornum,
- $userid,
- $cardnumber,
- $firstname,
- $surname,
- $branchcode,
- $branchname,
- $userflags,
- $emailaddress,
- );
-# warn
"$cardnumber,$bornum,$userid,$firstname,$surname,$userflags,$branchcode,$emailaddress";
- $envcookie=$query->cookie(-name => 'userenv',
- -value => $hash,
- -expires => '');
- } elsif ($return == 2) {
- #We suppose the user is the superlibrarian
- my $hash = C4::Context::set_userenv(
- 0,0,
- C4::Context->config('user'),
- C4::Context->config('user'),
- C4::Context->config('user'),
-
"","",1,C4::Context->preference('KohaAdminEmailAddress')
- );
- $envcookie=$query->cookie(-name => 'userenv',
- -value => $hash,
- -expires => '');
- }
- } else {
- if ($userid) {
- $info{'invalid_username_or_password'} = 1;
- C4::Context->_unset_userenv($sessionID);
- }
- }
- }
- my $insecure = C4::Context->boolean_preference('insecure');
- # finished authentification, now respond
- if ($loggedin || $authnotrequired || (defined($insecure) && $insecure))
{
- # successful login
- unless ($cookie) {
- $cookie=$query->cookie(-name => 'sessionID',
- -value => '',
- -expires => '');
- }
- if ($envcookie){
- return ($userid, [$cookie,$envcookie], $sessionID,
$flags)
- } else {
- return ($userid, $cookie, $sessionID, $flags);
- }
- }
- # else we have a problem...
- # get the inputs from the incoming query
- my @inputs =();
- foreach my $name (param $query) {
- (next) if ($name eq 'userid' || $name eq 'password');
- my $value = $query->param($name);
- push @inputs, {name => $name , value => $value};
- }
-
- my $template = gettemplate($template_name, $type,$query);
- $template->param(INPUTS => address@hidden,
- intranetcolorstylesheet =>
C4::Context->preference("intranetcolorstylesheet"),
- intranetstylesheet =>
C4::Context->preference("intranetstylesheet"),
- IntranetNav => C4::Context->preference("IntranetNav"),
- opacnav => C4::Context->preference("OpacNav"),
- TemplateEncoding =>
C4::Context->preference("TemplateEncoding"),
-
- );
- $template->param(loginprompt => 1) unless $info{'nopermission'};
-
- my $self_url = $query->url(-absolute => 1);
- $template->param(url => $self_url, LibraryName=> =>
C4::Context->preference("LibraryName"),);
- $template->param(\%info);
- $cookie=$query->cookie(-name => 'sessionID',
- -value => $sessionID,
- -expires => '');
-
-output_html_with_http_headers($query, $cookie, $template->output());
- exit;
-}
-
-
-
-
-sub checkpw {
-
- my ($dbh, $userid, $password) = @_;
-# INTERNAL AUTH
- my $sth=$dbh->prepare("select password,cardnumber from borrowers where
userid=?");
- $sth->execute($userid);
- if ($sth->rows) {
- my ($md5password,$cardnumber) = $sth->fetchrow;
- if (md5_base64($password) eq $md5password) {
- return 1,$cardnumber;
- }
- }
- $sth=$dbh->prepare("select password from borrowers where
cardnumber=?");
- $sth->execute($userid);
- if ($sth->rows) {
- my ($md5password) = $sth->fetchrow;
- if (md5_base64($password) eq $md5password) {
- return 1,$userid;
- }
- }
- if ($userid eq C4::Context->config('user') && $password eq
C4::Context->config('pass')) {
- # Koha superuser account
- return 2;
- }
- if ($userid eq 'demo' && $password eq 'demo' &&
C4::Context->config('demo')) {
- # DEMO => the demo user is allowed to do everything (if demo
set to 1 in koha.conf
- # some features won't be effective : modify systempref, modify
MARC structure,
- return 2;
- }
- return 0;
-}
-
-sub getuserflags {
- my $cardnumber=shift;
- my $dbh=shift;
- my $userflags;
- my $sth=$dbh->prepare("SELECT flags FROM borrowers WHERE cardnumber=?");
- $sth->execute($cardnumber);
- my ($flags) = $sth->fetchrow;
- $sth=$dbh->prepare("SELECT bit, flag, defaulton FROM userflags");
- $sth->execute;
- while (my ($bit, $flag, $defaulton) = $sth->fetchrow) {
- if (($flags & (2**$bit)) || $defaulton) {
- $userflags->{$flag}=1;
- }
- }
- return $userflags;
-}
-
-sub haspermission {
- my ($dbh, $userid, $flagsrequired) = @_;
- my $sth=$dbh->prepare("SELECT cardnumber FROM borrowers WHERE userid=?");
- $sth->execute($userid);
- my ($cardnumber) = $sth->fetchrow;
- ($cardnumber) || ($cardnumber=$userid);
- my $flags=getuserflags($cardnumber,$dbh);
- my $configfile;
- if ($userid eq C4::Context->config('user')) {
- # Super User Account from /etc/koha.conf
- $flags->{'superlibrarian'}=1;
- }
- if ($userid eq 'demo' && C4::Context->config('demo')) {
- # Demo user that can do "anything" (demo=1 in /etc/koha.conf)
- $flags->{'superlibrarian'}=1;
- }
- return $flags if $flags->{superlibrarian};
- foreach (keys %$flagsrequired) {
- return $flags if $flags->{$_};
- }
- return 0;
-}
-
-sub getborrowernumber {
- my ($userid) = @_;
- my $dbh = C4::Context->dbh;
- for my $field ('userid', 'cardnumber') {
- my $sth=$dbh->prepare
- ("select borrowernumber from borrowers where $field=?");
- $sth->execute($userid);
- if ($sth->rows) {
- my ($bnumber) = $sth->fetchrow;
- return $bnumber;
- }
- }
- return 0;
-}
-1;
-__END__
-
-=back
-
-=head1 SEE ALSO
-
-CGI(3)
-
-C4::Output(3)
-
-Digest::MD5(3)
-
-=cut
Index: modules/C4/Auth_with_ldap.pm
===================================================================
RCS file: modules/C4/Auth_with_ldap.pm
diff -N modules/C4/Auth_with_ldap.pm
--- modules/C4/Auth_with_ldap.pm 10 Mar 2007 01:35:33 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,688 +0,0 @@
-# -*- tab-width: 8 -*-
-# NOTE: This file uses 8-character tabs; do not change the tab size!
-
-package C4::Auth;
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-use strict;
-use Digest::MD5 qw(md5_base64);
-
-require Exporter;
-use C4::Context;
-use C4::Output; # to get the template
-use C4::Interface::CGI::Output;
-use C4::Circulation::Circ2; # getpatroninformation
-use C4::Members;
-# use Net::LDAP;
-# use Net::LDAP qw(:all);
-
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-
-# set the version for version checking
-$VERSION = 0.01;
-
-=head1 NAME
-
-C4::Auth - Authenticates Koha users
-
-=head1 SYNOPSIS
-
- use CGI;
- use C4::Auth;
-
- my $query = new CGI;
-
- my ($template, $borrowernumber, $cookie)
- = get_template_and_user({template_name => "opac-main.tmpl",
- query => $query,
- type => "opac",
- authnotrequired => 1,
- flagsrequired => {borrow => 1},
- });
-
- print $query->header(
- -type => guesstype($template->output),
- -cookie => $cookie
- ), $template->output;
-
-
-=head1 DESCRIPTION
-
- The main function of this module is to provide
- authentification. However the get_template_and_user function has
- been provided so that a users login information is passed along
- automatically. This gets loaded into the template.
-
-=head1 LDAP specific
-
- This module is specific to LDAP authentification. It requires Net::LDAP
package and a working LDAP server.
- To use it :
- * move initial Auth.pm elsewhere
- * Search the string LOCAL
- * modify the code between LOCAL and /LOCAL to fit your LDAP server
parameters & fields
- * rename this module to Auth.pm
- That should be enough.
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
-
-
address@hidden = qw(Exporter);
address@hidden = qw(
- &checkauth
- &get_template_and_user
-);
-
-=item get_template_and_user
-
- my ($template, $borrowernumber, $cookie)
- = get_template_and_user({template_name => "opac-main.tmpl",
- query => $query,
- type => "opac",
- authnotrequired => 1,
- flagsrequired => {borrow => 1},
- });
-
- This call passes the C<query>, C<flagsrequired> and C<authnotrequired>
- to C<&checkauth> (in this module) to perform authentification.
- See C<&checkauth> for an explanation of these parameters.
-
- The C<template_name> is then used to find the correct template for
- the page. The authenticated users details are loaded onto the
- template in the HTML::Template LOOP variable C<USER_INFO>. Also the
- C<sessionID> is passed to the template. This can be used in templates
- if cookies are disabled. It needs to be put as and input to every
- authenticated page.
-
- More information on the C<gettemplate> sub can be found in the
- Output.pm module.
-
-=cut
-
-
-sub get_template_and_user {
- my $in = shift;
- my $template = gettemplate($in->{'template_name'},
$in->{'type'},$in->{'query'});
- my ($user, $cookie, $sessionID, $flags)
- = checkauth($in->{'query'}, $in->{'authnotrequired'},
$in->{'flagsrequired'}, $in->{'type'});
-
- my $borrowernumber;
- if ($user) {
- $template->param(loggedinusername => $user);
- $template->param(sessionID => $sessionID);
-
- $borrowernumber = getborrowernumber($user);
- my ($borr, $alternativeflags) = getpatroninformation(undef,
$borrowernumber);
- my @bordat;
- $bordat[0] = $borr;
- $template->param(USER_INFO => address@hidden,
- );
- # We are going to use the $flags returned by checkauth
- # to create the template's parameters that will indicate
- # which menus the user can access.
- if ($flags && $flags->{superlibrarian} == 1)
- {
- $template->param(CAN_user_circulate => 1);
- $template->param(CAN_user_catalogue => 1);
- $template->param(CAN_user_parameters => 1);
- $template->param(CAN_user_borrowers => 1);
- $template->param(CAN_user_permission => 1);
- $template->param(CAN_user_reserveforothers => 1);
- $template->param(CAN_user_borrow => 1);
- $template->param(CAN_user_reserveforself => 1);
- $template->param(CAN_user_editcatalogue => 1);
- $template->param(CAN_user_updatecharge => 1);
- $template->param(CAN_user_acquisition => 1);
- $template->param(CAN_user_management => 1);
- $template->param(CAN_user_tools => 1); }
-
- if ($flags && $flags->{circulate} == 1) {
- $template->param(CAN_user_circulate => 1); }
-
- if ($flags && $flags->{catalogue} == 1) {
- $template->param(CAN_user_catalogue => 1); }
-
-
- if ($flags && $flags->{parameters} == 1) {
- $template->param(CAN_user_parameters => 1);
- $template->param(CAN_user_management => 1);
- $template->param(CAN_user_tools => 1); }
-
-
- if ($flags && $flags->{borrowers} == 1) {
- $template->param(CAN_user_borrowers => 1); }
-
-
- if ($flags && $flags->{permissions} == 1) {
- $template->param(CAN_user_permission => 1); }
-
- if ($flags && $flags->{reserveforothers} == 1) {
- $template->param(CAN_user_reserveforothers => 1); }
-
-
- if ($flags && $flags->{borrow} == 1) {
- $template->param(CAN_user_borrow => 1); }
-
-
- if ($flags && $flags->{reserveforself} == 1) {
- $template->param(CAN_user_reserveforself => 1); }
-
-
- if ($flags && $flags->{editcatalogue} == 1) {
- $template->param(CAN_user_editcatalogue => 1); }
-
-
- if ($flags && $flags->{updatecharges} == 1) {
- $template->param(CAN_user_updatecharge => 1); }
-
- if ($flags && $flags->{acquisition} == 1) {
- $template->param(CAN_user_acquisition => 1); }
-
- if ($flags && $flags->{management} == 1) {
- $template->param(CAN_user_management => 1);
- $template->param(CAN_user_tools => 1); }
-
- if ($flags && $flags->{tools} == 1) {
- $template->param(CAN_user_tools => 1); }
- }
- $template->param(
- LibraryName =>
C4::Context->preference("LibraryName"),
- );
- return ($template, $borrowernumber, $cookie);
-}
-
-
-=item checkauth
-
- ($userid, $cookie, $sessionID) = &checkauth($query, $noauth, $flagsrequired,
$type);
-
-Verifies that the user is authorized to run this script. If
-the user is authorized, a (userid, cookie, session-id, flags)
-quadruple is returned. If the user is not authorized but does
-not have the required privilege (see $flagsrequired below), it
-displays an error page and exits. Otherwise, it displays the
-login page and exits.
-
-Note that C<&checkauth> will return if and only if the user
-is authorized, so it should be called early on, before any
-unfinished operations (e.g., if you've opened a file, then
-C<&checkauth> won't close it for you).
-
-C<$query> is the CGI object for the script calling C<&checkauth>.
-
-The C<$noauth> argument is optional. If it is set, then no
-authorization is required for the script.
-
-C<&checkauth> fetches user and session information from C<$query> and
-ensures that the user is authorized to run scripts that require
-authorization.
-
-The C<$flagsrequired> argument specifies the required privileges
-the user must have if the username and password are correct.
-It should be specified as a reference-to-hash; keys in the hash
-should be the "flags" for the user, as specified in the Members
-intranet module. Any key specified must correspond to a "flag"
-in the userflags table. E.g., { circulate => 1 } would specify
-that the user must have the "circulate" privilege in order to
-proceed. To make sure that access control is correct, the
-C<$flagsrequired> parameter must be specified correctly.
-
-The C<$type> argument specifies whether the template should be
-retrieved from the opac or intranet directory tree. "opac" is
-assumed if it is not specified; however, if C<$type> is specified,
-"intranet" is assumed if it is not "opac".
-
-If C<$query> does not have a valid session ID associated with it
-(i.e., the user has not logged in) or if the session has expired,
-C<&checkauth> presents the user with a login page (from the point of
-view of the original script, C<&checkauth> does not return). Once the
-user has authenticated, C<&checkauth> restarts the original script
-(this time, C<&checkauth> returns).
-
-The login page is provided using a HTML::Template, which is set in the
-systempreferences table or at the top of this file. The variable C<$type>
-selects which template to use, either the opac or the intranet
-authentification template.
-
-C<&checkauth> returns a user ID, a cookie, and a session ID. The
-cookie should be sent back to the browser; it verifies that the user
-has authenticated.
-
-=cut
-
-
-
-sub checkauth {
- my $query=shift;
- # $authnotrequired will be set for scripts which will run without
authentication
- my $authnotrequired = shift;
- my $flagsrequired = shift;
- my $type = shift;
- $type = 'opac' unless $type;
-
- my $dbh = C4::Context->dbh;
- my $timeout = C4::Context->preference('timeout');
- $timeout = 600 unless $timeout;
-
- my $template_name;
- if ($type eq 'opac') {
- $template_name = "opac-auth.tmpl";
- } else {
- $template_name = "auth.tmpl";
- }
-
- # state variables
- my $loggedin = 0;
- my %info;
- my ($userid, $cookie, $sessionID, $flags,$envcookie);
- my $logout = $query->param('logout.x');
- if ($userid = $ENV{'REMOTE_USER'}) {
- # Using Basic Authentication, no cookies required
- $cookie=$query->cookie(-name => 'sessionID',
- -value => '',
- -expires => '');
- $loggedin = 1;
- } elsif ($sessionID=$query->cookie('sessionID')) {
- C4::Context->_new_userenv($sessionID);
- if (my %hash=$query->cookie('userenv')){
- C4::Context::set_userenv(
- $hash{number},
- $hash{id},
- $hash{cardnumber},
- $hash{firstname},
- $hash{surname},
- $hash{branch},
- $hash{flags},
- $hash{emailaddress},
- );
- }
- my ($ip , $lasttime);
- ($userid, $ip, $lasttime) = $dbh->selectrow_array(
- "SELECT userid,ip,lasttime FROM sessions WHERE
sessionid=?",
- undef,
$sessionID);
- if ($logout) {
- # voluntary logout the user
- $dbh->do("DELETE FROM sessions WHERE sessionID=?", undef,
$sessionID);
- C4::Context->_unset_userenv($sessionID);
- $sessionID = undef;
- $userid = undef;
- open L, ">>/tmp/sessionlog";
- my $time=localtime(time());
- printf L "%20s from %16s logged out at %30s (manually).\n",
$userid, $ip, $time;
- close L;
- }
- if ($userid) {
- if ($lasttime<time()-$timeout) {
- # timed logout
- $info{'timed_out'} = 1;
- $dbh->do("DELETE FROM sessions WHERE
sessionID=?", undef, $sessionID);
- C4::Context->_unset_userenv($sessionID);
- $userid = undef;
- $sessionID = undef;
- open L, ">>/tmp/sessionlog";
- my $time=localtime(time());
- printf L "%20s from %16s logged out at %30s
(inactivity).\n", $userid, $ip, $time;
- close L;
- } elsif ($ip ne $ENV{'REMOTE_ADDR'}) {
- # Different ip than originally logged in from
- $info{'oldip'} = $ip;
- $info{'newip'} = $ENV{'REMOTE_ADDR'};
- $info{'different_ip'} = 1;
- $dbh->do("DELETE FROM sessions WHERE
sessionID=?", undef, $sessionID);
- C4::Context->_unset_userenv($sessionID);
- $sessionID = undef;
- $userid = undef;
- open L, ">>/tmp/sessionlog";
- my $time=localtime(time());
- printf L "%20s from logged out at %30s (ip
changed from %16s to %16s).\n", $userid, $time, $ip, $info{'newip'};
- close L;
- } else {
- $cookie=$query->cookie(-name => 'sessionID',
- -value => $sessionID,
- -expires => '');
- $dbh->do("UPDATE sessions SET lasttime=? WHERE
sessionID=?",
- undef, (time(), $sessionID));
- $flags = haspermission($dbh, $userid, $flagsrequired);
- if ($flags) {
- $loggedin = 1;
- } else {
- $info{'nopermission'} = 1;
- }
- }
- }
- }
- unless ($userid) {
- $sessionID=int(rand()*100000).'-'.time();
- $userid=$query->param('userid');
- my $password=$query->param('password');
- C4::Context->_new_userenv($sessionID);
- my ($return, $cardnumber) = checkpw($dbh,$userid,$password);
- if ($return) {
- $dbh->do("DELETE FROM sessions WHERE sessionID=? AND
userid=?",
- undef, ($sessionID, $userid));
- $dbh->do("INSERT INTO sessions (sessionID, userid,
ip,lasttime) VALUES (?, ?, ?, ?)",
- undef, ($sessionID, $userid,
$ENV{'REMOTE_ADDR'}, time()));
- open L, ">>/tmp/sessionlog";
- my $time=localtime(time());
- printf L "%20s from %16s logged in at %30s.\n",
$userid, $ENV{'REMOTE_ADDR'}, $time;
- close L;
- $cookie=$query->cookie(-name => 'sessionID',
- -value => $sessionID,
- -expires => '');
- if ($flags = haspermission($dbh, $userid,
$flagsrequired)) {
- $loggedin = 1;
- } else {
- $info{'nopermission'} = 1;
- C4::Context->_unset_userenv($sessionID);
- }
- if ($return == 1){
- my
($bornum,$firstname,$surname,$userflags,$branchcode,$emailaddress);
- my $sth=$dbh->prepare("select
borrowernumber,firstname,surname,flags,branchcode,emailaddress from borrowers
where userid=?");
- $sth->execute($userid);
-
($bornum,$firstname,$surname,$userflags,$branchcode,$emailaddress) =
$sth->fetchrow if ($sth->rows);
- unless ($sth->rows){
- my $sth=$dbh->prepare("select
borrowernumber,firstname,surname,flags,branchcode,emailaddress from borrowers
where cardnumber=?");
- $sth->execute($cardnumber);
-
($bornum,$firstname,$surname,$userflags,$branchcode,$emailaddress) =
$sth->fetchrow if ($sth->rows);
- unless ($sth->rows){
- $sth->execute($userid);
-
($bornum,$firstname,$surname,$userflags,$branchcode,$emailaddress) =
$sth->fetchrow if ($sth->rows);
- }
- }
- my $hash = C4::Context::set_userenv(
- $bornum,
- $userid,
- $cardnumber,
- $firstname,
- $surname,
- $branchcode,
- $userflags,
- $emailaddress,
- );
- $envcookie=$query->cookie(-name =>
'userenv',
- -value
=> $hash,
-
-expires => '');
- } elsif ($return == 2) {
- #We suppose the user is the superlibrarian
- my $hash = C4::Context::set_userenv(
- 0,0,
-
C4::Context->config('user'),
-
C4::Context->config('user'),
-
C4::Context->config('user'),
-
"",1,C4::Context->preference('KohaAdminEmailAddress')
- );
- $envcookie=$query->cookie(-name =>
'userenv',
- -value
=> $hash,
-
-expires => '');
- }
- } else {
- if ($userid) {
- $info{'invalid_username_or_password'} = 1;
- C4::Context->_unset_userenv($sessionID);
- }
- }
- }
- my $insecure = C4::Context->boolean_preference('insecure');
- # finished authentification, now respond
- if ($loggedin || $authnotrequired || (defined($insecure) && $insecure))
{
- # successful login
- unless ($cookie) {
- $cookie=$query->cookie(-name => 'sessionID',
- -value => '',
- -expires => '');
- }
- if ($envcookie){
- return ($userid, [$cookie,$envcookie], $sessionID,
$flags)
- } else {
- return ($userid, $cookie, $sessionID, $flags);
- }
- }
- # else we have a problem...
- # get the inputs from the incoming query
- my @inputs =();
- foreach my $name (param $query) {
- (next) if ($name eq 'userid' || $name eq 'password');
- my $value = $query->param($name);
- push @inputs, {name => $name , value => $value};
- }
-
- my $template = gettemplate($template_name, $type,$query);
- $template->param(INPUTS => address@hidden);
- $template->param(loginprompt => 1) unless $info{'nopermission'};
-
- my $self_url = $query->url(-absolute => 1);
- $template->param(url => $self_url);
- $template->param(\%info);
- $cookie=$query->cookie(-name => 'sessionID',
- -value => $sessionID,
- -expires => '');
- print $query->header(
- -type => guesstype($template->output),
- -cookie => $cookie
- ), $template->output;
- exit;
-}
-
-
-
-# this checkpw is a LDAP based one
-# it connects to LDAP (anonymous)
-# it retrieve $userid a-login
-# then compare $password with a-weak
-# then get the LDAP entry
-# and calls the memberadd if necessary
-
-sub checkpw {
- my ($dbh, $userid, $password) = @_;
- if ($userid eq C4::Context->config('user') && $password eq
C4::Context->config('pass')) {
- # Koha superuser account
- return 2;
- }
- ##################################################
- ### LOCAL
- ### Change the code below to match your own LDAP server.
- ##################################################
- # LDAP connexion parameters
- my $ldapserver = 'your.ldap.server.com';
- # Infos to do an anonymous bind
- my $ldapinfos = 'a-section=people,dc=emn,dc=fr ';
- my $name = "a-section=people,dc=emn,dc=fr";
- my $db = Net::LDAP->new( $ldapserver );
-
- # do an anonymous bind
- my $res =$db->bind();
- if($res->code) {
- # auth refused
- warn "LDAP Auth impossible : server not responding";
- return 0;
- } else {
- my $userdnsearch = $db->search(base => $name,
- filter =>"(a-login=$userid)",
- );
- if($userdnsearch->code || ! ( $userdnsearch-> count eq 1 ) ) {
- warn "LDAP Auth impossible : user unknown in LDAP";
- return 0;
- };
-
- my $userldapentry=$userdnsearch -> shift_entry;
- my $cmpmesg = $db -> compare ( $userldapentry, attr =>
'a-weak', value => $password );
- ## HACK LMK
- ## ligne originale
- # if( $cmpmesg -> code != 6 ) {
- if( ( $cmpmesg -> code != 6 ) && ! ( $password eq "kivabien" )
) {
- warn "LDAP Auth impossible : wrong password";
- return 0;
- };
- # build LDAP hash
- my %memberhash;
- my $x =$userldapentry->{asn}{attributes};
- my $key;
- foreach my $k ( @$x) {
- foreach my $k2 (keys %$k) {
- if ($k2 eq 'type') {
- $key = $$k{$k2};
- } else {
- my $a = @$k{$k2};
- foreach my $k3 (@$a) {
- $memberhash{$key} .= $k3." ";
- }
- }
- }
- }
- #
- # BUILD %borrower to CREATE or MODIFY BORROWER
- # change $memberhash{'xxx'} to fit your ldap structure.
- # check twice that mandatory fields are correctly filled
- #
- my %borrower;
- $borrower{cardnumber} = $userid;
- $borrower{firstname} = $memberhash{givenName}; # MANDATORY FIELD
- $borrower{surname} = $memberhash{sn}; # MANDATORY FIELD
- $borrower{initials} =
substr($borrower{firstname},0,1).substr($borrower{surname},0,1)." "; #
MANDATORY FIELD
- $borrower{streetaddress} = $memberhash{l}." "; # MANDATORY FIELD
- $borrower{city} = " "; # MANDATORY FIELD
- $borrower{phone} = " "; # MANDATORY FIELD
- $borrower{branchcode} = $memberhash{branch}; # MANDATORY FIELD
- $borrower{emailaddress} = $memberhash{mail};
- $borrower{categorycode} = $memberhash{employeeType};
- ##################################################
- ### /LOCAL
- ### No change needed after this line (unless there's a bug ;-) )
- ##################################################
- # check if borrower exists
- my $sth=$dbh->prepare("select password from borrowers where
cardnumber=?");
- $sth->execute($userid);
- if ($sth->rows) {
- # it exists, MODIFY
-# warn "MODIF borrower";
- my $sth2 = $dbh->prepare("update borrowers set
firstname=?,surname=?,initials=?,streetaddress=?,city=?,phone=?,
categorycode=?,branchcode=?,emailaddress=?,sort1=? where cardnumber=?");
-
$sth2->execute($borrower{firstname},$borrower{surname},$borrower{initials},
-
$borrower{streetaddress},$borrower{city},$borrower{phone},
-
$borrower{categorycode},$borrower{branchcode},$borrower{emailaddress},
- $borrower{sort1}
,$userid);
- } else {
- # it does not exists, ADD borrower
-# warn "ADD borrower";
- my $borrowerid = newmember(%borrower);
- }
- #
- # CREATE or MODIFY PASSWORD/LOGIN
- #
- # search borrowerid
- $sth = $dbh->prepare("select borrowernumber from borrowers
where cardnumber=?");
- $sth->execute($userid);
- my ($borrowerid)=$sth->fetchrow;
-# warn "change password for $borrowerid setting $password";
- my $digest=md5_base64($password);
- changepassword($userid,$borrowerid,$digest);
- }
-
-# INTERNAL AUTH
- my $sth=$dbh->prepare("select password,cardnumber from borrowers where
userid=?");
- $sth->execute($userid);
- if ($sth->rows) {
- my ($md5password,$cardnumber) = $sth->fetchrow;
- if (md5_base64($password) eq $md5password) {
- return 1,$cardnumber;
- }
- }
- my $sth=$dbh->prepare("select password from borrowers where
cardnumber=?");
- $sth->execute($userid);
- if ($sth->rows) {
- my ($md5password) = $sth->fetchrow;
- if (md5_base64($password) eq $md5password) {
- return 1,$userid;
- }
- }
- return 0;
-}
-
-sub getuserflags {
- my $cardnumber=shift;
- my $dbh=shift;
- my $userflags;
- my $sth=$dbh->prepare("SELECT flags FROM borrowers WHERE cardnumber=?");
- $sth->execute($cardnumber);
- my ($flags) = $sth->fetchrow;
- $sth=$dbh->prepare("SELECT bit, flag, defaulton FROM userflags");
- $sth->execute;
- while (my ($bit, $flag, $defaulton) = $sth->fetchrow) {
- if (($flags & (2**$bit)) || $defaulton) {
- $userflags->{$flag}=1;
- }
- }
- return $userflags;
-}
-
-sub haspermission {
- my ($dbh, $userid, $flagsrequired) = @_;
- my $sth=$dbh->prepare("SELECT cardnumber FROM borrowers WHERE userid=?");
- $sth->execute($userid);
- my ($cardnumber) = $sth->fetchrow;
- ($cardnumber) || ($cardnumber=$userid);
- my $flags=getuserflags($cardnumber,$dbh);
- my $configfile;
- if ($userid eq C4::Context->config('user')) {
- # Super User Account from /etc/koha.conf
- $flags->{'superlibrarian'}=1;
- }
- if ($userid eq 'demo' && C4::Context->config('demo')) {
- # Demo user that can do "anything" (demo=1 in /etc/koha.conf)
- $flags->{'superlibrarian'}=1;
- }
- return $flags if $flags->{superlibrarian};
- foreach (keys %$flagsrequired) {
- return $flags if $flags->{$_};
- }
- return 0;
-}
-
-sub getborrowernumber {
- my ($userid) = @_;
- my $dbh = C4::Context->dbh;
- for my $field ('userid', 'cardnumber') {
- my $sth=$dbh->prepare
- ("select borrowernumber from borrowers where $field=?");
- $sth->execute($userid);
- if ($sth->rows) {
- my ($bnumber) = $sth->fetchrow;
- return $bnumber;
- }
- }
- return 0;
-}
-
-1;
-__END__
-
-=back
-
-=head1 SEE ALSO
-
-CGI(3)
-
-C4::Output(3)
-
-Digest::MD5(3)
-
-=cut
Index: modules/C4/AuthoritiesMarc.pm
===================================================================
RCS file: modules/C4/AuthoritiesMarc.pm
diff -N modules/C4/AuthoritiesMarc.pm
--- modules/C4/AuthoritiesMarc.pm 10 Mar 2007 01:35:33 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,906 +0,0 @@
-package C4::AuthoritiesMarc;
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-use strict;
-require Exporter;
-use C4::Context;
-use C4::Koha;
-use Encode;
-use C4::Biblio;
-
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = 0.01;
-
address@hidden = qw(Exporter);
address@hidden = qw(
- &AUTHgettagslib
- &AUTHfindsubfield
- &AUTHfind_authtypecode
- &AUTHaddauthority
- &AUTHmodauthority
- &AUTHdelauthority
- &AUTHaddsubfield
-
- &AUTHfind_marc_from_kohafield
- &AUTHgetauth_type
- &AUTHcount_usage
- &getsummary
- &authoritysearch
- &XMLgetauthority
- &XMLgetauthorityhash
- &XML_readline_withtags
- &merge
- &FindDuplicateauth
- &ZEBRAdelauthority
- );
-
-sub AUTHfind_marc_from_kohafield {
- my ( $dbh, $kohafield,$authtypecode ) = @_;
- return 0, 0 unless $kohafield;
-$authtypecode="" unless $authtypecode;
-my $marcfromkohafield;
- my $sth = $dbh->prepare("select tagfield,tagsubfield from
auth_subfield_structure where kohafield= ? and authtypecode=? ");
- $sth->execute($kohafield,$authtypecode);
- my ($tagfield,$tagsubfield) = $sth->fetchrow;
- return ($tagfield,$tagsubfield);
-}
-sub authoritysearch {
-## This routine requires rewrite--TG
- my ($dbh, $tags, $operator, $value,
$offset,$length,$authtypecode,$dictionary) = @_;
-###Dictionary flag used to set what to show in summary;
- my $query;
- my $attr;
- my $server;
- my $mainentrytag;
- ##first set the authtype search and may be multiple authorities( linked
authorities)
- my $n=0;
- my @authtypecode;
- my @auths=split / /,$authtypecode ;
- my
($attrfield)=MARCfind_attr_from_kohafield("authtypecode");
- foreach my $auth (@auths){
- $query .=$attrfield." ".$auth." "; ##No
truncation on authtype
- push @authtypecode ,$auth;
- $n++;
- }
- if ($n>1){
- $query= "address@hidden ".$query;
- }
-
- my $dosearch;
- my $and;
- my $q2;
- for(my $i = 0 ; $i <= $#{$value} ; $i++)
- {
-
- if (@$value[$i]){
- ##If mainentry search $a tag
- if (@$tags[$i] eq "mainentry") {
- ($attr)=MARCfind_attr_from_kohafield("mainentry")." ";
- }else{
- ($attr) =MARCfind_attr_from_kohafield("allentry")." ";
- }
- if (@$operator[$i] eq 'phrase') {
- $attr.=" address@hidden 4=1 address@hidden 5=100
address@hidden 6=3 ";##Phrase, No truncation,all of subfield field must match
-
- } else {
-
- $attr .=" address@hidden 4=6 address@hidden 5=1 ";##
Word list, right truncated, anywhere
- }
-
-
- $and .=" address@hidden " ;
- $attr =$attr."\""address@hidden"\"";
- $q2 .=$attr;
- $dosearch=1;
- }#if value
-
- }## value loop
-##Add how many queries generated
-$query= $and.$query.$q2;
-#warn $query;
-
-$offset=0 unless $offset;
-my $counter = $offset;
-$length=10 unless $length;
-my @oAuth;
-my $i;
- $oAuth[0]=C4::Context->Zconn("authorityserver");
-my ($mainentry)=MARCfind_attr_from_kohafield("mainentry");
-my ($allentry)=MARCfind_attr_from_kohafield("allentry");
-
-$query="address@hidden 2=102 address@hidden address@hidden ".$query."
address@hidden 7=1 ".$mainentry." 0 address@hidden 7=1 ".$allentry." 1"; ##
sort on mainfield and subfields
-
-
-my $oAResult;
- $oAResult= $oAuth[0]->search_pqf($query) ;
-while (($i = ZOOM::event(address@hidden)) != 0) {
- my $ev = $oAuth[$i-1]->last_event();
-# warn("Authority ", $i-1, ": event $ev (", ZOOM::event_str($ev), ")\n");
- last if $ev == ZOOM::Event::ZEND;
-}
- my($error, $errmsg, $addinfo, $diagset) = $oAuth[0]->error_x();
- if ($error) {
- warn "oAuth error: $errmsg ($error) $addinfo $diagset\n";
- goto NOLUCK;
- }
-
-
-my $nbresults;
- $nbresults=$oAResult->size();
-my $nremains=$nbresults;
- my @result = ();
- my @finalresult = ();
-
-if ($nbresults>0){
-
-##Find authid and linkid fields
-
-
-while (($counter < $nbresults) && ($counter < ($offset + $length))) {
-##Here we have to extract MARC record and $authid from ZEBRA AUTHORITIES
-my $rec=$oAResult->record($counter);
-my $marcdata=$rec->raw();
-my $authrecord=Encode::decode("utf8",$marcdata);
-$authrecord=XML_xml2hash_onerecord($authrecord);
-my @linkids;
-my $separator=C4::Context->preference('authoritysep');
-my $linksummary=" ".$separator;
-my $authid=XML_readline_onerecord($authrecord,"authid","authorities");
-my @linkid=XML_readline_asarray($authrecord,"linkid","authorities");##May have
many linked records
-
- foreach my $linkid (@linkid){
- my $linktype=AUTHfind_authtypecode($dbh,$linkid);
- my $linkrecord=XMLgetauthorityhash($dbh,$linkid);
- $linksummary.="<br> <a
href='detail.pl?authid=$linkid'>".getsummary($dbh,$linkrecord,$linkid,$linktype).".</a>".$separator;
-
- }
-my $summary;
-unless ($dictionary){
- $summary=getsummary($dbh,$authrecord,$authid,$authtypecode);
-$summary="<a href='detail.pl?authid=$authid'>".$summary.".</a>";
- if ( $linksummary ne " ".$separator){
- $summary="<b>".$summary."</b>".$linksummary;
- }
-}else{
- $summary=getdictsummary($dbh,$authrecord,$authid,$authtypecode);
-}
-my $toggle;
- if ($counter % 2) {
- $toggle="#ffffcc";
- } else {
- $toggle="white";
- }
-my %newline;
- $newline{'toggle'}=$toggle;
- $newline{summary} = $summary;
- $newline{authid} = $authid;
- $newline{linkid} = $linkid[0];
- $newline{even} = $counter % 2;
- $counter++;
- push @finalresult, \%newline;
- }## while counter
-
-
-for (my $z=0; $z<($nbresults<$length?$nbresults:$length); $z++){
-
$finalresult[$z]{used}=AUTHcount_usage($finalresult[$z]{authid});
-
- }# all $z's
-
-
-}## if nbresult
-NOLUCK:
-$oAResult->destroy();
-$oAuth[0]->destroy();
-
- return (address@hidden, $nbresults);
-}
-
-
-
-sub AUTHcount_usage {
- my ($authid) = @_;
-### try ZOOM search here
-my @oConnection;
-$oConnection[0]=C4::Context->Zconn("biblioserver");
-my $query;
-my ($attrfield)=MARCfind_attr_from_kohafield("authid");
-$query= $attrfield." ".$authid;
-
-my $oResult = $oConnection[0]->search_pqf($query);
-my $event;
-my $i;
- while (($i = ZOOM::event(address@hidden)) != 0) {
- $event = $oConnection[$i-1]->last_event();
- last if $event == ZOOM::Event::ZEND;
- }# while
-my $result=$oResult->size() ;
- return ($result);
-}
-
-
-
-sub AUTHfind_authtypecode {
- my ($dbh,$authid) = @_;
- my $sth = $dbh->prepare("select authtypecode from auth_header where
authid=?");
- $sth->execute($authid);
- my ($authtypecode) = $sth->fetchrow;
- return $authtypecode;
-}
-
-
-sub AUTHgettagslib {
- my ($dbh,$forlibrarian,$authtypecode)= @_;
- $authtypecode="" unless $authtypecode;
- my $sth;
- my $libfield = ($forlibrarian eq 1)? 'liblibrarian' : 'libopac';
-
-
- # check that authority exists
- $sth=$dbh->prepare("select count(*) from auth_tag_structure where
authtypecode=?");
- $sth->execute($authtypecode);
- my ($total) = $sth->fetchrow;
- $authtypecode="" unless ($total >0);
- $sth= $dbh->prepare(
-"select tagfield,liblibrarian,libopac,mandatory,repeatable from
auth_tag_structure where authtypecode=? order by tagfield"
- );
-
-$sth->execute($authtypecode);
- my ( $liblibrarian, $libopac, $tag, $res, $tab, $mandatory,
$repeatable );
-
- while ( ( $tag, $liblibrarian, $libopac, $mandatory, $repeatable ) =
$sth->fetchrow ) {
- $res->{$tag}->{lib} = ($forlibrarian or
!$libopac)?$liblibrarian:$libopac;
- $res->{$tab}->{tab} = ""; # XXX
- $res->{$tag}->{mandatory} = $mandatory;
- $res->{$tag}->{repeatable} = $repeatable;
- }
- $sth= $dbh->prepare("select
tagfield,tagsubfield,liblibrarian,libopac,tab, mandatory,
repeatable,authorised_value,authtypecode,value_builder,seealso,hidden,isurl,link
from auth_subfield_structure where authtypecode=? order by
tagfield,tagsubfield"
- );
- $sth->execute($authtypecode);
-
- my $subfield;
- my $authorised_value;
- my $authtypecode;
- my $value_builder;
- my $kohafield;
- my $seealso;
- my $hidden;
- my $isurl;
- my $link;
-
- while (
- ( $tag, $subfield, $liblibrarian, , $libopac, $tab,
- $mandatory, $repeatable, $authorised_value, $authtypecode,
- $value_builder, $seealso, $hidden,
- $isurl, $link )
- = $sth->fetchrow
- )
- {
- $res->{$tag}->{$subfield}->{lib} = ($forlibrarian or
!$libopac)?$liblibrarian:$libopac;
- $res->{$tag}->{$subfield}->{tab} = $tab;
- $res->{$tag}->{$subfield}->{mandatory} = $mandatory;
- $res->{$tag}->{$subfield}->{repeatable} = $repeatable;
- $res->{$tag}->{$subfield}->{authorised_value} = $authorised_value;
- $res->{$tag}->{$subfield}->{authtypecode} = $authtypecode;
- $res->{$tag}->{$subfield}->{value_builder} = $value_builder;
- $res->{$tag}->{$subfield}->{seealso} = $seealso;
- $res->{$tag}->{$subfield}->{hidden} = $hidden;
- $res->{$tag}->{$subfield}->{isurl} = $isurl;
- $res->{$tag}->{$subfield}->{link} = $link;
- }
- return $res;
-}
-
-sub AUTHaddauthority {
-# pass the XML hash to this function, and it will create the records in the
authority table
- my ($dbh,$record,$authid,$authtypecode) = @_;
-# if authid empty => true add, find a new authid number
- if (!$authid) {
- my $sth=$dbh->prepare("select max(authid) from auth_header");
- $sth->execute;
- ($authid)=$sth->fetchrow;
- $authid=$authid+1;
- }
-
-##Modified record may also come here use REPLACE -- bulk import comes here
-XML_writeline($record,"authid",$authid,"authorities");
-XML_writeline($record,"authtypecode",$authtypecode,"authorities");
-my $xml=XML_hash2xml($record);
- my $sth=$dbh->prepare("REPLACE auth_header set marcxml=?,
authid=?,authtypecode=?,datecreated=now()");
- $sth->execute($xml,$authid,$authtypecode);
- $sth->finish;
- ZEBRAop($dbh,$authid,'specialUpdate',"authorityserver");
-## If the record is linked to another update the linked authorities with new
authid
-my @linkids=XML_readline_asarray($record,"linkid","authorities");
- foreach my $linkid (@linkids){
- ##Modify the record of linked
- AUTHaddlink($dbh,$linkid,$authid);
- }
-return ($authid);
-}
-
-sub AUTHaddlink{
-my ($dbh,$linkid,$authid)address@hidden;
-my $record=XMLgetauthorityhash($dbh,$linkid);
-my $authtypecode=AUTHfind_authtypecode($dbh,$linkid);
-#warn "adding l:$linkid,a:$authid,auth:$authtypecode";
-XML_writeline($record,"linkid",$authid,"authorities");
-my $xml=XML_hash2xml($record);
-$dbh->do("lock tables header WRITE");
- my $sth=$dbh->prepare("update auth_header set marcxml=? where
authid=?");
- $sth->execute($xml,$linkid);
- $sth->finish;
- $dbh->do("unlock tables");
- ZEBRAop($dbh,$linkid,'specialUpdate',"authorityserver");
-}
-
-
-
-sub XMLgetauthority {
- # Returns MARC::XML of the authority passed in parameter.
- my ( $dbh, $authid ) = @_;
- my $sth = $dbh->prepare("select marcxml from auth_header where authid=? "
);
- $sth->execute($authid);
- my ($marcxml)=$sth->fetchrow;
- $marcxml=Encode::decode('utf8',$marcxml);
- return ($marcxml);
-}
-
-sub XMLgetauthorityhash {
-## Utility to return hashed MARCXML
-my ($dbh,$authid)address@hidden;
-my $xml=XMLgetauthority($dbh,$authid);
-my $xmlhash=XML_xml2hash_onerecord($xml);
-return $xmlhash;
-}
-
-
-
-
-sub AUTHgetauth_type {
- my ($authtypecode) = @_;
- my $dbh=C4::Context->dbh;
- my $sth=$dbh->prepare("select * from auth_types where authtypecode=?");
- $sth->execute($authtypecode);
- return $sth->fetchrow_hashref;
-}
-
-
-sub AUTHmodauthority {
-## $record is expected to be an xmlhash
- my ($dbh,$authid,$record,$authtypecode)address@hidden;
- my ($oldrecord)=&XMLgetauthorityhash($dbh,$authid);
-### This equality is very dodgy ,It porobaby wont work
- if ($oldrecord eq $record) {
- return $authid;
- }
-##
-my $sth=$dbh->prepare("update auth_header set marcxml=? where authid=?");
-# find if linked records exist and delete the link in them
-my @linkids=XML_readline_asarray($oldrecord,"linkid","authorities");
-
- foreach my $linkid (@linkids){
- ##Modify the record of linked
- my $linkrecord=XMLgetauthorityhash($dbh,$linkid);
- my $linktypecode=AUTHfind_authtypecode($dbh,$linkid);
- my
@linkfields=XML_readline_asarray($linkrecord,"linkid","authorities");
- my $updated;
- foreach my $linkfield (@linkfields){
- if ($linkfield eq $authid){
-
XML_writeline_id($linkrecord,"linkid",$linkfield,"","authorities");
- $updated=1;
- }
- }#foreach linkfield
- my $linkedxml=XML_hash2xml($linkrecord);
- if ($updated==1){
- $sth->execute($linkedxml,$linkid);
- ZEBRAop($dbh,$linkid,'specialUpdate',"authorityserver");
- }
-
- }#foreach linkid
-
-#Now rewrite the $record to table with an add
-$authid=AUTHaddauthority($dbh,$record,$authid,$authtypecode);
-
-
-### If a library thinks that updating all biblios is a long process and wishes
to leave that to a cron job to use merge_authotities.pl
-### they should have a system preference "dontmerge=1" otherwise by default
biblios will be updated
-
-if (C4::Context->preference('dontmerge') ){
-# save the file in localfile/modified_authorities
- my $cgidir = C4::Context->intranetdir ."/cgi-bin";
- unless (opendir(DIR, "$cgidir")) {
- $cgidir = C4::Context->intranetdir."/";
- }
-
- my $filename = $cgidir."/localfile/modified_authorities/$authid.authid";
- open AUTH, "> $filename";
- print AUTH $authid;
- close AUTH;
-}else{
- &merge($dbh,$authid,$record,$authid,$record);
-}
-return $authid;
-}
-
-sub AUTHdelauthority {
- my ($dbh,$authid,$keep_biblio) = @_;
-
-# if the keep_biblio is set to 1, then authority entries in biblio are
preserved.
-# FIXME : delete or not in biblio tables (depending on $keep_biblio flag) is
not implemented
-ZEBRAop($dbh,$authid,"recordDelete","authorityserver");
-}
-
-sub ZEBRAdelauthority {
-my ($dbh,$authid)address@hidden;
- $dbh->do("delete from auth_header where authid=$authid") ;
-}
-
-sub AUTHfind_authtypecode {
- my ($dbh,$authid) = @_;
- my $sth = $dbh->prepare("select authtypecode from auth_header where
authid=?");
- $sth->execute($authid);
- my ($authtypecode) = $sth->fetchrow;
- return $authtypecode;
-}
-
-
-sub FindDuplicateauth {
-### Should receive an xmlhash
- my ($record,$authtypecode)address@hidden;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("select auth_tag_to_report from auth_types
where authtypecode=?");
- $sth->execute($authtypecode);
- my ($auth_tag_to_report) = $sth->fetchrow;
- $sth->finish;
- # build a request for authoritysearch
- my (@tags, @and_or, @excluding, @operator, @value, $offset, $length);
-
-# if ($record->field($auth_tag_to_report)) {
- push @tags, $auth_tag_to_report;
- push @operator, "all";
- @value,
XML_readline_asarray($record,"","",$auth_tag_to_report);
-# }
-
- my ($finalresult,$nbresult) =
authoritysearch($dbh,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,0,10,$authtypecode);
- # there is at least 1 result => return the 1st one
- if ($nbresult>0) {
- return @$finalresult[0]->{authid},@$finalresult[0]->{summary};
- }
- # no result, returns nothing
- return;
-}
-
-sub getsummary{
-## give this an XMLhash record to return summary
-my ($dbh,$record,$authid,$authtypecode)address@hidden;
- my $authref = getauthtype($authtypecode);
- my $summary = $authref->{summary};
- # if the library has a summary defined, use it. Otherwise,
build a standard one
- if ($summary) {
- my $fields = $record->{'datafield'};
- foreach my $field (@$fields) {
- my $tag = $field->{'tag'};
- if ($tag<10) {
- my $tagvalue =
XML_readline_onerecord($record,"","",$field->{tag});
- $summary =~
s/\[(.?.?.?.?)$tag\*(.*?)]/$1$tagvalue$2\[$1$tag$2]/g;
- } else {
- my @subf =
XML_readline_withtags($record,"","",$tag);
- for my $i (0..$#subf) {
- my $subfieldcode = $subf[$i][0];
- my $subfieldvalue =
$subf[$i][1];
- my $tagsubf =
$tag.$subfieldcode;
- $summary =~
s/\[(.?.?.?.?)$tagsubf(.*?)]/$1$subfieldvalue$2\[$1$tagsubf$2]/g;
- }## each subf
- }#tag >10
- }##each field
- $summary =~ s/\[(.*?)]//g;
- $summary =~ s/\n/<br>/g;
- } else {
-## $summary did not exist create a standard summary
- my $heading; # = $authref->{summary};
- my $altheading;
- my $seeheading;
- my $see;
- my $fields = $record->{datafield};
- if (C4::Context->preference('marcflavour') eq
'UNIMARC') {
- # construct UNIMARC summary, that is quite different
from MARC21 one
- foreach my $field (@$fields) {
- # accepted form
- if ($field->{tag} = ~/'2..'/) {
- foreach my $subfield ("a".."z"){
- ## Fixme-- if UNICODE uses numeric
subfields as well add them
-
$heading.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
- }
- }##tag 2..
- # rejected form(s)
- if ($field->{tag} = ~/'4..'/) {
- my $value;
- foreach my $subfield ("a".."z"){
- ## Fixme-- if UNICODE uses numeric
subfields as well add them
-
$value.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
- }
- $summary.=
" <i>".$value."</i><br/>";
- $summary.=
" <i>see:</i> ".$heading."<br/>";
- }##tag 4..
- # see :
- if ($field->{tag} = ~/'5..'/) {
- my $value;
- foreach my $subfield ("a".."z"){
- ## Fixme-- if UNICODE uses numeric
subfields as well add them
-
$value.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
- }
- $summary.=
" <i>".$value."</i><br/>";
- $summary.=
" <i>see:</i> ".$heading."<br/>";
- }# tag 5..
- # // form
- if ($field->{tag} = ~/'7..'/) {
- my $value;
- foreach my $subfield ("a".."z"){
- ## Fixme-- if UNICODE uses numeric
subfields as well add them
-
$value.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
- }
- $seeheading.=
" <i>see also:</i> ".$value."<br />";
- $altheading.=
" ".$value."<br />";
- $altheading.=
" <i>see also:</i> ".$heading."<br />";
- }# tag 7..
- }## Foreach fields
- $summary = "<b>".$heading."</b><br
/>".$seeheading.$altheading.$summary;
- } else {
- # construct MARC21 summary
- foreach my $field (@$fields) {
- my $tag="1..";
- if($field->{tag} =~ /^$tag/) {
- if ($field->{tag} eq '150') {
- my $value;
- foreach my $subfield ("a".."z"){
-
$value=XML_readline_onerecord($record,"","","150",$subfield);
- $heading.="\$".$subfield.$value
if $value;
- }
- }else{
- foreach my $subfield ("a".."z"){
-
$heading.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
- }
- }### tag 150 or else
- }##tag 1..
- my $tag="4..";
- if($field->{tag} =~ /^$tag/) {
- foreach my $subfield ("a".."z"){
-
$seeheading.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
- }
- $seeheading.=
" ".$seeheading."<br />";
- $seeheading.=
" <i>see:</i> ".$seeheading."<br />";
- } #tag 4..
- my $tag="5..";
- if($field->{tag} =~ /^$tag/) {
- my $value;
- foreach my $subfield ("a".."z"){
-
$value.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
- }
- $seeheading.=
" <i>see also:</i> ".$value."<br />";
- $altheading.=
" ".$value."<br />";
- $altheading.=
" <i>see also:</i> ".$altheading."<br />";
- }#tag 5..
-
- }##for each field
- $summary.=$heading.$seeheading.$altheading;
- }##USMARC vs UNIMARC
- }###Summary exists or not
-return $summary;
-}
-sub getdictsummary{
-## give this a XML record to return a brief summary
-my ($dbh,$record,$authid,$authtypecode)address@hidden;
- my $authref = getauthtype($authtypecode);
- my $summary = $authref->{summary};
- my $fields = $record->{'datafield'};
- # if the library has a summary defined, use it. Otherwise,
build a standard one
- if ($summary) {
- foreach my $field (@$fields) {
- my $tag = $field->{'tag'};
- if ($tag<10) {
- my $tagvalue =
XML_readline_onerecord($record,"","",$field->{tag});
- $summary =~
s/\[(.?.?.?.?)$tag\*(.*?)]/$1$tagvalue$2\[$1$tag$2]/g;
- } else {
- my @subf =
XML_readline_withtags($record,"","",$tag);
- for my $i (0..$#subf) {
- my $subfieldcode = $subf[$i][0];
- my $subfieldvalue =
$subf[$i][1];
- my $tagsubf =
$tag.$subfieldcode;
- $summary =~
s/\[(.?.?.?.?)$tagsubf(.*?)]/$1$subfieldvalue$2\[$1$tagsubf$2]/g;
- }## each subf
- }#tag >10
- }##each field
- $summary =~ s/\[(.*?)]//g;
- $summary =~ s/\n/<br>/g;
- } else {
- my $heading; # = $authref->{summary};
- my $altheading;
- my $seeheading;
- my $see;
- my $fields = $record->{datafield};
- if (C4::Context->preference('marcflavour') eq
'UNIMARC') {
- # construct UNIMARC summary, that is quite different
from MARC21 one
- foreach my $field (@$fields) {
- # accepted form
- if ($field->{tag} = ~/'2..'/) {
- foreach my $subfield ("a".."z"){
- ## Fixme-- if UNICODE uses numeric
subfields as well add them
-
$heading.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
- }
- }##tag 2..
- }
- $summary = $heading;
- } else {
- # construct MARC21 summary
- foreach my $field (@$fields) {
- my $tag="1..";
- if($field->{tag} =~ /^$tag/) {
- $heading.=
XML_readline_onerecord($record,"","",$field->{tag},"a");
- }
- } #each fieldd
-
- $summary=$heading;
- }# USMARC vs UNIMARC
- }### Summary exists
-return $summary;
-}
-
-
-sub merge {
-##mergefrom is authid MARCfrom is marcxml hash of authority
-### mergeto ditto
- my ($dbh,$mergefrom,$MARCfrom,$mergeto,$MARCto) = @_;
- return unless (defined $MARCfrom);
- return unless (defined $MARCto);
- my $authtypecodefrom = AUTHfind_authtypecode($dbh,$mergefrom);
- my $authtypecodeto = AUTHfind_authtypecode($dbh,$mergeto);
- # return if authority does not exist
-
- # search the tag to report
- my $sth = $dbh->prepare("select auth_tag_to_report from auth_types
where authtypecode=?");
- $sth->execute($authtypecodefrom);
- my ($auth_tag_to_report) = $sth->fetchrow;
- my @record_to;
- # search all biblio tags using this authority.
- $sth = $dbh->prepare("select distinct tagfield from
biblios_subfield_structure where authtypecode=? ");
- $sth->execute($authtypecodefrom);
-my @tags_using_authtype;
- while (my ($tagfield) = $sth->fetchrow) {
- push @tags_using_authtype,$tagfield ;
- }
-## The subfield for linking authorities is stored in koha_attr named
auth_biblio_link_subf
-## This way we may use whichever subfield we want without harcoding 9 in
-my
($dummyfield,$tagsubfield)=MARCfind_marc_from_kohafield("auth_biblio_link_subf","biblios");
- # now, find every biblio using this authority
-### try ZOOM search here
-my @oConnection;
- $oConnection[0]=C4::Context->Zconn("biblioserver");
-##$oConnection[0]->option(elementSetName=>"biblios"); ## Needs a fix
-my $query;
-my ($attr2)=MARCfind_attr_from_kohafield("authid");
-my $attrfield.=$attr2;
-$query= $attrfield." ".$mergefrom;
-my ($event,$i);
-my $oResult = $oConnection[0]->search_pqf($query);
- while (($i = ZOOM::event(address@hidden)) != 0) {
- $event = $oConnection[$i-1]->last_event();
- last if $event == ZOOM::Event::ZEND;
- }# while event
-my $count=$oResult->size();
-my @reccache;
-my $z=0;
-while ( $z<$count ) {
-my $rec;
- $rec=$oResult->record($z);
- my $marcdata = $rec->raw();
-my $koharecord=Encode::decode("utf8",$marcdata);
-$koharecord=XML_xml2hash($koharecord);
- my ( $xmlrecord, @itemsrecord) = XML_separate($koharecord);
-
-push @reccache, $xmlrecord;
-$z++;
-}
-$oResult->destroy();
-$oConnection[0]->destroy();
- foreach my $xmlhash (@reccache){
- my $update;
- foreach my $tagfield (@tags_using_authtype){
-
- ###Change the authid in biblio
-
$xmlhash=XML_writeline_id($xmlhash,$mergefrom,$mergeto,$tagfield,$tagsubfield);
- ### delete all subfields of bibliorecord
- $xmlhash=XML_delete_withid($xmlhash,$mergeto,$tagfield,$tagsubfield);
- ####Read all the data in from authrecord
- my @record_to=XML_readline_withtags($MARCto,"","",$auth_tag_to_report);
- ##Write the data to biblio
- foreach my $subfield (@record_to) {
- ## Replace the data in MARCXML with the new matching authid
-
XML_writeline_withid($xmlhash,$tagsubfield,$mergeto,$subfield->[1],$tagfield,$subfield->[0]);
- $update=1;
- }#foreach $subfield
- }#foreach tagfield
- if ($update==1){
- my
$biblionumber=XML_readline_onerecord($xmlhash,"biblionumber","biblios");
- my $frameworkcode=MARCfind_frameworkcode($dbh,$biblionumber);
- NEWmodbiblio($dbh,$biblionumber,$xmlhash,$frameworkcode) ;
- }
-
- }#foreach $xmlhash
-}#sub
-
-sub XML_writeline_withid{
-## Only used in authorities to update biblios with matching authids
-my ($xml,$idsubf,$id,$newvalue,$tag,$subf)address@hidden;
-my $biblio=$xml->{'datafield'};
-my $updated=0;
- if ($tag>9){
- foreach my $data (@$biblio){
- if ($data->{'tag'} eq $tag){
- my @subfields=$data->{'subfield'};
- foreach my $subfield ( @subfields){
- foreach my $code ( @$subfield){
- if ($code->{'code'} eq $idsubf &&
$code->{'content'} eq $id){
- ###This is the correct tag -- Now reiterate and
update
- my @newsubs;
- foreach my $code ( @$subfield){
- if ($code->{'code'} eq $subf ){
- $code->{'content'}=$newvalue;
- $updated=1;
- }
- push @newsubs, $code;
- }## each code updated
- if (!$updated){
- ##Create the subfield if it did not
exist
- push
@newsubs,{code=>$subf,content=>$newvalue};
- $data->{subfield}= address@hidden;
- $updated=1;
- }### created
- }### correct tag with id
- }#each code
- }##each subfield
- }# tag match
- }## each datafield
- }### tag >9
-return $xml;
-}
-sub XML_delete_withid{
-## Currently only usedin authorities
-### deletes all the subfields of a matching authid
-my ($xml,$id,$tag,$idsubf)address@hidden;
-my $biblio=$xml->{'datafield'};
- if ($tag>9){
- foreach my $data (@$biblio){
- if ($data->{'tag'} eq $tag){
- my @subfields=$data->{'subfield'};
- foreach my $subfield ( @subfields){
- foreach my $code ( @$subfield){
- if ($code->{'code'} eq $idsubf &&
$code->{'content'} eq $id){
- ###This is the correct tag -- Now reiterate and
delete all but id subfield
- foreach my $code ( @$subfield){
- if ($code->{'code'} ne $idsubf
){
- $code->{'content'}="";
- }
- }## each code deleted
- }### correct tag with id
- }#each code
- }## each subfield
- }## tag matches
- }## each datafield
- }# tag >9
-return $xml;
-}
-
-sub XML_readline_withtags {
-my ($xml,$kohafield,$recordtype,$tag,$subf)address@hidden;
-#$xml represents one record of MARCXML as perlhashed
-## returns an array of read fields--useful for reading repeated fields
-### $recordtype is needed for mapping the correct field if supplied
-### If only $tag is given reads the whole tag
-###Returns subfieldcodes as well
-my @value;
- ($tag,$subf)=MARCfind_marc_from_kohafield($kohafield,$recordtype) if
$kohafield;
-if ($tag){
-### Only datafields are read
-my $biblio=$xml->{'datafield'};
- if ($tag>9){
- foreach my $data (@$biblio){
- if ($data->{'tag'} eq $tag){
- foreach my $subfield ( $data->{'subfield'}){
- foreach my $code ( @$subfield){
- if ($code->{'code'} eq $subf || !$subf){
- push @value,[$code->{'code'},$code->{'content'}];
- }
- }# each code
- }# each subfield
- }### tag found
- }## each tag
- }##tag >9
-}## if tag
-return @value;
-}
-
-1;
-__END__
-
-=back
-
-=head1 AUTHOR
-
-Koha Developement team <address@hidden>
-
-Paul POULAIN address@hidden
-
-=cut
-
-# $Id: AuthoritiesMarc.pm,v 1.1.2.1 2007/03/10 01:35:33 tgarip1957 Exp $
-
-# Revision 1.30 2006/09/06 16:21:03 tgarip1957
-# Clean up before final commits
-#
-# Revision 1.9.2.6 2005/06/07 10:02:00 tipaul
-# porting dictionnary search from head to 2.2. there is now a ... facing
titles, author & subject, to search in biblio & authorities existing values.
-#
-# Revision 1.9.2.5 2005/05/31 14:50:46 tipaul
-# fix for authority merging. There was a bug on official installs
-#
-# Revision 1.9.2.4 2005/05/30 11:24:15 tipaul
-# fixing a bug : when a field was repeated, the last field was also repeated.
(Was due to the "empty" field in html between fields : to separate fields, in
html, an empty field is automatically added. in AUTHhtml2marc, this empty field
was not discarded correctly)
-#
-# Revision 1.9.2.3 2005/04/28 08:45:33 tipaul
-# porting FindDuplicate feature for authorities from HEAD to rel_2_2, works
correctly now.
-#
-# Revision 1.9.2.2 2005/02/28 14:03:13 tipaul
-# * adding search on "main entry" (ie $a subfield) on a given authority (the
"search everywhere" field is still here).
-# * adding a select box to requet "contain" or "begin with" search.
-# * fixing some bug in authority search (related to "main entry" search)
-#
-# Revision 1.9.2.1 2005/02/24 13:12:13 tipaul
-# saving authority modif in a text file. This will be used soon with another
script (in crontab). The script in crontab will retrieve every authorityid in
the directory localfile/authorities and modify every biblio using this
authority. Those modifs may be long. So they can't be done through http,
because we may encounter a webserver timeout, and kill the process before end
of the job.
-# So, it will be done through a cron job.
-# (/me agree we need some doc for command line scripts)
-#
-# Revision 1.9 2004/12/23 09:48:11 tipaul
-# Minor changes in summary "exploding" (the 3 digits AFTER the subfield were
not on the right place).
-#
-# Revision 1.8 2004/11/05 10:11:39 tipaul
-# export auth_count_usage (bugfix)
-#
-# Revision 1.7 2004/09/23 16:13:00 tipaul
-# Bugfix in modification
-#
-# Revision 1.6 2004/08/18 16:00:24 tipaul
-# fixes for authorities management
-#
-# Revision 1.5 2004/07/05 13:37:22 doxulting
-# First step for working authorities
-#
-# Revision 1.4 2004/06/22 11:35:37 tipaul
-# removing % at the beginning of a string to avoid loooonnnngggg searchs
-#
-# Revision 1.3 2004/06/17 08:02:13 tipaul
-# merging tag & subfield in auth_word for better perfs
-#
-# Revision 1.2 2004/06/10 08:29:01 tipaul
-# MARC authority management (continued)
-#
-# Revision 1.1 2004/06/07 07:35:01 tipaul
-# MARC authority management package
-#
-
Index: modules/C4/Biblio.pm
===================================================================
RCS file: modules/C4/Biblio.pm
diff -N modules/C4/Biblio.pm
--- modules/C4/Biblio.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,1553 +0,0 @@
-package C4::Biblio;
-# New XML API added by address@hidden 25/08/06
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-use strict;
-require Exporter;
-use C4::Context;
-use XML::Simple;
-use Encode;
-
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = 2.01;
-
address@hidden = qw(Exporter);
-
-# &itemcount removed, now resides in Search.pm
-#
address@hidden = qw(
-
-&getitemtypes
-&getkohafields
-&getshelves
-
-&NEWnewbiblio
-&NEWnewitem
-&NEWmodbiblio
-&NEWmoditem
-&NEWdelbiblio
-&NEWdelitem
-&NEWmodbiblioframework
-
-
-&MARCfind_marc_from_kohafield
-&MARCfind_frameworkcode
-&MARCfind_itemtype
-&MARCgettagslib
-&MARCitemsgettagslib
-
-&MARCfind_attr_from_kohafield
-&MARChtml2xml
-
-
-&XMLgetbiblio
-&XMLgetbibliohash
-&XMLgetitem
-&XMLgetitemhash
-&XMLgetallitems
-&XML_xml2hash
-&XML_xml2hash_onerecord
-&XML_xml2hash_news
-&XML_hash2xml
-&XMLmarc2koha
-&XMLmarc2koha_onerecord
-&XML_readline
-&XML_readline_onerecord
-&XML_readline_asarray
-&XML_writeline
-&XML_writeline_id
-&XMLmoditemonefield
-&XMLkoha2marc
-&XML_separate
-&XML_record_header
-&XMLmodLCindex
-&ZEBRAdelbiblio
-&ZEBRAgetrecord
-&ZEBRAop
-&ZEBRAopserver
-&ZEBRA_readyXML
-&ZEBRA_readyXML_noheader
-&ZEBRAopcommit
-&newbiblio
-&modbiblio
-&DisplayISBN
-
-);
-
-#################### XML XML XML XML ###################
-### XML Read- Write functions
-sub XML_readline_onerecord{
-my ($xml,$kohafield,$recordtype,$tag,$subf)address@hidden;
-#$xml represents one record of MARCXML as perlhashed
-### $recordtype is needed for mapping the correct field
- ($tag,$subf)=MARCfind_marc_from_kohafield($kohafield,$recordtype) if
$kohafield;
-
-if ($tag){
-my $biblio=$xml->{'datafield'};
-my $controlfields=$xml->{'controlfield'};
-my $leader=$xml->{'leader'};
- if ($tag>9){
- foreach my $data (@$biblio){
- if ($data->{'tag'} eq $tag){
- foreach my $subfield ( $data->{'subfield'}){
- foreach my $code ( @$subfield){
- if ($code->{'code'} eq $subf){
- return $code->{'content'};
- }
- }
- }
- }
- }
- }else{
- if ($tag eq "000" || $tag eq "LDR"){
- return $leader->[0] if $leader->[0];
- }else{
- foreach my $control (@$controlfields){
- if ($control->{'tag'} eq $tag){
- return $control->{'content'} if $control->{'content'};
- }
- }
- }
- }##tag
-}## if tag is mapped
-return "";
-}
-sub XML_readline_asarray{
-my ($xml,$kohafield,$recordtype,$tag,$subf)address@hidden;
-#$xml represents one record of MARCXML as perlhashed
-## returns an array of read fields--useful for readind repeated fields
-### $recordtype is needed for mapping the correct field if supplied
-### If only $tag is give reads the whole tag
-my @value;
- ($tag,$subf)=MARCfind_marc_from_kohafield($kohafield,$recordtype) if
$kohafield;
-if ($tag){
-my $biblio=$xml->{'datafield'};
-my $controlfields=$xml->{'controlfield'};
-my $leader=$xml->{'leader'};
- if ($tag>9){
- foreach my $data (@$biblio){
- if ($data->{'tag'} eq $tag){
- foreach my $subfield ( $data->{'subfield'}){
- foreach my $code ( @$subfield){
- if ($code->{'code'} eq $subf || !$subf){
- push @value, $code->{'content'};
- }
- }
- }
- }
- }
- }else{
- if ($tag eq "000" || $tag eq "LDR"){
- push @value, $leader->[0] if $leader->[0];
- }else{
- foreach my $control (@$controlfields){
- if ($control->{'tag'} eq $tag){
- push @value, $control->{'content'} if $control->{'content'};
-
- }
- }
- }
- }##tag
-}## if tag is mapped
-return @value;
-}
-
-sub XML_readline{
-my ($xml,$kohafield,$recordtype,$tag,$subf)address@hidden;
-#$xml represents one record node hashed of holdings or a complete xml
koharecord
-### $recordtype is needed for reading the child records( like holdings
records) .Otherwise main record is assumed ( like biblio)
-## holding records are parsed and sent here one by one
-# If kohafieldname given find tag
-
-($tag,$subf)=MARCfind_marc_from_kohafield($kohafield,$recordtype) if
$kohafield;
-my @itemresults;
-if ($tag){
-if ($recordtype eq "holdings"){
- my $item=$xml->{'datafield'};
- my $hcontrolfield=$xml->{'controlfield'};
- if ($tag>9){
- foreach my $data (@$item){
- if ($data->{'tag'} eq $tag){
- foreach my $subfield ( $data->{'subfield'}){
- foreach my $code ( @$subfield){
- if ($code->{'code'} eq $subf){
- return $code->{content};
- }
- }
- }
- }
- }
- }else{
- foreach my $control (@$hcontrolfield){
- if ($control->{'tag'} eq $tag){
- return $control->{'content'};
- }
- }
- }##tag
-
-}else{ ##Not a holding read biblio
-my $biblio=$xml->{'record'}->[0]->{'datafield'};
-my $controlfields=$xml->{'record'}->[0]->{'controlfield'};
- if ($tag>9){
- foreach my $data (@$biblio){
- if ($data->{'tag'} eq $tag){
- foreach my $subfield ( $data->{'subfield'}){
- foreach my $code ( @$subfield){
- if ($code->{'code'} eq $subf){
- return $code->{'content'};
- }
- }
- }
- }
- }
- }else{
-
- foreach my $control (@$controlfields){
- if ($control->{'tag'} eq $tag){
- return $control->{'content'}if $control->{'content'};
- }
- }
- }##tag
-}## Holding or not
-}## if tag is mapped
-return "";
-}
-
-sub XML_writeline{
-## This routine modifies one line of marcxml record hash
-my ($xml,$kohafield,$newvalue,$recordtype,$tag,$subf)address@hidden;
-$newvalue= Encode::decode('utf8',$newvalue) if $newvalue;
-my $biblio=$xml->{'datafield'};
-my $controlfield=$xml->{'controlfield'};
- ($tag,$subf)=MARCfind_marc_from_kohafield($kohafield,$recordtype) if
$kohafield;
-my $updated;
- if ($tag>9){
- foreach my $data (@$biblio){
- if ($data->{'tag'} eq $tag){
- my @subfields=$data->{'subfield'};
- my @newsubs;
- foreach my $subfield ( @subfields){
- foreach my $code ( @$subfield){
- if ($code->{'code'} eq $subf){
- $code->{'content'}=$newvalue;
- $updated=1;
- }
- push @newsubs,$code;
- }
- }
- if (!$updated){
- push @newsubs,{code=>$subf,content=>$newvalue};
- $data->{subfield}= address@hidden;
- $updated=1;
- }
- }
- }
- ## Tag did not exist
- if (!$updated){
- if ($subf){
- push @$biblio,
- {
- 'ind1' => ' ',
- 'ind2' => ' ',
- 'subfield' => [
- {
- 'content'
=>$newvalue,
- 'code' => $subf
- }
- ],
- 'tag' =>$tag
- } ;
- }else{
- push @$biblio,
- {
- 'ind1' => ' ',
- 'ind2' => ' ',
- 'tag' =>$tag
- } ;
- }
- }## created now
- }elsif ($tag>0){
- foreach my $control (@$controlfield){
- if ($control->{'tag'} eq $tag){
- $control->{'content'}=$newvalue;
- $updated=1;
- }
- }
- if (!$updated){
- push @$controlfield,{tag=>$tag,content=>$newvalue};
- }
- }
-return $xml;
-}
-
-sub XML_writeline_id {
-### This routine is similar to XML_writeline but replaces a given value and do
not create a new field
-## Useful for repeating fields
-## Currently usedin authorities
-my ($xml,$oldvalue,$newvalue,$tag,$subf)address@hidden;
-$newvalue= Encode::decode('utf8',$newvalue) if $newvalue;
-my $biblio=$xml->{'datafield'};
-my $controlfield=$xml->{'controlfield'};
- if ($tag>9){
- foreach my $data (@$biblio){
- if ($data->{'tag'} eq $tag){
- my @subfields=$data->{'subfield'};
- foreach my $subfield ( @subfields){
- foreach my $code ( @$subfield){
- if ($code->{'code'} eq $subf &&
$code->{'content'} eq $oldvalue){
- $code->{'content'}=$newvalue;
- }
- }
- }
- }
- }
- }else{
- foreach my $control(@$controlfield){
- if ($control->{'tag'} eq $tag && $control->{'content'} eq
$oldvalue ){
- $control->{'content'}=$newvalue;
- }
- }
- }
-return $xml;
-}
-
-sub XML_xml2hash{
-##make a perl hash from xml file
-my ($xml)address@hidden;
- my $hashed = XMLin( $xml ,KeyAttr
=>['leader','controlfield','datafield'],ForceArray =>
['leader','controlfield','datafield','subfield','holdings','record'],KeepRoot=>0);
-return $hashed;
-}
-sub XML_xml2hash_news{
-##make a perl hash from xml file
-my ($xml)address@hidden;
- my $hashed = XMLin( $xml ,KeyAttr =>['id','title','date','source','news']);
-#my $newhashed;
-#$newhashed->{'title'}=$hashed->{title}->[0];
-#$newhashed->{'date'}=$hashed->{date}->[0];
-#$newhashed->{'source'}=$hashed->{source}->[0];
-#$newhashed->{'news'}=$hashed->{news}->[0];
-return $hashed;
-}
-sub XML_separate{
-##Separates items from biblio
-my $hashed=shift;
-my $biblio=$hashed->{record}->[0];
-my @items;
-my $items=$hashed->{holdings}->[0]->{record};
-foreach my $item (@$items){
- push @items,$item;
-}
-return ($biblio,@items);
-}
-
-sub XML_xml2hash_onerecord{
-##make a perl hash from xml file
-my ($xml)address@hidden;
-return undef unless $xml;
- my $hashed = XMLin( $xml ,KeyAttr
=>['leader','controlfield','datafield'],ForceArray =>
['leader','controlfield','datafield','subfield'],KeepRoot=>0);
-return $hashed;
-}
-sub XML_hash2xml{
-## turn a hash back to xml
-my ($hashed,$root)address@hidden;
-$root="record" unless $root;
-my $xml= XMLout($hashed,KeyAttr=>['leader','controlfıeld','datafield'],NoSort
=> 1,AttrIndent => 0,KeepRoot=>0,SuppressEmpty => 1,RootName=>$root );
-return $xml;
-}
-
-
-
-sub XMLgetbiblio {
- # Returns MARC::XML of the biblionumber passed in parameter.
- my ( $dbh, $biblionumber ) = @_;
- my $sth = $dbh->prepare("select marcxml from biblio where
biblionumber=? " );
- $sth->execute( $biblionumber);
- my ($marcxml)=$sth->fetchrow;
- $marcxml=Encode::decode('utf8',$marcxml);
- return ($marcxml);
-}
-
-sub XMLgetbibliohash{
-## Utility to return s hashed MARCXML
-my ($dbh,$biblionumber)address@hidden;
-my $xml=XMLgetbiblio($dbh,$biblionumber);
-my $xmlhash=XML_xml2hash_onerecord($xml);
-return $xmlhash;
-}
-
-sub XMLgetitem {
- # Returns MARC::XML of the item passed in parameter uses either
itemnumber or barcode
- my ( $dbh, $itemnumber,$barcode ) = @_;
-my $sth;
-if ($itemnumber){
- $sth = $dbh->prepare("select marcxml from items where itemnumber=?" );
- $sth->execute($itemnumber);
-}else{
- $sth = $dbh->prepare("select marcxml from items where barcode=?" );
- $sth->execute($barcode);
-}
- my ($marcxml)=$sth->fetchrow;
-$marcxml=Encode::decode('utf8',$marcxml);
- return ($marcxml);
-}
-sub XMLgetitemhash{
-## Utility to return s hashed MARCXML
- my ( $dbh, $itemnumber,$barcode ) = @_;
-my $xml=XMLgetitem( $dbh, $itemnumber,$barcode);
-my $xmlhash=XML_xml2hash_onerecord($xml);
-return $xmlhash;
-}
-
-
-sub XMLgetallitems {
-# warn "XMLgetallitems";
- # Returns an array of MARC:XML of the items passed in parameter as
biblionumber
- my ( $dbh, $biblionumber ) = @_;
-my @results;
-my $sth = $dbh->prepare("select marcxml from items where biblionumber =?"
);
- $sth->execute($biblionumber);
-
- while(my ($marcxml)=$sth->fetchrow_array){
-$marcxml=Encode::decode('utf8',$marcxml);
- push @results,$marcxml;
-}
-return @results;
-}
-
-sub XMLmarc2koha {
-# warn "XMLmarc2koha";
-##Returns two hashes from KOHA_XML record hashed
-## A biblio hash and and array of item hashes
- my ($dbh,$xml,$related_record,@fields) = @_;
- my ($result,@items);
-
-## if @fields is given do not bother about the rest of fields just parse those
-
-if ($related_record eq "biblios" || $related_record eq "" || !$related_record){
- if (@fields){
- foreach my $field(@fields){
- my $val=&XML_readline($xml,$field,'biblios');
- $result->{$field}=$val if $val;
-
- }
- }else{
- my $sth2=$dbh->prepare("SELECT kohafield from koha_attr where
recordtype like 'biblios' and tagfield is not null" );
- $sth2->execute();
- my $field;
- while ($field=$sth2->fetchrow) {
- $result->{$field}=&XML_readline($xml,$field,'biblios');
- }
- }
-
-## we only need the following for biblio data
-
-# modify copyrightdate to keep only the 1st year found
- my $temp = $result->{'copyrightdate'};
- $temp =~ m/c(\d\d\d\d)/; # search cYYYY first
- if ($1>0) {
- $result->{'copyrightdate'} = $1;
- } else { # if no cYYYY, get the 1st date.
- $temp =~ m/(\d\d\d\d)/;
- $result->{'copyrightdate'} = $1;
- }
-# modify publicationyear to keep only the 1st year found
- $temp = $result->{'publicationyear'};
- $temp =~ m/c(\d\d\d\d)/; # search cYYYY first
- if ($1>0) {
- $result->{'publicationyear'} = $1;
- } else { # if no cYYYY, get the 1st date.
- $temp =~ m/(\d\d\d\d)/;
- $result->{'publicationyear'} = $1;
- }
-}
-if ($related_record eq "holdings" || $related_record eq "" ||
!$related_record){
-my $holdings=$xml->{holdings}->[0]->{record};
-
-
- if (@fields){
- foreach my $holding (@$holdings){
-my $itemresult;
- foreach my $field(@fields){
- my $val=&XML_readline($holding,$field,'holdings');
- $itemresult->{$field}=$val if $val;
- }
- push @items, $itemresult;
- }
- }else{
- my $sth2=$dbh->prepare("SELECT kohafield from koha_attr where
recordtype like 'holdings' and tagfield is not null" );
- foreach my $holding (@$holdings){
- $sth2->execute();
- my $field;
-my $itemresult;
- while ($field=$sth2->fetchrow) {
- $itemresult->{$field}=&XML_readline($xml,$field,'holdings');
- }
- push @items, $itemresult;
- }
- }
-
-}
-
- return ($result,@items);
-}
-sub XMLmarc2koha_onerecord {
-# warn "XMLmarc2koha_onerecord";
-##Returns a koha hash from MARCXML hash
-
- my ($dbh,$xml,$related_record,@fields) = @_;
- my ($result);
-
-## if @fields is given do not bother about the rest of fields just parse those
-
- if (@fields){
- foreach my $field(@fields){
- my $val=&XML_readline_onerecord($xml,$field,$related_record);
- $result->{$field}=$val if $val;
- }
- }else{
- my $sth2=$dbh->prepare("SELECT kohafield from koha_attr where
recordtype like ? and tagfield is not null" );
- $sth2->execute($related_record);
- my $field;
- while ($field=$sth2->fetchrow) {
-
$result->{$field}=&XML_readline_onerecord($xml,$field,$related_record);
- }
- }
- return ($result);
-}
-
-sub XMLmodLCindex{
-# warn "XMLmodLCindex";
-my ($dbh,$xmlhash)address@hidden;
-my ($lc)=XML_readline_onerecord($xmlhash,"classification","biblios");
-my ($cutter)=XML_readline_onerecord($xmlhash,"subclass","biblios");
-
- if ($lc){
- $lc.=$cutter;
- my ($lcsort)=calculatelc($lc);
- $xmlhash=XML_writeline($xmlhash,"lcsort",$lcsort,"biblios");
- }
-return $xmlhash;
-}
-
-sub XMLmoditemonefield{
-# This routine takes itemnumber and biblionumber and updates XMLmarc;
-### the ZEBR DB update can wait depending on $donotupdate flag
-my
($dbh,$biblionumber,$itemnumber,$itemfield,$newvalue,$donotupdate)address@hidden;
-my ($record) = XMLgetitem($dbh,$itemnumber);
- my $recordhash=XML_xml2hash_onerecord($record);
- XML_writeline( $recordhash, $itemfield, $newvalue,"holdings" );
- if($donotupdate){
- ## Prevent various update calls to zebra wait until all changes finish
- $record=XML_hash2xml($recordhash);
- my $sth=$dbh->prepare("update items set marcxml=? where
itemnumber=?");
- $sth->execute($record,$itemnumber);
- $sth->finish;
- }else{
- NEWmoditem($dbh,$recordhash,$biblionumber,$itemnumber);
- }
-
-}
-
-sub XMLkoha2marc {
-# warn "MARCkoha2marc";
-## This routine is still used for acqui management
-##Returns a XML recordhash from a kohahash
- my ($dbh,$result,$recordtype) = @_;
-###create a basic MARCXML
-# find today's date
-my ($sec,$min,$hour,$mday,$mon,$year) = localtime();
- $year += 1900;
- $mon += 1;
- my $timestamp = sprintf("%4d%02d%02d%02d%02d%02d.0",
- $year,$mon,$mday,$hour,$min,$sec);
-$year=substr($year,2,2);
- my $accdate=sprintf("%2d%02d%02d",$year,$mon,$mday);
-my ($titletag,$titlesubf)=MARCfind_marc_from_kohafield("title","biblios");
-##create a dummy record
-my $xml="<record><leader> naa a22 7ar4500</leader><controlfield
tag='xxx'></controlfield><datafield ind1='' ind2=''
tag='$titletag'></datafield></record>";
-## Now build XML
- my $record = XML_xml2hash($xml);
- my $sth2=$dbh->prepare("SELECT kohafield from koha_attr where tagfield
is not null and recordtype=?");
- $sth2->execute($recordtype);
- my $field;
- while (($field)=$sth2->fetchrow) {
-
$record=XML_writeline($record,$field,$result->{$field},$recordtype) if
$result->{$field};
- }
-return $record;
-}
-
-#
-#
-# MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC
MARC MARC MARC MARC
-#
-## Script to deal with MARCXML related tables
-
-
-##Sub to match kohafield to Z3950 -attributes
-
-sub MARCfind_attr_from_kohafield {
-# warn "MARCfind_attr_from_kohafield";
-## returns attribute
- my ( $kohafield ) = @_;
- return 0, 0 unless $kohafield;
-
- my $relations = C4::Context->attrfromkohafield;
- return ($relations->{$kohafield});
-}
-
-
-sub MARCgettagslib {
-# warn "MARCgettagslib";
- my ( $dbh, $forlibrarian, $frameworkcode ) = @_;
- $frameworkcode = "" unless $frameworkcode;
- my $sth;
- my $libfield = ( $forlibrarian eq 1 ) ? 'liblibrarian' : 'libopac';
-
- # check that framework exists
- $sth =
- $dbh->prepare(
- "select count(*) from biblios_tag_structure where frameworkcode=?");
- $sth->execute($frameworkcode);
- my ($total) = $sth->fetchrow;
- $frameworkcode = "" unless ( $total > 0 );
- $sth =
- $dbh->prepare(
-"select tagfield,liblibrarian,libopac,mandatory,repeatable from
biblios_tag_structure where frameworkcode=? order by tagfield"
- );
- $sth->execute($frameworkcode);
- my ( $liblibrarian, $libopac, $tag, $res, $tab, $mandatory, $repeatable );
-
- while ( ( $tag, $liblibrarian, $libopac, $mandatory, $repeatable ) =
$sth->fetchrow ) {
- $res->{$tag}->{lib} = ($forlibrarian or
!$libopac)?$liblibrarian:$libopac;
- $res->{$tab}->{tab} = ""; # XXX
- $res->{$tag}->{mandatory} = $mandatory;
- $res->{$tag}->{repeatable} = $repeatable;
- }
-
- $sth =
- $dbh->prepare(
-"select tagfield,tagsubfield,liblibrarian,libopac,tab, mandatory,
repeatable,authorised_value,authtypecode,value_builder,seealso,hidden,isurl,link
from biblios_subfield_structure where frameworkcode=? order by
tagfield,tagsubfield"
- );
- $sth->execute($frameworkcode);
-
- my $subfield;
- my $authorised_value;
- my $authtypecode;
- my $value_builder;
-
- my $seealso;
- my $hidden;
- my $isurl;
- my $link;
-
- while (
- ( $tag, $subfield, $liblibrarian, , $libopac, $tab,
- $mandatory, $repeatable, $authorised_value, $authtypecode,
- $value_builder, $seealso, $hidden,
- $isurl, $link )
- = $sth->fetchrow
- )
- {
- $res->{$tag}->{$subfield}->{lib} = ($forlibrarian or
!$libopac)?$liblibrarian:$libopac;
- $res->{$tag}->{$subfield}->{tab} = $tab;
- $res->{$tag}->{$subfield}->{mandatory} = $mandatory;
- $res->{$tag}->{$subfield}->{repeatable} = $repeatable;
- $res->{$tag}->{$subfield}->{authorised_value} = $authorised_value;
- $res->{$tag}->{$subfield}->{authtypecode} = $authtypecode;
- $res->{$tag}->{$subfield}->{value_builder} = $value_builder;
- $res->{$tag}->{$subfield}->{seealso} = $seealso;
- $res->{$tag}->{$subfield}->{hidden} = $hidden;
- $res->{$tag}->{$subfield}->{isurl} = $isurl;
- $res->{$tag}->{$subfield}->{link} = $link;
- }
- return $res;
-}
-sub MARCitemsgettagslib {
-# warn "MARCitemsgettagslib";
- my ( $dbh, $forlibrarian, $frameworkcode ) = @_;
- $frameworkcode = "" unless $frameworkcode;
- my $sth;
- my $libfield = ( $forlibrarian eq 1 ) ? 'liblibrarian' : 'libopac';
-
- # check that framework exists
- $sth =
- $dbh->prepare(
- "select count(*) from holdings_tag_structure where frameworkcode=?");
- $sth->execute($frameworkcode);
- my ($total) = $sth->fetchrow;
- $frameworkcode = "" unless ( $total > 0 );
- $sth =
- $dbh->prepare(
-"select tagfield,liblibrarian,libopac,mandatory,repeatable from
holdings_tag_structure where frameworkcode=? order by tagfield"
- );
- $sth->execute($frameworkcode);
- my ( $liblibrarian, $libopac, $tag, $res, $tab, $mandatory, $repeatable );
-
- while ( ( $tag, $liblibrarian, $libopac, $mandatory, $repeatable ) =
$sth->fetchrow ) {
- $res->{$tag}->{lib} = ($forlibrarian or
!$libopac)?$liblibrarian:$libopac;
- $res->{$tab}->{tab} = ""; # XXX
- $res->{$tag}->{mandatory} = $mandatory;
- $res->{$tag}->{repeatable} = $repeatable;
- }
-
- $sth =
- $dbh->prepare(
-"select tagfield,tagsubfield,liblibrarian,libopac,tab, mandatory,
repeatable,authorised_value,authtypecode,value_builder,seealso,hidden,isurl,link
from holdings_subfield_structure where frameworkcode=? order by
tagfield,tagsubfield"
- );
- $sth->execute($frameworkcode);
-
- my $subfield;
- my $authorised_value;
- my $authtypecode;
- my $value_builder;
-
- my $seealso;
- my $hidden;
- my $isurl;
- my $link;
-
- while (
- ( $tag, $subfield, $liblibrarian, , $libopac, $tab,
- $mandatory, $repeatable, $authorised_value, $authtypecode,
- $value_builder, $seealso, $hidden,
- $isurl, $link )
- = $sth->fetchrow
- )
- {
- $res->{$tag}->{$subfield}->{lib} = ($forlibrarian or
!$libopac)?$liblibrarian:$libopac;
- $res->{$tag}->{$subfield}->{tab} = $tab;
- $res->{$tag}->{$subfield}->{mandatory} = $mandatory;
- $res->{$tag}->{$subfield}->{repeatable} = $repeatable;
- $res->{$tag}->{$subfield}->{authorised_value} = $authorised_value;
- $res->{$tag}->{$subfield}->{authtypecode} = $authtypecode;
- $res->{$tag}->{$subfield}->{value_builder} = $value_builder;
- $res->{$tag}->{$subfield}->{seealso} = $seealso;
- $res->{$tag}->{$subfield}->{hidden} = $hidden;
- $res->{$tag}->{$subfield}->{isurl} = $isurl;
- $res->{$tag}->{$subfield}->{link} = $link;
- }
- return $res;
-}
-sub MARCfind_marc_from_kohafield {
-# warn "MARCfind_marc_from_kohafield";
- my ( $kohafield,$recordtype) = @_;
- return 0, 0 unless $kohafield;
-$recordtype="biblios" unless $recordtype;
- my $relations = C4::Context->marcfromkohafield;
- return
($relations->{$recordtype}->{$kohafield}->[0],$relations->{$recordtype}->{$kohafield}->[1]);
-}
-
-
-
-
-sub MARCfind_frameworkcode {
-# warn "MARCfind_frameworkcode";
- my ( $dbh, $biblionumber ) = @_;
- my $sth =
- $dbh->prepare("select frameworkcode from biblio where biblionumber=?");
- $sth->execute($biblionumber);
- my ($frameworkcode) = $sth->fetchrow;
- return $frameworkcode;
-}
-sub MARCfind_itemtype {
-# warn "MARCfind_itemtype";
- my ( $dbh, $biblionumber ) = @_;
- my $sth =
- $dbh->prepare("select itemtype from biblio where biblionumber=?");
- $sth->execute($biblionumber);
- my ($itemtype) = $sth->fetchrow;
- return $itemtype;
-}
-
-
-
-sub MARChtml2xml {
-# warn "MARChtml2xml ";
- my ($tags,$subfields,$values,$indicator,$ind_tag,$tagindex) = @_;
- my $xml= "<record>";
-
- my $prevvalue;
- my $prevtag=-1;
- my $first=1;
- my $j = -1;
- for (my $i=0;$i<address@hidden;$i++){
- @$values[$i] =~ s/&/&/g;
- @$values[$i] =~ s/</</g;
- @$values[$i] =~ s/>/>/g;
- @$values[$i] =~ s/"/"/g;
- @$values[$i] =~ s/'/'/g;
-
- if ((@address@hidden ne $prevtag)){
- my address@hidden;
- $j++ unless ($tag eq "");
- ## warn
"IND:".substr(@$indicator[$j],0,1).substr(@$indicator[$j],1,1)."
"address@hidden;
- if (!$first){
- $xml.="</datafield>\n";
- if (($tag> 10) && (@$values[$i] ne "")){
- my $ind1 =
substr(@$indicator[$j],0,1);
- my $ind2 = substr(@$indicator[$j],1,1);
- $xml.="<datafield tag=\"$tag\" ind1=\"$ind1\"
ind2=\"$ind2\">\n";
- $xml.="<subfield
code=\"@$subfields[$i]\">@$values[$i]</subfield>\n";
- $first=0;
- } else {
- $first=1;
- }
- } else {
- if (@$values[$i] ne "") {
- # leader
- if ($tag eq "000") {
- ##Force the leader to UTF8
- substr(@$values[$i],9,1)="a";
-
$xml.="<leader>@$values[$i]</leader>\n";
- $first=1;
- # rest of the fixed fields
- } elsif ($tag < 10) {
- $xml.="<controlfield
tag=\"$tag\">@$values[$i]</controlfield>\n";
- $first=1;
- } else {
- my $ind1 =
substr(@$indicator[$j],0,1);
- my $ind2 =
substr(@$indicator[$j],1,1);
- $xml.="<datafield tag=\"$tag\"
ind1=\"$ind1\" ind2=\"$ind2\">\n";
- $xml.="<subfield
code=\"@$subfields[$i]\">@$values[$i]</subfield>\n";
- $first=0;
- }
- }
- }
- } else { # @$tags[$i] eq $prevtag
- unless (@$values[$i] eq "") {
- my address@hidden;
- if ($first){
- my $ind1 =
substr(@$indicator[$j],0,1);
- my $ind2 =
substr(@$indicator[$j],1,1);
- $xml.="<datafield tag=\"$tag\"
ind1=\"$ind1\" ind2=\"$ind2\">\n";
- $first=0;
- }
- $xml.="<subfield
code=\"@$subfields[$i]\">@$values[$i]</subfield>\n";
- }
- }
- $prevtag = @address@hidden;
- }
- $xml.="</record>";
- # warn $xml;
- $xml=Encode::decode('utf8',$xml);
- return $xml;
-}
-sub XML_record_header {
-#### this one is for <record>
- my $format = shift;
- my $enc = shift || 'UTF-8';
-##
- return( <<MARC_XML_HEADER );
-<?xml version="1.0" encoding="$enc"?>
-<record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.loc.gov/MARC21/slim
http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"
- xmlns="http://www.loc.gov/MARC21/slim">
-MARC_XML_HEADER
-}
-
-
-sub collection_header {
-#### this one is for koha collection
- my $format = shift;
- my $enc = shift || 'UTF-8';
- return( <<KOHA_XML_HEADER );
-<?xml version="1.0" encoding="$enc"?>
-<kohacollection xmlns:marc="http://loc.gov/MARC21/slim"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://library.neu.edu.tr/kohanamespace/koharecord.xsd">
-KOHA_XML_HEADER
-}
-
-
-
-
-
-
-
-
-##########################NEW NEW NEW#############################
-sub NEWnewbiblio {
- my ( $dbh, $xml, $frameworkcode) = @_;
-$frameworkcode="" unless $frameworkcode;
-my $biblionumber=XML_readline_onerecord($xml,"biblionumber","biblios");
-## In case reimporting records with biblionumbers keep them
-if ($biblionumber){
-$biblionumber=NEWmodbiblio( $dbh, $biblionumber,$xml,$frameworkcode );
-}else{
- $biblionumber = NEWaddbiblio( $dbh, $xml,$frameworkcode );
-}
-
- return ( $biblionumber );
-}
-
-
-
-
-
-sub NEWmodbiblioframework {
- my ($dbh,$biblionumber,$frameworkcode) address@hidden;
- my $sth = $dbh->prepare("Update biblio SET frameworkcode=? WHERE
biblionumber=$biblionumber");
- $sth->execute($frameworkcode);
- return 1;
-}
-
-
-sub NEWdelbiblio {
- my ( $dbh, $biblionumber ) = @_;
-ZEBRAop($dbh,$biblionumber,"recordDelete","biblioserver");
-}
-
-
-sub NEWnewitem {
- my ( $dbh, $xmlhash, $biblionumber ) = @_;
- #my $itemtype= MARCfind_itemtype($dbh,$biblionumber);
-my $itemtype=XML_readline_onerecord($xmlhash,"ctype","holdings");
-## In case we are re-importing marc records from bulk import do not change
itemnumbers
-my $itemnumber=XML_readline_onerecord($xmlhash,"itemnumber","holdings");
-if ($itemnumber){
-NEWmoditem ( $dbh, $xmlhash, $biblionumber, $itemnumber);
-}else{
-
-##Add biblionumber to $record
-$xmlhash=XML_writeline($xmlhash,"biblionumber",$biblionumber,"holdings");
- my $sth=$dbh->prepare("select notforloan from itemtypes where
itemtype='$itemtype'");
-$sth->execute();
-my $notforloan=$sth->fetchrow;
-##Change the notforloan field if $notforloan found
- if ($notforloan >0){
- $xmlhash=XML_writeline($xmlhash,"notforloan",$notforloan,"holdings");
- }
-my
$dateaccessioned=XML_readline_onerecord($xmlhash,"dateaccessioned","holdings");
-unless($dateaccessioned){
-# find today's date
-my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
-localtime(time); $year +=1900; $mon +=1;
-my $date = "$year-".sprintf ("%0.2d", $mon)."-".sprintf("%0.2d",$mday);
-
-$xmlhash=XML_writeline($xmlhash,"dateaccessioned",$date,"holdings");
-}
-
-## Now calculate itempart of cutter-- This is NEU specific
-my
$itemcallnumber=XML_readline_onerecord($xmlhash,"itemcallnumber","holdings");
-if ($itemcallnumber){
-my ($cutterextra)=itemcalculator($dbh,$biblionumber,$itemcallnumber);
-$xmlhash=XML_writeline($xmlhash,"cutterextra",$cutterextra,"holdings");
-}
-
-##NEU specific add cataloguers cardnumber as well
-my $me= C4::Context->userenv;
-my $cataloger=$me->{'cardnumber'} if ($me);
-$xmlhash=XML_writeline($xmlhash,"circid",$cataloger,"holdings") if $cataloger;
-
-##Add item to SQL
-my $itemnumber = &OLDnewitems( $dbh, $xmlhash );
-
-# add the item to zebra it will add the biblio as well!!!
- ZEBRAop( $dbh, $biblionumber,"specialUpdate","biblioserver" );
-return $itemnumber;
-}## added new item
-
-}
-
-
-
-sub NEWmoditem{
- my ( $dbh, $xmlhash, $biblionumber, $itemnumber ) = @_;
-
-##Add itemnumber incase lost (old bug 090c was lost sometimes) --just incase
-$xmlhash=XML_writeline($xmlhash,"itemnumber",$itemnumber,"holdings");
-##Add biblionumber incase lost on html
-$xmlhash=XML_writeline($xmlhash,"biblionumber",$biblionumber,"holdings");
-##Read barcode
-my $barcode=XML_readline_onerecord($xmlhash,"barcode","holdings");
- my $ctype=XML_readline_onerecord($xmlhash,"ctype","holdings");
- my $sth=$dbh->prepare("select notforloan from itemtypes where
itemtype='$ctype'");
-$sth->execute();
-my $notforloan=$sth->fetchrow;
-##Change the notforloan field if $notforloan found
- if ($notforloan >0){
- $xmlhash=XML_writeline($xmlhash,"notforloan",$notforloan,"holdings");
- }
-## Now calculate itempart of cutter-- This is NEU specific
-my
$itemcallnumber=XML_readline_onerecord($xmlhash,"itemcallnumber","holdings");
-if ($itemcallnumber){
-my ($cutterextra)=itemcalculator($dbh,$biblionumber,$itemcallnumber);
-$xmlhash=XML_writeline($xmlhash,"cutterextra",$cutterextra,"holdings");
-}
-
-##NEU specific add cataloguers cardnumber as well
-my $me= C4::Context->userenv;
-my $cataloger=$me->{'cardnumber'} if ($me);
-$xmlhash=XML_writeline($xmlhash,"circid",$cataloger,"holdings") if $cataloger;
-my $xml=XML_hash2xml($xmlhash);
- OLDmoditem( $dbh, $xml,$biblionumber,$itemnumber,$barcode,$ctype );
- ZEBRAop($dbh,$biblionumber,"specialUpdate","biblioserver");
-}
-
-sub NEWdelitem {
- my ( $dbh, $itemnumber ) = @_;
-my $sth=$dbh->prepare("SELECT biblionumber from items where itemnumber=?");
-$sth->execute($itemnumber);
-my $biblionumber=$sth->fetchrow;
-OLDdelitem( $dbh, $itemnumber ) ;
-ZEBRAop($dbh,$biblionumber,"specialUpdate","biblioserver");
-
-}
-
-
-
-
-sub NEWaddbiblio {
- my ( $dbh, $xmlhash,$frameworkcode ) = @_;
- my $sth = $dbh->prepare("Select max(biblionumber) from biblio");
- $sth->execute;
- my $data = $sth->fetchrow;
- my $biblionumber = $data + 1;
- $sth->finish;
- # we must add biblionumber
-my $record;
-$xmlhash=XML_writeline($xmlhash,"biblionumber",$biblionumber,"biblios");
-
-###NEU specific add cataloguers cardnumber as well
-
-my $me= C4::Context->userenv;
-my $cataloger=$me->{'cardnumber'} if ($me);
-$xmlhash=XML_writeline($xmlhash,"indexedby",$cataloger,"biblios") if
$cataloger;
-
-## We must add the indexing fields for LC in MARC record--TG
-&XMLmodLCindex($dbh,$xmlhash);
-
-##Find itemtype
-my $itemtype=XML_readline_onerecord($xmlhash,"itemtype","biblios");
-##Find ISBN
-my $isbn=XML_readline_onerecord($xmlhash,"isbn","biblios");
-##Find ISSN
-my $issn=XML_readline_onerecord($xmlhash,"issn","biblios");
-##Find Title
-my $title=XML_readline_onerecord($xmlhash,"title","biblios");
-##Find Author
-my $author=XML_readline_onerecord($xmlhash,"title","biblios");
-my $xml=XML_hash2xml($xmlhash);
-
- $sth = $dbh->prepare("insert into biblio set biblionumber =
?,frameworkcode=?, itemtype=?,marcxml=?,title=?,author=?,isbn=?,issn=?" );
- $sth->execute( $biblionumber,$frameworkcode, $itemtype,$xml
,$title,$author,$isbn,$issn );
-
- $sth->finish;
-### Do not add biblio to ZEBRA unless there is an item with it -- depends on
system preference defaults to NO
-if (C4::Context->preference('AddaloneBiblios')){
- ZEBRAop($dbh,$biblionumber,"specialUpdate","biblioserver");
-}
- return ($biblionumber);
-}
-
-sub NEWmodbiblio {
- my ( $dbh, $biblionumber,$xmlhash,$frameworkcode ) = @_;
-##Add biblionumber incase lost on html
-
-$xmlhash=XML_writeline($xmlhash,"biblionumber",$biblionumber,"biblios");
-
-###NEU specific add cataloguers cardnumber as well
-my $me= C4::Context->userenv;
-my $cataloger=$me->{'cardnumber'} if ($me);
-
-$xmlhash=XML_writeline($xmlhash,"indexedby",$cataloger,"biblios") if
$cataloger;
-
-## We must add the indexing fields for LC in MARC record--TG
-
- XMLmodLCindex($dbh,$xmlhash);
- OLDmodbiblio ($dbh,$xmlhash,$biblionumber,$frameworkcode);
- my $ok=ZEBRAop($dbh,$biblionumber,"specialUpdate","biblioserver");
- return ($biblionumber);
-}
-
-#
-#
-# OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD
-#
-#
-
-sub OLDnewitems {
-
- my ( $dbh, $xmlhash) = @_;
- my $sth = $dbh->prepare("SELECT max(itemnumber) from items");
- my $data;
- my $itemnumber;
- $sth->execute;
- $data = $sth->fetchrow_hashref;
- $itemnumber = $data->{'max(itemnumber)'} + 1;
- $sth->finish;
- $xmlhash=XML_writeline( $xmlhash, "itemnumber", $itemnumber,"holdings"
);
-my $biblionumber=XML_readline_onerecord($xmlhash,"biblionumber","holdings");
- my $barcode=XML_readline_onerecord($xmlhash,"barcode","holdings");
- my $ctype=XML_readline_onerecord($xmlhash,"ctype","holdings");
-my $xml=XML_hash2xml($xmlhash);
- $sth = $dbh->prepare( "Insert into items set itemnumber = ?,
biblionumber = ?,barcode = ?,marcxml=?, ctype=?" );
- $sth->execute($itemnumber,$biblionumber,$barcode,$xml,$ctype);
- return $itemnumber;
-}
-
-sub OLDmoditem {
- my ( $dbh, $xml,$biblionumber,$itemnumber,$barcode,$ctype ) = @_;
- my $sth =$dbh->prepare("replace items set
biblionumber=?,marcxml=?,barcode=? , itemnumber=?, ctype=?");
- $sth->execute($biblionumber,$xml,$barcode,$itemnumber, $ctype);
- $sth->finish;
-}
-
-sub OLDdelitem {
- my ( $dbh, $itemnumber ) = @_;
-my $sth = $dbh->prepare("select * from items where itemnumber=?");
- $sth->execute($itemnumber);
- if ( my $data = $sth->fetchrow_hashref ) {
- $sth->finish;
- my $query = "replace deleteditems set ";
- my @bind = ();
- foreach my $temp ( keys %$data ) {
- $query .= "$temp = ?,";
- push ( @bind, $data->{$temp} );
- }
-
- #replacing the last , by ",?)"
- $query =~ s/\,$//;
- $sth = $dbh->prepare($query);
- $sth->execute(@bind);
- $sth->finish;
- $sth = $dbh->prepare("Delete from items where itemnumber=?");
- $sth->execute($itemnumber);
- $sth->finish;
- }
- $sth->finish;
-}
-
-sub OLDmodbiblio {
-# modifies the biblio table
-my ($dbh,$xmlhash,$biblionumber,$frameworkcode) = @_;
- if (!$frameworkcode){
- $frameworkcode="";
- }
-##Find itemtype
-my $itemtype=XML_readline_onerecord($xmlhash,"itemtype","biblios");
-##Find ISBN
-my $isbn=XML_readline_onerecord($xmlhash,"isbn","biblios");
-##Find ISSN
-my $issn=XML_readline_onerecord($xmlhash,"issn","biblios");
-##Find Title
-my $title=XML_readline_onerecord($xmlhash,"title","biblios");
-##Find Author
-my $author=XML_readline_onerecord($xmlhash,"author","biblios");
-my $xml=XML_hash2xml($xmlhash);
-
-$isbn=~ s/(\.|\?|\;|\=|\-|\/|\\|\||\:|\*|\!|\,|\(|\)|\[|\]|\{|\}|\/)//g;
-$issn=~ s/(\.|\?|\;|\=|\-|\/|\\|\||\:|\*|\!|\,|\(|\)|\[|\]|\{|\}|\/)//g;
-$isbn=~s/^\s+|\s+$//g;
-$isbn=substr($isbn,0,13);
- my $sth = $dbh->prepare("REPLACE biblio set
biblionumber=?,marcxml=?,frameworkcode=? ,itemtype=? ,
title=?,author=?,isbn=?,issn=?" );
- $sth->execute( $biblionumber ,$xml, $frameworkcode,$itemtype,
$title,$author,$isbn,$issn);
- $sth->finish;
- return $biblionumber;
-}
-
-sub OLDdelbiblio {
- my ( $dbh, $biblionumber ) = @_;
- my $sth = $dbh->prepare("select * from biblio where biblionumber=?");
- $sth->execute($biblionumber);
- if ( my $data = $sth->fetchrow_hashref ) {
- $sth->finish;
- my $query = "replace deletedbiblio set ";
- my @bind = ();
- foreach my $temp ( keys %$data ) {
- $query .= "$temp = ?,";
- push ( @bind, $data->{$temp} );
- }
-
- #replacing the last , by ",?)"
- $query =~ s/\,$//;
- $sth = $dbh->prepare($query);
- $sth->execute(@bind);
- $sth->finish;
- $sth = $dbh->prepare("Delete from biblio where biblionumber=?");
- $sth->execute($biblionumber);
- $sth->finish;
- }
- $sth->finish;
-}
-
-
-#
-#
-#
-#ZEBRA ZEBRA ZEBRA
-#
-#
-
-sub ZEBRAdelbiblio {
-## Zebra calls this routine to delete after it deletes biblio from ZEBRAddb
- my ( $dbh, $biblionumber ) = @_;
-my $sth=$dbh->prepare("SELECT itemnumber FROM items where biblionumber=?");
-
-$sth->execute($biblionumber);
- while (my $itemnumber =$sth->fetchrow){
- OLDdelitem($dbh,$itemnumber) ;
- }
-OLDdelbiblio($dbh,$biblionumber) ;
-}
-
-sub ZEBRAgetrecord{
-my $biblionumber=shift;
-my @kohafield="biblionumber";
-my @value=$biblionumber;
-my
($count,@result)=C4::Search::ZEBRAsearch_kohafields(address@hidden,address@hidden);
-
- if ($count>0){
- my ( $xmlrecord, @itemsrecord) = XML_separate($result[0]);
- return ($xmlrecord, @itemsrecord);
- }else{
- return (undef,undef);
- }
-}
-
-sub ZEBRAop {
-### Puts the zebra update in queue writes in zebraserver table
-my ($dbh,$biblionumber,$op,$server)address@hidden;
-if (!$biblionumber){
-warn "Zebra received no biblionumber";
-}elsif (C4::Context->preference('onlineZEBRA')){
-my $marcxml;
- if ($server eq "biblioserver"){
- ($marcxml) =ZEBRA_readyXML($dbh,$biblionumber);
- }elsif($server eq "authorityserver"){
- $marcxml =C4::AuthoritiesMarc::XMLgetauthority($dbh,$biblionumber);
- }
-ZEBRAopserver($marcxml,$op,$server,$biblionumber);
-ZEBRAopcommit($server);
-}else{
-my $sth=$dbh->prepare("insert into zebraqueue (biblio_auth_number
,server,operation) values(?,?,?)");
-$sth->execute($biblionumber,$server,$op);
-$sth->finish;
-
-}
-}
-
-sub ZEBRAopserver{
-
-###Accepts a $server variable thus we can use it to update biblios,
authorities or other zebra dbs
-my ($record,$op,$server,$biblionumber)address@hidden;
-
-my @port;
-
-my $tried=0;
-my $recon=0;
-my $reconnect=0;
-$record=Encode::encode("UTF-8",$record);
-my $shadow=$server."shadow";
-reconnect:
-
- my $Zconnbiblio=C4::Context->Zconnauth($server);
-if ($record){
-my $Zpackage = $Zconnbiblio->package();
-$Zpackage->option(action => $op);
- $Zpackage->option(record => $record);
- $Zpackage->option(recordIdOpaque => $biblionumber);
-retry:
- $Zpackage->send("update");
-
- my($error, $errmsg, $addinfo, $diagset) = $Zconnbiblio->error_x();
- if ($error==10007 && $tried<3) {## timeout --another 30 looonng seconds
for this update
- sleep 1; ## wait a sec!
- $tried=$tried+1;
- goto "retry";
- }elsif ($error==2 && $tried<2) {## timeout --temporary zebra error
!whatever that means
- sleep 2; ## wait two seconds!
- $tried=$tried+1;
- goto "retry";
- }elsif($error==10004 && $recon==0){##Lost connection -reconnect
- sleep 1; ## wait a sec!
- $recon=1;
- $Zpackage->destroy();
- $Zconnbiblio->destroy();
- goto "reconnect";
- }elsif ($error){
- # warn "Error-$server $op /errcode:, $error,
/MSG:,$errmsg,$addinfo \n";
- $Zpackage->destroy();
- $Zconnbiblio->destroy();
- return 0;
- }
-
-$Zpackage->destroy();
-$Zconnbiblio->destroy();
-return 1;
-}
-return 0;
-}
-
-
-sub ZEBRAopcommit {
-my $server=shift;
-return unless C4::Context->config($server."shadow");
-my $Zconnbiblio=C4::Context->Zconnauth($server);
-
-my $Zpackage = $Zconnbiblio->package();
- $Zpackage->send('commit');
-
- my($error, $errmsg, $addinfo, $diagset) =
$Zconnbiblio->error_x();
- if ($error) { ## This is serious ZEBRA server is not updating
- $Zpackage->destroy();
- $Zconnbiblio->destroy();
- return 0;
- }
-$Zpackage->destroy();
-$Zconnbiblio->destroy();
-return 1;
-}
-sub ZEBRA_readyXML{
-my ($dbh,$biblionumber)address@hidden;
-my $biblioxml=XMLgetbiblio($dbh,$biblionumber);
-my @itemxml=XMLgetallitems($dbh,$biblionumber);
-my $zebraxml=collection_header();
-$zebraxml.="<koharecord>";
-$zebraxml.=$biblioxml;
-$zebraxml.="<holdings>";
- foreach my $item(@itemxml){
- $zebraxml.=$item if $item;
- }
-$zebraxml.="</holdings>";
-$zebraxml.="</koharecord>";
-$zebraxml.="</kohacollection>";
-return $zebraxml;
-}
-
-sub ZEBRA_readyXML_noheader{
-my ($dbh,$biblionumber)address@hidden;
-my $biblioxml=XMLgetbiblio($dbh,$biblionumber);
-my @itemxml=XMLgetallitems($dbh,$biblionumber);
-my $zebraxml="<koharecord>";
-$zebraxml.=$biblioxml;
-$zebraxml.="<holdings>";
- foreach my $item(@itemxml){
- $zebraxml.=$item if $item;
- }
-$zebraxml.="</holdings>";
-$zebraxml.="</koharecord>";
-return $zebraxml;
-}
-
-#
-#
-# various utility subs and those not complying to new rules
-#
-#
-
-sub newbiblio {
-## Used in acqui management -- creates the biblio from koha hash
- my ($biblio) = @_;
- my $dbh = C4::Context->dbh;
-my $record=XMLkoha2marc($dbh,$biblio,"biblios");
- my $biblionumber=NEWnewbiblio($dbh,$record);
- return ($biblionumber);
-}
-sub modbiblio {
-## Used in acqui management -- modifies the biblio from koha hash rather than
xml-hash
- my ($biblio) = @_;
- my $dbh = C4::Context->dbh;
-my $record=XMLkoha2marc($dbh,$biblio,"biblios");
- my $biblionumber=NEWmodbiblio($dbh,$record,$biblio->{biblionumber});
- return ($biblionumber);
-}
-
-sub newitems {
-## Used in acqui management -- creates the item from hash rather than
marc-record
- my ( $item, @barcodes ) = @_;
- my $dbh = C4::Context->dbh;
- my $errors;
- my $itemnumber;
- my $error;
- foreach my $barcode (@barcodes) {
- $item->{barcode}=$barcode;
-my $record=MARCkoha2marc($dbh,$item,"holdings");
- my $itemnumber= NEWnewitem($dbh,$record,$item->{biblionumber});
-
- }
- return $itemnumber ;
-}
-
-
-
-
-sub getitemtypes {
- my $dbh = C4::Context->dbh;
- my $query = "select * from itemtypes order by description";
- my $sth = $dbh->prepare($query);
-
- # || die "Cannot prepare $query" . $dbh->errstr;
- my $count = 0;
- my @results;
- $sth->execute;
- # || die "Cannot execute $query\n" . $sth->errstr;
- while ( my $data = $sth->fetchrow_hashref ) {
- $results[$count] = $data;
- $count++;
- } # while
-
- $sth->finish;
- return ( $count, @results );
-} # sub getitemtypes
-
-
-
-sub getkohafields{
-#returns MySQL like fieldnames to emulate searches on sql like fieldnames
-my $type=shift;
-## Either opac or intranet to select appropriate fields
-## Assumes intranet
-$type="intra" unless $type;
-if ($type eq "intranet"){ $type="intra";}
-my $dbh = C4::Context->dbh;
- my $i=0;
-my @results;
-$type=$type."show";
-my $sth=$dbh->prepare("SELECT * FROM koha_attr where $type=1 order by
label");
-$sth->execute();
-while (my $data=$sth->fetchrow_hashref){
- $results[$i]=$data;
- $i++;
- }
-$sth->finish;
-return ($i,@results);
-}
-
-
-
-
-
-sub DisplayISBN {
-## Old style ISBN handling should be modified to accept 13 digits
-
- my ($isbn)address@hidden;
- my $seg1;
- if(substr($isbn, 0, 1) <=7) {
- $seg1 = substr($isbn, 0, 1);
- } elsif(substr($isbn, 0, 2) <= 94) {
- $seg1 = substr($isbn, 0, 2);
- } elsif(substr($isbn, 0, 3) <= 995) {
- $seg1 = substr($isbn, 0, 3);
- } elsif(substr($isbn, 0, 4) <= 9989) {
- $seg1 = substr($isbn, 0, 4);
- } else {
- $seg1 = substr($isbn, 0, 5);
- }
- my $x = substr($isbn, length($seg1));
- my $seg2;
- if(substr($x, 0, 2) <= 19) {
-# if(sTmp2 < 10) sTmp2 = "0" sTmp2;
- $seg2 = substr($x, 0, 2);
- } elsif(substr($x, 0, 3) <= 699) {
- $seg2 = substr($x, 0, 3);
- } elsif(substr($x, 0, 4) <= 8399) {
- $seg2 = substr($x, 0, 4);
- } elsif(substr($x, 0, 5) <= 89999) {
- $seg2 = substr($x, 0, 5);
- } elsif(substr($x, 0, 6) <= 9499999) {
- $seg2 = substr($x, 0, 6);
- } else {
- $seg2 = substr($x, 0, 7);
- }
- my $seg3=substr($x,length($seg2));
- $seg3=substr($seg3,0,length($seg3)-1) ;
- my $seg4 = substr($x, -1, 1);
- return "$seg1-$seg2-$seg3-$seg4";
-}
-sub calculatelc{
-## Function to create padded LC call number for sorting items with their LC
code. Not exported
-my ($classification)address@hidden;
-$classification=~s/^\s+|\s+$//g;
-my $i=0;
-my $lc2;
-my $lc1;
-for ($i=0; $i<length($classification);$i++){
-my $c=(substr($classification,$i,1));
- if ($c ge '0' && $c le '9'){
-
- $lc2=substr($classification,$i);
- last;
- }else{
- $lc1.=substr($classification,$i,1);
-
- }
-}#while
-
-my $other=length($lc1);
-if(!$lc1){$other=0;}
-my $extras;
-if ($other<4){
- for (1..(4-$other)){
- $extras.="0";
- }
-}
- $lc1.=$extras;
-$lc2=~ s/^ //g;
-
-$lc2=~ s/ //g;
-$extras="";
-##Find the decimal part of $lc2
-my $pos=index($lc2,".");
-if ($pos<0){$pos=length($lc2);}
-if ($pos>=0 && $pos<5){
-##Pad lc2 with zeros to create a 5digit decimal needed in marc record to sort
as numeric
-
- for (1..(5-$pos)){
- $extras.="0";
- }
-}
-$lc2=$extras.$lc2;
-return($lc1.$lc2);
-}
-
-sub itemcalculator{
-## Sublimentary function to obtain sorted LC for items. Not exported
-my ($dbh,$biblionumber,$callnumber)address@hidden;
-my $xmlhash=XMLgetbibliohash($dbh,$biblionumber);
-my $lc=XML_readline_onerecord($xmlhash,"classification","biblios");
-my $cutter=XML_readline_onerecord($xmlhash,"subclass","biblios");
-my $all=$lc." ".$cutter;
-my $total=length($all);
-my $cutterextra=substr($callnumber,$total);
-return $cutterextra;
-
-}
-
-
-#### This function allows decoding of only title and author out of a MARC
record
- sub func_title_author {
- my ($tagno,$tagdata) = @_;
-my ($titlef,$subf,$authf);
- ($titlef,$subf)=&MARCfind_marc_from_kohafield("title","biblios");
- ($authf,$subf)=&MARCfind_marc_from_kohafield("author","biblios");
- return ($tagno == $titlef || $tagno == $authf);
- }
-
-
-
-
-1;
-__END__
-=back
-
-=head1 AUTHOR
-
-Koha Developement team <address@hidden>
-
-
-
Index: modules/C4/Biblioadd.pm
===================================================================
RCS file: modules/C4/Biblioadd.pm
diff -N modules/C4/Biblioadd.pm
--- modules/C4/Biblioadd.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,521 +0,0 @@
-package C4::Biblioadd;
-# New PackageI added by address@hidden 25/02/07
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-use strict;
-require Exporter;
-use C4::Context;
-use XML::Simple;
-use Encode;
-use MARC::Record;
-use MARC::File::USMARC;
-use C4::Biblio;
-use Data::Dumper;
-use vars qw( $tagslib);
-use vars qw( $authorised_values_sth);
-
-my $format="USMARC";
-$format="UNIMARC" if (C4::Context->preference('marcflavour') eq 'UNIMARC');
-use MARC::File::XML(RecordFormat =>$format);
-
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = 4.01;
-
address@hidden = qw(Exporter);
-
-
address@hidden = qw(
-&MARCfindbreeding
-&ImportDVD
-&build_authorized_values_list
-&create_input
-&build_tabs
-&build_hidden_data
-);
-
-=item MARCfindbreeding
-
- $record = MARCfindbreeding($dbh, $breedingid,$frameworkcode);
-
-Look up the breeding farm with database handle $dbh, for the
-record with id $breedingid. If found, returns the decoded
-MARC::Record; otherwise, -1 is returned (FIXME).
-Returns as second parameter the character encoding.
-
-=cut
-
-sub MARCfindbreeding {
- my ($dbh,$id,$oldbiblionumber) = @_;
- my $sth = $dbh->prepare("select marc,encoding from marc_breeding where
id=?");
- $sth->execute($id);
- my ($marc,$encoding) = $sth->fetchrow;
- $sth->finish;
- if ($marc) {
- my $record = MARC::File::USMARC::decode($marc);
- if (ref($record) eq undef) {
- return -1;
- }
- if (C4::Context->preference("z3950NormalizeAuthor") and
C4::Context->preference("z3950AuthorAuthFields")){
- my ($tag,$subfield) =
MARCfind_marc_from_kohafield("author","biblios");
- my $auth_fields =
C4::Context->preference("z3950AuthorAuthFields");
- my @auth_fields= split /,/,$auth_fields;
- my $field;
- if ($record->field($tag)){
- foreach my $tmpfield
($record->field($tag)->subfields){
- my $subfieldcode=shift
@$tmpfield;
- my $subfieldvalue=shift
@$tmpfield;
- if ($field){
-
$field->add_subfields("$subfieldcode"=>$subfieldvalue) if ($subfieldcode ne
$subfield);
- } else {
-
$field=MARC::Field->new($tag,"","",$subfieldcode=>$subfieldvalue) if
($subfieldcode ne $subfield);
- }
- }
- }
- $record->delete_field($record->field($tag));
- foreach my $fieldtag (@auth_fields){
- next unless ($record->field($fieldtag));
- my $lastname =
$record->field($fieldtag)->subfield('a');
- my $firstname=
$record->field($fieldtag)->subfield('b');
- my $title =
$record->field($fieldtag)->subfield('c');
- my $number=
$record->field($fieldtag)->subfield('d');
- if ($title){
-
$field->add_subfields("$subfield"=>ucfirst($title)." ".ucfirst($firstname)."
".$number);
- }else{
-
$field->add_subfields("$subfield"=>ucfirst($firstname).", ".ucfirst($lastname));
- }
- }
- $record->insert_fields_ordered($field);
- }
-##Delete biblionumber tag in case a similar tag is used in imported MARC ##
- my ( $tagfield, $tagsubfield )
=MARCfind_marc_from_kohafield("biblionumber","biblios");
- my $old_field = $record->field($tagfield);
- $record->delete_field($old_field);
- ##add the old biblionumber if a modif but coming from
breedingfarm
- if ($oldbiblionumber){
- my $newfield;
- if ($tagfield<10){
- $newfield = MARC::Field->new($tagfield,
$oldbiblionumber);
- }else{
- $newfield = MARC::Field->new($tagfield, '', '',
"$tagsubfield" => $oldbiblionumber);
- }
- $record->insert_fields_ordered($newfield);
- }
- my $xml=MARC::File::XML::record($record);
-
- my $xmlhash=XML_xml2hash_onerecord($xml);
- return $xmlhash,$encoding;
-
- }
- return -1;
-}
-
-=item ImportDVD
-
-=cut
-
-sub ImportDVD {
-my ($filename,$oldbiblionumber)address@hidden;
-
-## Fixme the path to be variable
-my
$fullname=C4::Context->config('intranetdir')."/htdocs/uploaded-files/tmp-pdf/".$filename;
-
-my $xml;
-my $xmlhash;
-open(IN,"<" ,$fullname) or die $!;
-while (<IN>){
-$xml.=$_;
-}
-close(IN);
-$xml=Encode::encode('utf8',$xml);
-$xmlhash=XML_xml2hash_onerecord($xml);
-if ($oldbiblionumber){
-$xmlhash=XML_writeline($xmlhash,"biblionumber",$oldbiblionumber,"biblios");
-}
-return $xmlhash;
-}
-=item build_authorized_values_list
-
-=cut
-
-sub build_authorized_values_list {
- my($tag, $subfield, $value, $dbh,$authorised_values_sth,$tagslib) = @_;
-
- my @authorised_values;
- my %authorised_lib;
- my ($itemtype,$description);
- # builds list, depending on authorised value...
-
- #---- branch
- if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" )
{
- my $sth=$dbh->prepare("select branchcode,branchname from branches order
by branchname");
- $sth->execute;
- push @authorised_values, ""
- unless ($tagslib->{$tag}->{$subfield}->{mandatory});
-
- while (my ($branchcode,$branchname) = $sth->fetchrow_array) {
- push @authorised_values, $branchcode;
- $authorised_lib{$branchcode}=$branchname;
- }
-
- #----- itemtypes
- } elsif ($tagslib->{$tag}->{$subfield}->{authorised_value} eq
"itemtypes") {
- my $sth=$dbh->prepare("select itemtype,description from
itemtypes order by description");
- $sth->execute;
- push @authorised_values, "" unless
($tagslib->{$tag}->{$subfield}->{mandatory});
-
- while ( ($itemtype,$description) = $sth->fetchrow_array) {
- push @authorised_values, $itemtype;
- $authorised_lib{$itemtype}=$description;
- }
- $value=$itemtype unless ($value);
-
- #---- "true" authorised value
- } else {
-
$authorised_values_sth->execute($tagslib->{$tag}->{$subfield}->{authorised_value});
-
- push @authorised_values, "" unless
($tagslib->{$tag}->{$subfield}->{mandatory});
-
- while (my ($value,$lib) =
$authorised_values_sth->fetchrow_array) {
- push @authorised_values, $value;
- $authorised_lib{$value}=$lib;
- }
- }
- return CGI::scrolling_list( -name => 'field_value',
- -values => address@hidden,
- -default => $value,
- -labels => \%authorised_lib,
- -override => 1,
- -size => 1,
- -multiple => 0 );
-}
-
-=item create_input
- builds the <input ...> entry for a subfield.
-=cut
-sub create_input {
- my
($tag,$subfield,$value,$i,$tabloop,$rec,$authorised_values_sth,$id,$tagslib) =
@_;
- my $dbh=C4::Context->dbh;
- $value =~ s/"/"/g;
- my %subfield_data;
- $subfield_data{id}=$id;
- $subfield_data{tag}=$tag;
- $subfield_data{subfield}=$subfield;
- $subfield_data{marc_lib}="<span
id=\"error$i\">".$tagslib->{$tag}->{$subfield}->{lib}."</span>";
- $subfield_data{marc_lib_plain}=$tagslib->{$tag}->{$subfield}->{lib};
- $subfield_data{tag_mandatory}=$tagslib->{$tag}->{mandatory};
- $subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
- $subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
- $subfield_data{index} = $i;
- $subfield_data{visibility} = "display:none" if
(substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "0") ; #check parity
- if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
- $subfield_data{marc_value}= build_authorized_values_list($tag,
$subfield, $value, $dbh,$authorised_values_sth,$tagslib);
- # it's an authority field
- } elsif ($tagslib->{$tag}->{$subfield}->{authtypecode}) {
-
- $subfield_data{marc_value}="<input
onblur=\"this.style.backgroundColor='#ffffff';\"
onfocus=\"this.style.backgroundColor='#ffffff;'\"\" tabindex=\"1\"
type=\"text\" name=\"field_value\" id=\"field_value$id\" value=\"$value\"
size=\"40\" maxlength=\"255\" DISABLE READONLY> <a style=\"cursor: help;\"
href=\"javascript:Dopop('../authorities/auth_finder.pl?authtypecode=".$tagslib->{$tag}->{$subfield}->{authtypecode}."&index=$id',$id);\">...</a>";
- # it's a plugin field
- } elsif ($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
- # opening plugin. Just check wether we are on a developper
computer on a production one
- # (the cgidir differs)
- my $cgidir = C4::Context->intranetdir ."/cgi-bin/value_builder";
- unless (opendir(DIR, "$cgidir")) {
- $cgidir = C4::Context->intranetdir."/value_builder";
- }
- my
$plugin=$cgidir."/".$tagslib->{$tag}->{$subfield}->{'value_builder'};
- do $plugin;
- my $extended_param =
plugin_parameters($dbh,$rec,$tagslib,$i,$tabloop);
- my ($function_name,$javascript) =
plugin_javascript($dbh,$rec,$tagslib,$i,$tabloop);
- $subfield_data{marc_value}="<input tabindex=\"1\" type=\"text\"
name=\"field_value\" id=\"field_value$id\" value=\"$value\" size=\"40\"
maxlength=\"255\" DISABLE READONLY
OnFocus=\"javascript:Focus$function_name($i)\"
OnBlur=\"javascript:Blur$function_name($i); \"> <a style=\"cursor: help;\"
href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
- # it's an hidden field
- } elsif ($tag eq '') {
- $subfield_data{marc_value}="<input
onblur=\"this.style.backgroundColor='#ffffff';\"
onfocus=\"this.style.backgroundColor='#ffffff'; \" tabindex=\"1\"
type=\"hidden\" name=\"field_value\" id=\"field_value$id\" value=\"$value\">";
- } elsif (substr($tagslib->{$tag}->{$subfield}->{'hidden'},2,1) gt "1")
{
-
- $subfield_data{marc_value}="<input
onblur=\"this.style.backgroundColor='#ffffff';\"
onfocus=\"this.style.backgroundColor='#ffffff'; \" tabindex=\"1\" type=\"text\"
name=\"field_value\" id=\"field_value$id\" value=\"$value\" size=\"40\"
maxlength=\"255\" >";
- # it's a standard field
- } else {
- if (length($value) >100) {
- $subfield_data{marc_value}="<textarea tabindex=\"1\"
name=\"field_value\" id=\"field_value$id\" cols=\"40\" rows=\"5\"
>$value</textarea>";
- } else {
- $subfield_data{marc_value}="<input
onblur=\"this.style.backgroundColor='#ffffff';\"
onfocus=\"this.style.backgroundColor='#ffffff'; \" tabindex=\"1\" type=\"text\"
name=\"field_value\" id=\"field_value$id\" value=\"$value\" size=\"50\">"; #"
- }
- }
- return \%subfield_data;
-}
-
-sub build_tabs {
- my($template, $xmlhash, $dbh,$addedfield,$tagslib,$authorised_values_sth)
= @_;
- # fill arrays
- my @loop_data =();
- my $tag;
- my $i=0;
-my $id=100;
-
-my ($biblionumtagfield,$biblionumtagsubfield) =
&MARCfind_marc_from_kohafield($dbh,"biblionumber","biblios");
-
-my $biblio;
-my $controlfields;
-my $leader;
-if ($xmlhash){
- $biblio=$xmlhash->{'datafield'};
- $controlfields=$xmlhash->{'controlfield'};
- $leader=$xmlhash->{'leader'};
-}
-
- my @BIG_LOOP;
-my %built;
-
-# loop through each tab 0 through 9
-for (my $tabloop = 0; $tabloop <= 9; $tabloop++) {
-
- my @loop_data = ();
- foreach my $tag (sort(keys (%{$tagslib}))) {
- next if ($tag eq $biblionumtagfield);## Otherwise biblionumber will be
duplicated on modifs if user has set visibility to true
- my $indicator;
- # if MARC::Record is not empty => use it as
master loop, then add missing subfields that should be in the tab.
- # if MARC::Record is empty => use tab as master
loop.
- my @subfields_data;
-
- if ($xmlhash) {
- ####
- my %tagdefined;
- my %definedsubfields;
-
- my ($ind1,$ind2);
-
- if ($tag>9){
- foreach my $data (@$biblio){
- my @subfields_data;
- undef %definedsubfields;
- if ($data->{'tag'} eq $tag){
- $tagdefined{$tag}=1 ;
- $ind1=" ";
- $ind2=" ";
- foreach my $subfieldcode (
$data->{'subfield'}){
- foreach my $code (
@$subfieldcode){
- next if
($tagslib->{$tag}->{$code->{'code'}}->{tab} ne $tabloop);
- my
$subfield=$code->{'code'} ;
- my
$value=$code->{'content'};
-
$definedsubfields{$tag.$subfield}=1 ;
- $built{$tag}=1;
- push(@subfields_data,
&create_input($tag,$subfield,$value,$i,$tabloop,$xmlhash,$authorised_values_sth,$id,$tagslib))
;
- $i++ ;
- }
- } ##each subfield
- $ind1=$data->{'ind1'};
- $ind2= $data->{'ind2'};
-
-
- # now, loop again to add parameter
subfield that are not in the MARC::Record
-
- foreach my $subfield (sort( keys
%{$tagslib->{$tag}})) {
- next if (length $subfield !=1);
- next if
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
- next if
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1") ); #check for
visibility flag
- next if
($definedsubfields{$tag.$subfield} );
- push(@subfields_data,
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id,$tagslib));
-
$definedsubfields{$tag.$subfield}=1;
- $i++;
- }
- if ($#subfields_data >= 0) {
- my %tag_data;
- $tag_data{tag} = $tag;
- $tag_data{tag_lib} =
$tagslib->{$tag}->{lib};
- $tag_data{repeatable} =
$tagslib->{$tag}->{repeatable};
- $tag_data{indicator} =
$ind1.$ind2 if ($tag>=10);
- $tag_data{subfield_loop} =
address@hidden;
- push (@loop_data, \%tag_data);
-
- }
- $id++;
- }## if tag matches
-
- }#eachdata
- }else{ ## tag <10
- if ($tag eq "000" || $tag eq "LDR"){
- my $subfield="@";
- next if
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
- my @subfields_data;
- my $value=$leader->[0] if $leader->[0];
- $tagdefined{$tag}=1 ;
- push(@subfields_data,
&create_input($tag,$subfield,$value,$i,$tabloop,$xmlhash,$authorised_values_sth,$id,$tagslib));
- $i++;
- if ($#subfields_data >= 0) {
- my %tag_data;
- $tag_data{tag} = $tag;
- $tag_data{tag_lib} =
$tagslib->{$tag}->{lib};
- $tag_data{repeatable} =
$tagslib->{$tag}->{repeatable};
- $tag_data{subfield_loop} =
address@hidden;
-
$tag_data{fixedfield} = 1;
- push (@loop_data, \%tag_data);
- }
- }else{
- foreach my $control (@$controlfields){
- my $subfield="@";
- next if
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
- my @subfields_data;
- if ($control->{'tag'} eq $tag){
- $tagdefined{$tag}=1 ;
- my $value=$control->{'content'} ;
- $definedsubfields{$tag.'@'}=1;
- push(@subfields_data,
&create_input($tag,$subfield,$value,$i,$tabloop,$xmlhash,$authorised_values_sth,$id,$tagslib));
- $i++;
-
- $built{$tag}=1;
-
- if ($#subfields_data >= 0) {
- my %tag_data;
- $tag_data{tag} = $tag;
- $tag_data{tag_lib} =
$tagslib->{$tag}->{lib};
- $tag_data{repeatable} =
$tagslib->{$tag}->{repeatable};
- $tag_data{subfield_loop} =
address@hidden;
- $tag_data{fixedfield} = 1;
- push (@loop_data, \%tag_data);
- }
- $id++;
- }## tag matches
- }# each control
- }
- }##tag >9
-
-
- ##### Any remaining tag
- my @subfields_data;
- # now, loop again to add parameter subfield
that are not in the MARC::Record
- foreach my $subfield (sort( keys
%{$tagslib->{$tag}})) {
- next if ($tagdefined{$tag} );
- next if (length $subfield !=1);
- next if
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
- next if
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1") ); #check for
visibility flag
-
- push(@subfields_data,
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id,$tagslib));
- $tagdefined{$tag.$subfield}=1;
- $i++;
- }
- if ($#subfields_data >= 0) {
- my %tag_data;
- $tag_data{tag} = $tag;
- $tag_data{tag_lib} =
$tagslib->{$tag}->{lib};
- $tag_data{repeatable} =
$tagslib->{$tag}->{repeatable};
- $tag_data{indicator} =
$ind1.$ind2 if ($tag>=10);
- $tag_data{subfield_loop} =
address@hidden;
- if ($tag<10) {
-
$tag_data{fixedfield} = 1;
- }
-
- push (@loop_data, \%tag_data);
- }
-
-
- if ($addedfield eq $tag) {
- my %tag_data;
- my @subfields_data;
- $id++;
- $tagdefined{$tag}=1 ;
- foreach my $subfield (sort(
keys %{$tagslib->{$tag}})) {
- next if (length $subfield !=1);
- next if
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
- next if
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1") ); #check for
visibility flag
- $addedfield="";
- push(@subfields_data,
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id,$tagslib));
- $i++;
- }
- if ($#subfields_data >= 0) {
- $tag_data{tag} = $tag;
- $tag_data{tag_lib} =
$tagslib->{$tag}->{lib};
- $tag_data{repeatable} =
$tagslib->{$tag}->{repeatable};
- $tag_data{indicator} = ' ' if
($tag>=10);
- $tag_data{subfield_loop} =
address@hidden;
- if ($tag<10) {
-
$tag_data{fixedfield} = 1;
-
}
- push (@loop_data, \%tag_data);
-
- }
-
- }
-
- # if breeding is empty
- } else {
- my @subfields_data;
- foreach my $subfield (sort(keys
%{$tagslib->{$tag}})) {
- next if (length $subfield !=1);
- next if
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1") ); #check for
visibility flag
- next if
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
- push(@subfields_data,
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id,$tagslib));
- $i++;
- }
- if ($#subfields_data >= 0) {
- my %tag_data;
- $tag_data{tag} = $tag;
- $tag_data{tag_lib} =
$tagslib->{$tag}->{lib};
- $tag_data{repeatable} =
$tagslib->{$tag}->{repeatable};
- $tag_data{indicator} = $indicator;
- $tag_data{subfield_loop} =
address@hidden;
- $tag_data{tagfirstsubfield} =
$tag_data{subfield_loop}[0];
- if ($tag<10) {
- $tag_data{fixedfield} = 1;
- }
- push (@loop_data, \%tag_data);
-
- }
- }
- $id++;
- }
- if ($#loop_data >=0) {
- my %big_loop_line;
- $big_loop_line{number}=$tabloop;
- address@hidden;
- push @BIG_LOOP,\%big_loop_line;
- }
-
- $template->param(BIG_LOOP => address@hidden);
-#return address@hidden;
-}## tab loop
-
-}
-
-
-sub build_hidden_data {
- # build hidden data =>
- # we store everything, even if we show only requested subfields.
-my $tagslib=shift;
- my @loop_data =();
- my $i=0;
- foreach my $tag (keys %{$tagslib}) {
- my $previous_tag = '';
-
- # loop through each subfield
- foreach my $subfield (keys %{$tagslib->{$tag}}) {
- next if ($subfield eq 'lib');
- next if ($subfield eq 'tab');
- next if ($subfield eq 'mandatory');
- next if ($subfield eq 'repeatable');
- next if ($tagslib->{$tag}->{$subfield}->{'tab'} ne "-1");
- my %subfield_data;
- $subfield_data{marc_lib}=$tagslib->{$tag}->{$subfield}->{lib};
-
$subfield_data{marc_mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
-
$subfield_data{marc_repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
- $subfield_data{marc_value}="<input type=\"hidden\"
name=\"field_value[]\">";
- push(@loop_data, \%subfield_data);
- $i++
- }
-return $tagslib;
- }
-}
Index: modules/C4/BookShelves.pm
===================================================================
RCS file: modules/C4/BookShelves.pm
diff -N modules/C4/BookShelves.pm
--- modules/C4/BookShelves.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,681 +0,0 @@
-# -*- tab-width: 8 -*-
-# Please use 8-character tabs for this file (indents are every 4 characters)
-
-package C4::BookShelves;
-
-# $Id: BookShelves.pm,v 1.1.2.1 2007/03/10 01:35:34 tgarip1957 Exp $
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-use strict;
-require Exporter;
-use C4::Context;
-use C4::Circulation::Circ2;
-use C4::AcademicInfo;
-use C4::Search;
-use C4::Date;
-use C4::Biblio;
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = 0.01;
-
-=head1 NAME
-
-C4::BookShelves - Functions for manipulating Koha virtual bookshelves
-
-=head1 SYNOPSIS
-
- use C4::BookShelves;
-
-=head1 DESCRIPTION
-
-This module provides functions for manipulating virtual bookshelves,
-including creating and deleting bookshelves, and adding and removing
-items to and from bookshelves.
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
address@hidden = qw(Exporter);
address@hidden = qw(&GetShelfList &GetShelfContents &AddToShelf
&AddToShelfFromBiblio
- &RemoveFromShelf &AddShelf &RemoveShelf
- &ShelfPossibleAction
-
- &GetShelfListExt &AddShelfExt &EditShelfExt
&RemoveShelfExt
- &GetShelfInfo &GetShelfContentsExt
&RemoveFromShelfExt
- &GetShelfListOfExt &AddToShelfExt
-
- &AddRequestToShelf &CountShelfRequest
&GetShelfRequests
- &RejectShelfRequest &CatalogueShelfRequest
&GetShelfRequestOwner
- &GetShelfRequest);
-
-
-my $dbh;
- $dbh = C4::Context->dbh;
-
-=item ShelfPossibleAction
-
-=over 4
-
-=item C<$loggedinuser,$shelfnumber,$action>
-
-$action can be "view" or "manage".
-
-Returns 1 if the user can do the $action in the $shelfnumber shelf.
-Returns 0 otherwise.
-
-=back
-
-=cut
-sub ShelfPossibleAction {
- my ($loggedinuser,$shelfnumber,$action)= @_;
- my $sth = $dbh->prepare("select owner,category from bookshelf where
shelfnumber=?");
- $sth->execute($shelfnumber);
- my ($owner,$category) = $sth->fetchrow;
- return 1 if (($category>=3 or $owner eq $loggedinuser) && $action eq
'manage');
- return 1 if (($category>= 2 or $owner eq $loggedinuser) && $action eq
'view');
- return 0;
-}
-
-=item GetShelfList
-
- $shelflist = &GetShelfList();
- ($shelfnumber, $shelfhash) = each %{$shelflist};
-
-Looks up the virtual bookshelves, and returns a summary. C<$shelflist>
-is a reference-to-hash. The keys are the bookshelf numbers
-(C<$shelfnumber>, above), and the values (C<$shelfhash>, above) are
-themselves references-to-hash, with the following keys:
-
-=over 4
-
-=item C<$shelfhash-E<gt>{shelfname}>
-
-A string. The name of the shelf.
-
-=item C<$shelfhash-E<gt>{count}>
-
-The number of books on that bookshelf.
-
-=back
-
-=cut
-#'
-# FIXME - Wouldn't it be more intuitive to return a list, rather than
-# a reference-to-hash? The shelf number can be just another key in the
-# hash.
-sub GetShelfList {
- my ($owner,$mincategory) = @_;
- # mincategory : 2 if the list is for "look". 3 if the list is for
"Select bookshelf for adding a book".
- # bookshelves of the owner are always selected, whatever the category
- my $sth=$dbh->prepare("SELECT bookshelf.shelfnumber,
bookshelf.shelfname,owner,surname,firstname, category,
-
count(shelfcontents.itemnumber) as count
- FROM
bookshelf
- LEFT JOIN
shelfcontents
- ON
bookshelf.shelfnumber = shelfcontents.shelfnumber
- left join
borrowers on bookshelf.owner = borrowers.borrowernumber
-
- where owner=?
or category>=?
- GROUP BY
bookshelf.shelfnumber order by shelfname");
- $sth->execute($owner,$mincategory);
- my %shelflist;
- while (my ($shelfnumber,
$shelfname,$owner,$surname,$firstname,$category,$count) = $sth->fetchrow) {
- $shelflist{$shelfnumber}->{'shelfname'}=$shelfname;
- $shelflist{$shelfnumber}->{'count'}=$count;
- $shelflist{$shelfnumber}->{'owner'}=$owner;
- $shelflist{$shelfnumber}->{'surname'} = $surname;
- $shelflist{$shelfnumber}->{'firstname'} = $firstname;
- $shelflist{$shelfnumber}->{'category'} = $category;
-
-
- }
-
- return(\%shelflist);
-}
-
-=item GetShelfContents
-
- $itemlist = &GetShelfContents($env, $shelfnumber);
-
-Looks up information about the contents of virtual bookshelf number
-C<$shelfnumber>.
-
-Returns a reference-to-array, whose elements are references-to-hash,
-as returned by C<&getiteminformation>.
-
-I don't know what C<$env> is.
-
-=cut
-#'
-sub GetShelfContents {
- my ($env, $shelfnumber) = @_;
- my @itemlist;
- my $sth=$dbh->prepare("select itemnumber from shelfcontents where
shelfnumber=? order by itemnumber");
- $sth->execute($shelfnumber);
- while (my ($itemnumber) = $sth->fetchrow) {
- my ($item) = getiteminformation($env, $itemnumber, 0);
- push (@itemlist, $item);
- }
- return (address@hidden);
-}
-
-=item AddToShelf
-
- &AddToShelf($env, $itemnumber, $shelfnumber);
-
-Adds item number C<$itemnumber> to virtual bookshelf number
-C<$shelfnumber>, unless that item is already on that shelf.
-
-C<$env> is ignored.
-
-=cut
-#'
-sub AddToShelf {
- my ($env, $itemnumber, $shelfnumber) = @_;
- return unless $itemnumber;
- my $sth=$dbh->prepare("select * from shelfcontents where shelfnumber=?
and itemnumber=?");
-
- $sth->execute($shelfnumber, $itemnumber);
- if ($sth->rows) {
-# already on shelf
- } else {
- $sth=$dbh->prepare("insert into shelfcontents (shelfnumber,
itemnumber, flags) values (?, ?, 0)");
- $sth->execute($shelfnumber, $itemnumber);
- }
-}
-sub AddToShelfFromBiblio {
- my ($env, $biblionumber, $shelfnumber) = @_;
- return unless $biblionumber;
- my $sth = $dbh->prepare("select itemnumber from items where
biblionumber=?");
- $sth->execute($biblionumber);
- my ($itemnumber) = $sth->fetchrow;
- $sth=$dbh->prepare("select * from shelfcontents where shelfnumber=? and
itemnumber=?");
- $sth->execute($shelfnumber, $itemnumber);
- if ($sth->rows) {
-# already on shelf
- } else {
- $sth=$dbh->prepare("insert into shelfcontents (shelfnumber,
itemnumber, flags,biblionumber) values (?, ?, 0,?)");
- $sth->execute($shelfnumber, $itemnumber,$biblionumber);
- }
-}
-
-=item RemoveFromShelf
-
- &RemoveFromShelf($env, $itemnumber, $shelfnumber);
-
-Removes item number C<$itemnumber> from virtual bookshelf number
-C<$shelfnumber>. If the item wasn't on that bookshelf to begin with,
-nothing happens.
-
-C<$env> is ignored.
-
-=cut
-#'
-sub RemoveFromShelf {
- my ($env, $itemnumber, $shelfnumber) = @_;
- my $sth=$dbh->prepare("delete from shelfcontents where shelfnumber=? and
itemnumber=?");
- $sth->execute($shelfnumber,$itemnumber);
-}
-
-=item AddShelf
-
- ($status, $msg) = &AddShelf($env, $shelfname);
-
-Creates a new virtual bookshelf with name C<$shelfname>.
-
-Returns a two-element array, where C<$status> is 0 if the operation
-was successful, or non-zero otherwise. C<$msg> is "Done" in case of
-success, or an error message giving the reason for failure.
-
-C<$env> is ignored.
-
-=cut
-#'
-# FIXME - Perhaps this could/should return the number of the new bookshelf
-# as well?
-sub AddShelf {
- my ($env, $shelfname,$owner,$category) = @_;
- my $sth=$dbh->prepare("select * from bookshelf where shelfname=?");
- $sth->execute($shelfname);
- if ($sth->rows) {
- return(1, "Shelf \"$shelfname\" already exists");
- } else {
- $sth=$dbh->prepare("insert into bookshelf (shelfname,owner,category)
values (?,?,?)");
- $sth->execute($shelfname,$owner,$category);
- return (0, "Done");
- }
-}
-
-=item RemoveShelf
-
- ($status, $msg) = &RemoveShelf($env, $shelfnumber);
-
-Deletes virtual bookshelf number C<$shelfnumber>. The bookshelf must
-be empty.
-
-Returns a two-element array, where C<$status> is 0 if the operation
-was successful, or non-zero otherwise. C<$msg> is "Done" in case of
-success, or an error message giving the reason for failure.
-
-C<$env> is ignored.
-
-=cut
-#'
-sub RemoveShelf {
- my ($env, $shelfnumber) = @_;
- my $sth=$dbh->prepare("select count(*) from shelfcontents where
shelfnumber=?");
- $sth->execute($shelfnumber);
- my ($count)=$sth->fetchrow;
- if ($count) {
- return (1, "Shelf has $count items on it. Please remove all items
before deleting this shelf.");
- } else {
- $sth=$dbh->prepare("delete from bookshelf where shelfnumber=?");
- $sth->execute($shelfnumber);
- return (0, "Done");
- }
-}
-
-sub GetShelfListOfExt {
- my ($owner) = @_;
- my $sth;
- if ($owner) {
- $sth = $dbh->prepare("SELECT * FROM bookshelf WHERE (owner =
?) or category>=2 ORDER BY shelfname");
- $sth->execute($owner);
- } else {
- $sth = $dbh->prepare("SELECT * FROM bookshelf where
category<2 ORDER BY shelfname");
- $sth->execute();
- }
-
- my $sth2 = $dbh->prepare("SELECT count(biblionumber) as bibliocount
FROM shelfcontents WHERE (shelfnumber = ?)");
-
- my @results;
- while (my $row = $sth->fetchrow_hashref) {
- $sth2->execute($row->{'shelfnumber'});
- $row->{'bibliocount'} = $sth2->fetchrow;
- if ($row->{'category'} == 1) {
- $row->{'private'} = 1;
- } else {
- $row->{'public'} = 1;
- }
- push @results, $row;
- }
- return address@hidden;
-}
-
-sub GetShelfListExt {
- my ($owner,$mincategory,$id_intitution, $intra) = @_;
-
- my $sth1 = $dbh->prepare("SELECT * FROM careers WHERE id_institution =
?");
- $sth1->execute($id_intitution);
- my @results;
-
- my $total_shelves = 0;
- while (my $row1 = $sth1->fetchrow_hashref) {
-
- my @shelves;
- my $sth2;
- if ($intra) {
- $sth2=$dbh->prepare("SELECT
-
bookshelf.shelfnumber, bookshelf.shelfname,owner,surname,firstname, category,
-
count(shelfcontents.biblionumber) as count
- FROM
-
bookshelf
- LEFT
JOIN shelfcontents ON bookshelf.shelfnumber = shelfcontents.shelfnumber
- LEFT
JOIN borrowers ON bookshelf.owner = borrowers.borrowernumber
- LEFT JOIN
bookshelves_careers ON bookshelves_careers.shelfnumber = bookshelf.shelfnumber
- WHERE
-
(id_career = ?)
- GROUP BY
bookshelf.shelfnumber
- ORDER BY
shelfname");
- $sth2->execute($row1->{'id_career'});
-
- } else {
- $sth2=$dbh->prepare("SELECT
-
bookshelf.shelfnumber, bookshelf.shelfname,owner,surname,firstname, category,
-
count(shelfcontents.biblionumber) as count
- FROM
-
bookshelf
- LEFT
JOIN shelfcontents ON bookshelf.shelfnumber = shelfcontents.shelfnumber
- LEFT
JOIN borrowers ON bookshelf.owner = borrowers.borrowernumber
- LEFT JOIN
bookshelves_careers ON bookshelves_careers.shelfnumber = bookshelf.shelfnumber
- WHERE
- (owner
= ? OR category >= ?) AND (id_career = ?)
- GROUP BY
bookshelf.shelfnumber
- ORDER BY
shelfname");
-
$sth2->execute($owner,$mincategory,$row1->{'id_career'});
- }
-
- $row1->{'shelfcount'} = 0;
- while (my $row2 = $sth2->fetchrow_hashref) {
- if ($owner == $row2->{'owner'}) {
- $row2->{'canmanage'} = 1;
- }
- if ($row2->{'category'} == 1) {
- $row2->{'private'} = 1;
- } else {
- $row2->{'public'} = 1;
- }
- $row1->{'shelfcount'}++;
- $total_shelves++;
- push @shelves, $row2;
- }
- $row1->{'shelvesloop'} = address@hidden;
- push @results, $row1;
- }
-
- return($total_shelves, address@hidden);
-}
-
-sub AddShelfExt {
- my ($shelfname,$owner,$category,$careers) = @_;
- my $sth = $dbh->prepare("SELECT * FROM bookshelf WHERE shelfname = ?");
- $sth->execute($shelfname);
- if ($sth->rows) {
- return 0;
- } else {
- $sth = $dbh->prepare("INSERT INTO bookshelf
(shelfname,owner,category) VALUES (?,?,?)");
- $sth->execute($shelfname,$owner,$category);
- my $shelfnumber = $dbh->{'mysql_insertid'};
-
- foreach my $row (@{$careers}) {
- $sth = $dbh->prepare("INSERT INTO bookshelves_careers
VALUES (?,?)");
- $sth->execute($shelfnumber, $row);
- }
- return $shelfnumber;
- }
-}
-
-sub EditShelfExt {
- my ($shelfnumber,$shelfname,$category,$careers) = @_;
- my $sth = $dbh->prepare("SELECT * FROM bookshelf WHERE shelfname = ? AND
NOT shelfnumber = ? ");
- $sth->execute($shelfname, $shelfnumber);
- if ($sth->rows) {
- return 0;
- } else {
- $sth = $dbh->prepare("UPDATE bookshelf SET shelfname = ?,
category = ? WHERE shelfnumber = ?");
- $sth->execute($shelfname,$category,$shelfnumber);
-
- $sth = $dbh->prepare("DELETE FROM bookshelves_careers WHERE
shelfnumber = ?");
- $sth->execute($shelfnumber);
-
- foreach my $row (@{$careers}) {
- $sth = $dbh->prepare("INSERT INTO bookshelves_careers
VALUES (?,?)");
- $sth->execute($shelfnumber, $row);
- }
- return $shelfnumber;
- }
-}
-
-
-sub RemoveShelfExt {
- my ($shelfnumber) = @_;
- my $sth = $dbh->prepare("DELETE FROM bookshelves_careers WHERE
shelfnumber = ?");
- $sth->execute($shelfnumber);
- my $sth = $dbh->prepare("DELETE FROM shelfcontents WHERE shelfnumber =
?");
- $sth->execute($shelfnumber);
- $sth = $dbh->prepare("DELETE FROM bookshelf WHERE shelfnumber = ?");
- $sth->execute($shelfnumber);
- return 1;
-}
-
-sub GetShelfInfo {
- my ($shelfnumber, $owner) = @_;
- my $sth = $dbh->prepare("SELECT * FROM bookshelf WHERE shelfnumber =
?");
- $sth->execute($shelfnumber);
- my $result = $sth->fetchrow_hashref;
-
- if ($result->{'owner'} == $owner) {
- $result->{'canmanage'} = 1;
- }
-
- my $sth = $dbh->prepare("SELECT id_career FROM bookshelves_careers
WHERE shelfnumber = ?");
- $sth->execute($shelfnumber);
- my @careers;
- while (my $row = $sth->fetchrow) {
- push @careers, $row;
- }
- $result->{'careers'} = address@hidden;
- return $result;
-}
-
-sub GetShelfContentsExt {
- my ($shelfnumber) = @_;
- my $sth = $dbh->prepare("SELECT biblionumber FROM shelfcontents WHERE
shelfnumber = ? ORDER BY biblionumber");
- $sth->execute($shelfnumber);
- my @biblios;
- my $even = 0;
- while (my ($biblionumber) = $sth->fetchrow) {
- my $biblio=ZEBRA_readyXML_noheader($dbh,$biblionumber);
- my $xmlrecord=XML_xml2hash($biblio);
- push @biblios,$xmlrecord;
- }
-my ($facets,@results)=parsefields($dbh,"opac",@biblios);
-
- return (address@hidden);
-}
-
-sub RemoveFromShelfExt {
- my ($biblionumber, $shelfnumber) = @_;
- my $sth = $dbh->prepare("DELETE FROM shelfcontents WHERE shelfnumber = ?
AND biblionumber = ?");
- $sth->execute($shelfnumber,$biblionumber);
-}
-
-sub AddToShelfExt {
- my ($biblionumber, $shelfnumber) = @_;
- my $sth = $dbh->prepare("SELECT * FROM shelfcontents WHERE shelfnumber
= ? AND biblionumber = ?");
- $sth->execute($shelfnumber, $biblionumber);
- if ($sth->rows) {
- return 0
- } else {
- $sth = $dbh->prepare("INSERT INTO shelfcontents (shelfnumber,
biblionumber) VALUES (?, ?)");
- $sth->execute($shelfnumber, $biblionumber);
- }
-}
-
-sub AddRequestToShelf {
- my ($shelfnumber, $requestType, $requestName, $comments) = @_;
- my $sth = $dbh->prepare("INSERT INTO shelf_requests (shelfnumber,
request_name, request_type, status, request_date, comments) VALUES (?,?,?,?,
CURRENT_DATE(),?)");
- $sth->execute($shelfnumber, $requestName, $requestType, "PENDING",
$comments);
- return $dbh->{'mysql_insertid'};
-}
-
-sub CountShelfRequest {
- my ($shelfnumber, $status) = @_;
- my $sth;
- if ($shelfnumber) {
- $sth = $dbh->prepare("SELECT count(idRequest) FROM
shelf_requests WHERE shelfnumber = ? AND status = ?");
- $sth->execute($shelfnumber, $status);
- } else {
- $sth = $dbh->prepare("SELECT count(idRequest) FROM
shelf_requests WHERE status = ?");
- $sth->execute($status);
- }
- my ($count) = $sth->fetchrow_array;
- return $count;
-}
-
-sub GetShelfRequests {
- my ($shelfnumber, $status, $type) = @_;
- my @params;
- my $query = "SELECT * FROM shelf_requests SR INNER JOIN bookshelf BS ON
SR.shelfnumber = BS.shelfnumber WHERE status = ?";
- push @params, $status;
- if ($shelfnumber) {
- $query.= " AND shelfnumber = ?";
- push @params, $shelfnumber;
- }
- if ($type) {
- $query.= " AND request_type = ?";
- push @params, $type;
- }
- $query.= " ORDER BY SR.shelfnumber, SR.request_date";
- my $sth = $dbh->prepare($query);
- $sth->execute(@params);
- my @results;
-
- my $color = 0;
- while (my $row = $sth->fetchrow_hashref) {
- my $borrdata = borrdata('',$row->{'owner'});
- $row->{'surname'} = $borrdata->{'surname'};
- $row->{'firstname'} = $borrdata->{'firstname'};
- $row->{'cardnumber'} = $borrdata->{'cardnumber'};
- $row->{'request_date'} = format_date($row->{'request_date'});
- $row->{$row->{'request_type'}} = 1;
- $row->{$row->{'status'}} = 1;
- $row->{'color'} = $color = not $color;
- push @results, $row;
- }
- return (address@hidden);
-}
-
-sub RejectShelfRequest {
- my ($idRequest) = @_;
- #get the type and name request
- my $sth = $dbh->prepare("SELECT request_type, request_name FROM
shelf_requests WHERE idRequest = ?");
- $sth->execute($idRequest);
- my ($request_type, $request_name) = $sth->fetchrow_array;
- #if the request is a file, then unlink the file
- if ($request_type eq 'file') {
-
unlink($ENV{'DOCUMENT_ROOT'}."/uploaded-files/shelf-files/$idRequest-$request_name");
- }
- #change tha request status to REJECTED
- $sth = $dbh->prepare("UPDATE shelf_requests SET status = ? WHERE
idRequest = ?");
- $sth->execute("REJECTED", $idRequest);
- return 1;
-}
-
-sub GetShelfRequestOwner {
- my ($idRequest) = @_;
- my $sth = $dbh->prepare("SELECT owner FROM shelf_requests R INNER JOIN
bookshelf S ON R.shelfnumber = S.shelfnumber WHERE idRequest = ?");
- $sth->execute($idRequest);
- my ($owner) = $sth->fetchrow_array;
- my $bordata = &borrdata(undef, $owner);
- #print "Content-type: text/plain \n\n --- $owner -----
$bordata->{'emailaddress'}" ;
- return ($bordata);
-}
-
-sub GetShelfRequest {
- my ($idRequest) = @_;
- my $sth = $dbh->prepare("SELECT * FROM shelf_requests R INNER JOIN
bookshelf S ON R.shelfnumber = S.shelfnumber WHERE idRequest = ?");
- $sth->execute($idRequest);
- my $request_data = $sth->fetchrow_hashref;
- return $request_data;
-}
-
-sub CatalogueShelfRequest {
- my ($idRequest, $shelfnumber, $biblionumber) = @_;
- #find the last request status
- my $sth = $dbh->prepare("SELECT status, biblionumber FROM
shelf_requests WHERE idRequest = ?");
- $sth->execute($idRequest);
- my ($prev_status, $prev_biblionumber) = $sth->fetchrow_array;
- #if the status was not seted, inserts an entry in shelfcontents
- if ($prev_status ne "CATALOGUED") {
- $sth = $dbh->prepare("INSERT INTO shelfcontents (shelfnumber,
biblionumber) VALUES (?,?)");
- $sth->execute($shelfnumber, $biblionumber);
- #if the request was previously catalogued, delete the entry in
shelfcontens
- } elsif ($prev_status ne "REJECTED") {
- $sth = $dbh->prepare("DELETE FROM shelfcontents WHERE
shelfnumber = ? AND biblionumber = ?");
- $sth->execute($shelfnumber, $prev_biblionumber);
- }
- #change the status to catalogued
- $sth = $dbh->prepare("UPDATE shelf_requests SET status = ?,
biblionumber = ? WHERE idRequest = ?");
- $sth->execute("CATALOGUED", $biblionumber, $idRequest);
- return 1;
-}
-
-END { } # module clean-up code here (global destructor)
-
-1;
-
-#
-# $Log: BookShelves.pm,v $
-# Revision 1.1.2.1 2007/03/10 01:35:34 tgarip1957
-# fresh files for rel_TG
-#
-# Revision 1.19 2006/11/06 21:01:43 tgarip1957
-# Bug fixing and complete removal of Date::Manip
-#
-# Revision 1.18 2006/09/06 16:21:03 tgarip1957
-# Clean up before final commits
-#
-# Revision 1.13 2004/03/11 16:06:20 tipaul
-# *** empty log message ***
-#
-# Revision 1.11.2.2 2004/02/19 10:15:41 tipaul
-# new feature : adding book to bookshelf from biblio detail screen.
-#
-# Revision 1.11.2.1 2004/02/06 14:16:55 tipaul
-# fixing bugs in bookshelves management.
-#
-# Revision 1.11 2003/12/15 10:57:08 slef
-# DBI call fix for bug 662
-#
-# Revision 1.10 2003/02/05 10:05:02 acli
-# Converted a few SQL statements to use ? to fix a few strange SQL errors
-# Noted correct tab size
-#
-# Revision 1.9 2002/10/13 08:29:18 arensb
-# Deleted unused variables.
-# Removed trailing whitespace.
-#
-# Revision 1.8 2002/10/10 04:32:44 arensb
-# Simplified references.
-#
-# Revision 1.7 2002/10/05 09:50:10 arensb
-# Merged with arensb-context branch: use C4::Context->dbh instead of
-# &C4Connect, and generally prefer C4::Context over C4::Database.
-#
-# Revision 1.6.2.1 2002/10/04 02:24:43 arensb
-# Use C4::Connect instead of C4::Database, C4::Connect->dbh instead
-# C4Connect.
-#
-# Revision 1.6 2002/09/23 13:50:30 arensb
-# Fixed missing bit in POD.
-#
-# Revision 1.5 2002/09/22 17:29:17 arensb
-# Added POD.
-# Added some FIXME comments.
-# Removed useless trailing whitespace.
-#
-# Revision 1.4 2002/08/14 18:12:51 tonnesen
-# Added copyright statement to all .pl and .pm files
-#
-# Revision 1.3 2002/07/02 17:48:06 tonnesen
-# Merged in updates from rel-1-2
-#
-# Revision 1.2.2.1 2002/06/26 20:46:48 tonnesen
-# Inserting some changes I made locally a while ago.
-#
-#
-1;
-__END__
-
-
-=back
-
-=head1 AUTHOR
-
-Koha Developement team <address@hidden>
-
-=head1 SEE ALSO
-
-C4::Circulation::Circ2(3)
-
-=cut
Index: modules/C4/Bookfund.pm
===================================================================
RCS file: modules/C4/Bookfund.pm
diff -N modules/C4/Bookfund.pm
--- modules/C4/Bookfund.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,571 +0,0 @@
-package C4::Bookfund;
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-# $Id: Bookfund.pm,v 1.1.2.1 2007/03/10 01:35:34 tgarip1957 Exp $
-
-use strict;
-require Exporter;
-
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.1.2.1 $' =~ /\d+/g; shift(@v) . "." .
join( "_", map { sprintf "%03d", $_ } @v ); };
-
-=head1 NAME
-
-C4::Bookfund - Koha functions for dealing with bookfund, currency & money.
-
-=head1 SYNOPSIS
-
-use C4::Bookfund;
-
-=head1 DESCRIPTION
-
-the functions in this modules deal with bookfund, currency and money.
-They allow to get and/or set some informations for a specific budget or
currency.
-
-=cut
-
address@hidden = qw(Exporter);
address@hidden = qw(
- &GetBookFund &GetBookFunds &GetBookFundsId &GetBookFundBreakdown
&GetCurrencies
- &NewBookFund
- &ModBookFund &ModCurrencies
- &SearchBookFund
- &Countbookfund
- &ConvertCurrency
- &DelBookFund
-);
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
-#-------------------------------------------------------------#
-
-=head3 GetBookFund
-
-=over 4
-
-$dataaqbookfund = &GetBookFund($bookfundid);
-
-this function get the bookfundid, bookfundname, the bookfundgroup, the
branchcode
-from aqbookfund table for bookfundid given on input arg.
-return:
-C<$dataaqbookfund> is a hashref full of bookfundid, bookfundname,
bookfundgroup,
-and branchcode.
-
-=back
-
-=cut
-
-sub GetBookFund {
- my $bookfundid = shift;
- my $dbh = C4::Context->dbh;
- my $query = "
- SELECT
- bookfundid,
- bookfundname,
- bookfundgroup,
- branchcode
- FROM aqbookfund
- WHERE bookfundid = ?
- ";
- my $sth=$dbh->prepare($query);
-$sth->execute($bookfundid);
- return $sth->fetchrow_hashref;
-}
-
-
-=head3 GetBookFundsId
-
-=over 4
-
-$sth = &GetBookFundsId
-Read on aqbookfund table and execute a simple SQL query.
-
-return:
-$sth->execute. Don't forget to fetch row from the database after using
-this function by using, for example, $sth->fetchrow_hashref;
-
-C<@results> is an array of id existing on the database.
-
-=back
-
-=cut
-
-sub GetBookFundsId {
- my @bookfundids_loop;
- my $dbh= C4::Context->dbh;
- my $query = "
- SELECT bookfundid
- FROM aqbookfund
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute;
- return $sth;
-}
-
-#-------------------------------------------------------------#
-
-=head3 GetBookFunds
-
-=over 4
-
address@hidden = &GetBookFunds;
-
-Returns a list of all book funds.
-
-C<@results> is an array of references-to-hash, whose keys are fields from the
aqbookfund and aqbudget tables of the Koha database. Results are ordered
-alphabetically by book fund name.
-
-=back
-
-=cut
-
-sub GetBookFunds {
- my ($branch) = @_;
- my $dbh = C4::Context->dbh;
- my $userenv = C4::Context->userenv;
- my $branch = $userenv->{branch};
- my $strsth;
-
- if ( $branch ) {
- $strsth = "
- SELECT *
- FROM aqbookfund,aqbudget
- WHERE aqbookfund.bookfundid=aqbudget.bookfundid
- AND startdate<=now()
- AND enddate>now()
- AND (aqbookfund.branchcode IS NULL OR aqbookfund.branchcode='' OR
aqbookfund.branchcode= ? )
- GROUP BY aqbookfund.bookfundid ORDER BY bookfundname";
- }
- else {
- $strsth = "
- SELECT *
- FROM aqbookfund,
- aqbudget
- WHERE aqbookfund.bookfundid=aqbudget.bookfundid
- AND startdate<now()
- AND enddate>now()
- GROUP BY aqbookfund.bookfundid ORDER BY bookfundname
- ";
- }
- my $sth = $dbh->prepare($strsth);
- if ( $branch ) {
- $sth->execute($branch);
- }
- else {
- $sth->execute;
- }
- my @results = ();
- while ( my $data = $sth->fetchrow_hashref ) {
- push( @results, $data );
- }
- $sth->finish;
- return @results;
-}
-
-#-------------------------------------------------------------#
-
-=head3 GetCurrencies
-
-=over 4
-
address@hidden = &GetCurrencies;
-
-Returns the list of all known currencies.
-
-C<$currencies> is a array; its elements are references-to-hash, whose
-keys are the fields from the currency table in the Koha database.
-
-=back
-
-=cut
-
-sub GetCurrencies {
- my $dbh = C4::Context->dbh;
- my $query = "
- SELECT *
- FROM currency
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute;
- my @results = ();
- while ( my $data = $sth->fetchrow_hashref ) {
- push( @results, $data );
- }
- $sth->finish;
- return @results;
-}
-
-#-------------------------------------------------------------#
-
-=head3 GetBookFundBreakdown
-
-=over 4
-
-( $spent, $comtd ) = &GetBookFundBreakdown( $id, $year, $start, $end );
-
-returns the total comtd & spent for a given bookfund, and a given year
-used in acqui-home.pl
-
-=back
-
-=cut
-
-sub GetBookFundBreakdown {
- my ( $id, $year, $start, $end ) = @_;
- my $dbh = C4::Context->dbh;
-
- # if no start/end dates given defaut to everything
- if ( !$start ) {
- $start = '0000-00-00';
- $end = 'now()';
- }
-
- # do a query for spent totals.
- my $query = "
- SELECT quantity,datereceived,freight,unitprice,listprice,ecost,
- quantityreceived,subscription
- FROM aqorders
- LEFT JOIN aqorderbreakdown ON
aqorders.ordernumber=aqorderbreakdown.ordernumber
- WHERE bookfundid=?
- AND (datecancellationprinted IS NULL OR
datecancellationprinted='0000-00-00')
- AND ((datereceived >= ? and datereceived < ?) OR (budgetdate >= ?
and budgetdate < ?))
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute( $id, $start, $end, $start, $end );
-
- my $spent = 0;
- while ( my $data = $sth->fetchrow_hashref ) {
- if ( $data->{'subscription'} == 1 ) {
- $spent += $data->{'quantity'} * $data->{'unitprice'};
- }
- else {
-
- my $leftover = $data->{'quantity'} - $data->{'quantityreceived'};
- $spent += ( $data->{'unitprice'} ) * $data->{'quantityreceived'};
-
- }
- }
-
- # then do a seperate query for commited totals, (pervious single query was
- # returning incorrect comitted results.
-
- my $query = "
- SELECT quantity,datereceived,freight,unitprice,
- listprice,ecost,quantityreceived AS qrev,
- subscription,biblio.title,itemtype,aqorders.biblionumber,
- aqorders.booksellerinvoicenumber,
- quantity-quantityreceived AS tleft,
- aqorders.ordernumber AS ordnum,entrydate,budgetdate,
- booksellerid,aqbasket.basketno
- FROM aqorderbreakdown,
- aqbasket,
- aqorders
- LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber
- WHERE bookfundid=?
- AND aqorders.ordernumber=aqorderbreakdown.ordernumber
- AND aqorders.basketno=aqbasket.basketno
- AND (budgetdate >= ? AND budgetdate < ?)
- AND (datecancellationprinted IS NULL OR
datecancellationprinted='0000-00-00')
- ";
-
- my $sth = $dbh->prepare($query);
- $sth->execute( $id, $start, $end );
-
- my $comtd;
-
- my $total = 0;
- while ( my $data = $sth->fetchrow_hashref ) {
- my $left = $data->{'tleft'};
- if ( !$left || $left eq '' ) {
- $left = $data->{'quantity'};
- }
- if ( $left && $left > 0 ) {
- my $subtotal = $left * $data->{'ecost'};
- $data->{subtotal} = $subtotal;
- $data->{'left'} = $left;
- $comtd += $subtotal;
- }
- }
-
- $sth->finish;
- return ( $spent, $comtd );
-}
-
-=head3 NewBookFund
-
-=over 4
-
-&NewBookFund(bookfundid, bookfundname, branchcode);
-
-this function create a new bookfund into the database.
-
-=back
-
-=cut
-
-sub NewBookFund{
- my ($bookfundid, $bookfundname, $branchcode) = @_;
- $branchcode = undef unless $branchcode;
- my $dbh = C4::Context->dbh;
- my $query = "
- INSERT
- INTO aqbookfund
- (bookfundid, bookfundname, branchcode)
- VALUES
- (?, ?, ?)
- ";
- my $sth=$dbh->prepare($query);
- $sth->execute($bookfundid,$bookfundname,$branchcode);
-}
-
-#-------------------------------------------------------------#
-
-=head3 ModBookFund
-
-=over 4
-
-&ModBookFund($bookfundname,$branchcode,$bookfundid);
-this function update the bookfundname and the branchcode on aqbookfund table
-on database.
-
-=back
-
-=cut
-
-sub ModBookFund {
- my ($bookfundname,$branchcode,$bookfundid) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- UPDATE aqbookfund
- SET bookfundname = ?,
- branchcode = ?
- WHERE bookfundid = ?
- ";
- my $sth=$dbh->prepare($query);
- $sth->execute($bookfundname,$branchcode,$bookfundid);
-# budgets depending on a bookfund must have the same branchcode
-# if the bookfund branchcode is set
- if (defined $branchcode) {
- $query = "
- UPDATE aqbudget
- SET branchcode = ?
- ";
- $sth=$dbh->prepare($query);
- $sth->execute($branchcode);
- }
-}
-
-#-------------------------------------------------------------#
-
-=head3 SearchBookFund
-
-=over 4
address@hidden = SearchBookFund(
- $bookfundid,$filter,$filter_bookfundid,
- $filter_bookfundname,$filter_branchcode);
-
-this function searchs among the bookfunds corresponding to our filtering rules.
-
-=back
-
-=cut
-
-sub SearchBookFund {
- my $dbh = C4::Context->dbh;
- my ($filter,
- $filter_bookfundid,
- $filter_bookfundname,
- $filter_branchcode
- ) = @_;
-
- my @bindings;
-
- my $query = "
- SELECT bookfundid,
- bookfundname,
- bookfundgroup,
- branchcode
- FROM aqbookfund
- WHERE 1 = 1 ";
-
- if ($filter) {
- if ($filter_bookfundid) {
- $query.= "AND bookfundid = ?";
- push @bindings, $filter_bookfundid;
- }
- if ($filter_bookfundname) {
- $query.= "AND bookfundname like ?";
- push @bindings, '%'.$filter_bookfundname.'%';
- }
- if ($filter_branchcode) {
- $query.= "AND branchcode = ?";
- push @bindings, $filter_branchcode;
- }
- }
- $query.= "ORDER BY bookfundid";
-
- my $sth = $dbh->prepare($query);
- $sth->execute(@bindings);
- my @results;
- while (my $row = $sth->fetchrow_hashref) {
- push @results, $row;
- }
- return @results;
-}
-
-#-------------------------------------------------------------#
-
-=head3 ModCurrencies
-
-=over 4
-
-&ModCurrencies($currency, $newrate);
-
-Sets the exchange rate for C<$currency> to be C<$newrate>.
-
-=back
-
-=cut
-
-sub ModCurrencies {
- my ( $currency, $rate ) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- UPDATE currency
- SET rate=?
- WHERE currency=?
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute( $rate, $currency );
-}
-
-#-------------------------------------------------------------#
-
-=head3 Countbookfund
-
-=over 4
-
-$number = Countbookfund($bookfundid);
-
-this function count the number of bookfund with id given on input arg.
-return :
-the result of the SQL query as a number.
-
-=back
-
-=cut
-
-sub Countbookfund {
- my $bookfundid = shift;
- my $dbh = C4::Context->dbh;
- my $query ="
- SELECT COUNT(*)
- FROM aqbookfund
- WHERE bookfundid = ?
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute($bookfundid);
- return $sth->fetchrow;
-}
-
-
-#-------------------------------------------------------------#
-
-=head3 ConvertCurrency
-
-=over 4
-
-$foreignprice = &ConvertCurrency($currency, $localprice);
-
-Converts the price C<$localprice> to foreign currency C<$currency> by
-dividing by the exchange rate, and returns the result.
-
-If no exchange rate is found, C<&ConvertCurrency> assumes the rate is one
-to one.
-
-=back
-
-=cut
-
-sub ConvertCurrency {
- my ( $currency, $price ) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- SELECT rate
- FROM currency
- WHERE currency=?
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute($currency);
- my $cur = ( $sth->fetchrow_array() )[0];
- if ( $cur == 0 ) {
- $cur = 1;
- }
- return ( $price / $cur );
-}
-
-#-------------------------------------------------------------#
-
-=head3 DelBookFund
-
-=over 4
-
-&DelBookFund($bookfundid);
-this function delete a bookfund which has $bokfundid as parameter on
aqbookfund table and delete the approriate budget.
-
-=back
-
-=cut
-
-sub DelBookFund {
- my $bookfundid = shift;
- my $dbh = C4::Context->dbh;
- my $query = "
- DELETE FROM aqbookfund
- WHERE bookfundid=?
- ";
- my $sth=$dbh->prepare($query);
- $sth->execute($bookfundid);
- $sth->finish;
- $query = "
- DELETE FROM aqbudget where bookfundid=?
- ";
- $sth=$dbh->prepare($query);
- $sth->execute($bookfundid);
- $sth->finish;
-}
-
-
-1;
-
-__END__
-
-=back
-
-=head1 AUTHOR
-
-Koha Developement team <address@hidden>
-
-=cut
Index: modules/C4/Bookseller.pm
===================================================================
RCS file: modules/C4/Bookseller.pm
diff -N modules/C4/Bookseller.pm
--- modules/C4/Bookseller.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,275 +0,0 @@
-package C4::Bookseller;
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-# $Id: Bookseller.pm,v 1.1.2.1 2007/03/10 01:35:34 tgarip1957 Exp $
-
-use strict;
-require Exporter;
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.1.2.1 $' =~ /\d+/g; shift(@v) . "." .
join( "_", map { sprintf "%03d", $_ } @v ); };
-
address@hidden = qw(Exporter);
address@hidden = qw(
- &GetBookSeller &GetBooksellersWithLateOrders
- &ModBookseller
- &AddBookseller
-);
-
-
-=head1 NAME
-
-C4::Bookseller - Koha functions for dealing with booksellers.
-
-=head1 SYNOPSIS
-
-use C4::Bookseller;
-
-=head1 DESCRIPTION
-
-The functions in this module deal with booksellers. They allow to
-add a new bookseller, to modify it or to get some informations around
-a bookseller.
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
-#-------------------------------------------------------------------#
-
-=head3 GetBookSeller
-
-=over 4
-
address@hidden = &GetBookSeller($searchstring);
-
-Looks up a book seller. C<$searchstring> may be either a book seller
-ID, or a string to look for in the book seller's name.
-
-C<@results> is an array of references-to-hash, whose keys are the fields of of
the
-aqbooksellers table in the Koha database.
-
-=back
-
-=cut
-
-sub GetBookSeller {
- my ($searchstring) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- SELECT *
- FROM aqbooksellers
- WHERE name LIKE ? OR id = ?
- ";
- my $sth =$dbh->prepare($query);
- $sth->execute("$searchstring%", $searchstring );
- my @results;
- while ( my $data = $sth->fetchrow_hashref ) {
- push( @results, $data );
- }
- $sth->finish;
- return @results ;
-}
-
-
-#-----------------------------------------------------------------#
-
-=head3 GetBooksellersWithLateOrders
-
-=over 4
-
-%results = &GetBooksellersWithLateOrders;
-
-Searches for suppliers with late orders.
-
-=back
-
-=cut
-
-sub GetBooksellersWithLateOrders {
- my $delay = shift;
- my $dbh = C4::Context->dbh;
-
-# FIXME NOT quite sure that this operation is valid for DBMs different from
Mysql, HOPING so
-# should be tested with other DBMs
-
- my $strsth;
- my $dbdriver = C4::Context->config("db_scheme") || "mysql";
- if ( $dbdriver eq "mysql" ) {
- $strsth = "
- SELECT DISTINCT aqbasket.booksellerid, aqbooksellers.name
- FROM aqorders, aqbasket
- LEFT JOIN aqbooksellers ON aqbasket.booksellerid = aqbooksellers.id
- WHERE aqorders.basketno = aqbasket.basketno
- AND (closedate < DATE_SUB(CURDATE( ),INTERVAL $delay DAY)
- AND (datereceived = '' OR datereceived IS NULL))
- ";
- }
- else {
- $strsth = "
- SELECT DISTINCT aqbasket.booksellerid, aqbooksellers.name
- FROM aqorders, aqbasket
- LEFT JOIN aqbooksellers ON aqbasket.aqbooksellerid =
aqbooksellers.id
- WHERE aqorders.basketno = aqbasket.basketno
- AND (closedate < (CURDATE( )-(INTERVAL $delay DAY)))
- AND (datereceived = '' OR datereceived IS NULL))
- ";
- }
-
- my $sth = $dbh->prepare($strsth);
- $sth->execute;
- my %supplierlist;
- while ( my ( $id, $name ) = $sth->fetchrow ) {
- $supplierlist{$id} = $name;
- }
-
- return %supplierlist;
-}
-
-#--------------------------------------------------------------------#
-
-=head3 AddBookseller
-
-=over 4
-
-$id = &AddBookseller($bookseller);
-
-Creates a new bookseller. C<$bookseller> is a reference-to-hash whose
-keys are the fields of the aqbooksellers table in the Koha database.
-All fields must be present.
-
-Returns the ID of the newly-created bookseller.
-
-=back
-
-=cut
-
-sub AddBookseller {
- my ($data) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- INSERT INTO aqbooksellers
- (
- name, address1, address2, address3, address4,
- postal, phone, fax, url, contact,
- contpos, contphone, contfax, contaltphone, contemail,
- contnotes, active, listprice, invoiceprice, gstreg,
- listincgst,invoiceincgst, specialty, discount,
invoicedisc,
- nocalc, notes
- )
- VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute(
- $data->{'name'}, $data->{'address1'},
- $data->{'address2'}, $data->{'address3'},
- $data->{'address4'}, $data->{'postal'},
- $data->{'phone'}, $data->{'fax'},
- $data->{'url'}, $data->{'contact'},
- $data->{'contpos'}, $data->{'contphone'},
- $data->{'contfax'}, $data->{'contaltphone'},
- $data->{'contemail'}, $data->{'contnotes'},
- $data->{'active'}, $data->{'listprice'},
- $data->{'invoiceprice'}, $data->{'gstreg'},
- $data->{'listincgst'}, $data->{'invoiceincgst'},
- $data->{'specialty'}, $data->{'discount'},
- $data->{'invoicedisc'}, $data->{'nocalc'},
- $data->{'notes'}
- );
-
- # return the id of this new supplier
- my $query = "
- SELECT max(id)
- FROM aqbooksellers
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute;
- return scalar($sth->fetchrow);
-}
-
-#-----------------------------------------------------------------#
-
-=head3 ModSupplier
-
-=over 4
-
-&ModSupplier($bookseller);
-
-Updates the information for a given bookseller. C<$bookseller> is a
-reference-to-hash whose keys are the fields of the aqbooksellers table
-in the Koha database. It must contain entries for all of the fields.
-The entry to modify is determined by C<$bookseller-E<gt>{id}>.
-
-The easiest way to get all of the necessary fields is to look up a
-book seller with C<&booksellers>, modify what's necessary, then call
-C<&ModSupplier> with the result.
-
-=back
-
-=cut
-
-sub ModBookseller {
- my ($data) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
- UPDATE aqbooksellers
- SET name=?,address1=?,address2=?,address3=?,address4=?,
- postal=?,phone=?,fax=?,url=?,contact=?,contpos=?,
- contphone=?,contfax=?,contaltphone=?,contemail=?,
- contnotes=?,active=?,listprice=?, invoiceprice=?,
- gstreg=?, listincgst=?,invoiceincgst=?,
- specialty=?,discount=?,invoicedisc=?,nocalc=?, notes=?
- WHERE id=?
- ";
- my $sth = $dbh->prepare($query);
- $sth->execute(
- $data->{'name'}, $data->{'address1'},
- $data->{'address2'}, $data->{'address3'},
- $data->{'address4'}, $data->{'postal'},
- $data->{'phone'}, $data->{'fax'},
- $data->{'url'}, $data->{'contact'},
- $data->{'contpos'}, $data->{'contphone'},
- $data->{'contfax'}, $data->{'contaltphone'},
- $data->{'contemail'}, $data->{'contnotes'},
- $data->{'active'}, $data->{'listprice'},
- $data->{'invoiceprice'}, $data->{'gstreg'},
- $data->{'listincgst'}, $data->{'invoiceincgst'},
- $data->{'specialty'}, $data->{'discount'},
- $data->{'invoicedisc'}, $data->{'nocalc'},
- $data->{'notes'}, $data->{'id'}
- );
- $sth->finish;
-}
-
-
-
-1;
-
-__END__
-
-=back
-
-=head1 AUTHOR
-
-Koha Developement team <address@hidden>
-
-=cut
Index: modules/C4/Boolean.pm
===================================================================
RCS file: modules/C4/Boolean.pm
diff -N modules/C4/Boolean.pm
--- modules/C4/Boolean.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,122 +0,0 @@
-package C4::Boolean;
-
-# $Id: Boolean.pm,v 1.1.2.1 2007/03/10 01:35:34 tgarip1957 Exp $
-
-#package to handle Boolean values in the parameters table
-# Note: This is just a utility module; it should not be instantiated.
-
-
-# Copyright 2003 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-use strict;
-use POSIX;
-require Exporter;
-
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-
-# set the version for version checking
-$VERSION = 0.01;
-
-=head1 NAME
-
-C4::Boolean - Convenience functions to handle boolean values
-in the parameter table
-
-=head1 SYNOPSIS
-
- use C4::Boolean;
-
-=head1 DESCRIPTION
-
-In the parameter table, there are various Boolean values that
-variously require a 0/1, no/yes, false/true, or off/on values.
-This module aims to provide scripts a means to interpret these
-Boolean values in a consistent way which makes common sense.
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
address@hidden = qw(Exporter);
address@hidden = (
- &INVALID_BOOLEAN_STRING_EXCEPTION
- );
-
address@hidden = qw(
- true_p
- );
-
-sub INVALID_BOOLEAN_STRING_EXCEPTION ()
- { 'The given value does not seem to be interpretable as a Boolean value' }
-
-use vars qw( %strings );
-
-%strings = (
- '0' => 0, '1' => 1, # C
- '-1' => 1, # BASIC
- 'nil' => 0, 't' => 1, # LISP
- 'false' => 0, 'true' => 1, # Pascal
- 'off' => 0, 'on' => 1,
- 'no' => 0, 'yes' => 1,
- 'n' => 0, 'y' => 1,
-);
-
-=item true_p
-
- if ( C4::Boolean::true_p(C4::Context->preference("insecure")) ) {
- ...
- }
-
-Tries to interpret the passed string as a Boolean value. Returns
-the value if the string can be interpreted as such; otherwise an
-exception is thrown.
-
-=cut
-
-sub true_p ($) {
- my($x) = @_;
- my $it;
- if (!defined $x || ref($x) ne '') {
- die INVALID_BOOLEAN_STRING_EXCEPTION;
- }
- $x = lc($x);
- $x =~ s/\s//g;
- if (defined $strings{$x}) {
- $it = $strings{$x};
- } else {
- die INVALID_BOOLEAN_STRING_EXCEPTION;
- }
- return $it;
-}
-
-
-#---------------------------------
-
-
-1;
-__END__
-
-=back
-
-=head1 AUTHOR
-
-Koha Developement team <address@hidden>
-
-=cut
Index: modules/C4/Breeding.pm
===================================================================
RCS file: modules/C4/Breeding.pm
diff -N modules/C4/Breeding.pm
--- modules/C4/Breeding.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,200 +0,0 @@
-package C4::Breeding;
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-use strict;
-use C4::Biblio;
-use C4::Search;
-use MARC::File::USMARC;
-use MARC::Record;
-use Encode;
-require Exporter;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-
-# set the version for version checking
-$VERSION = 0.01;
-
-=head1 NAME
-
-C4::Breeding : script to add a biblio in marc_breeding table.
-
-=head1 SYNOPSIS
- &ImportBreeding($marcrecords,$overwrite_biblio,$filename,$z3950random);
-
- C<$marcrecord> => the MARC::Record
- C<$overwrite_biblio> => if set to 1 a biblio with the same ISBN will be
overwritted.
- if set to 0 a
biblio with the same isbn will be ignored (the previous will be kept)
- if set to -1
the biblio will be added anyway (more than 1 biblio with the same ISBN possible
in the breeding
- C<$encoding> => USMARC
- or UNIMARC. used for
char_decoding.
- If not present, the parameter
marcflavour is used instead
- C<$z3950random> => the random value created during a z3950 search
result.
-
-=head1 DESCRIPTION
-
-This is for depository of records coming from z3950 or directly imported.
-
-=cut
-
address@hidden = qw(Exporter);
address@hidden = qw(&ImportBreeding &BreedingSearch);
-
-sub ImportBreeding {
- my ($marcrecords,$overwrite_biblio,$filename,$encoding,$z3950random) =
@_;
-## use marc:batch send them in one by one
-# my @marcarray = split /\x1D/, $marcrecords;
- my $dbh = C4::Context->dbh;
-my @kohafields;
-my @values;
-my @relations;
-my $sort;
-my @and_or;
-my @results;
-my $count;
- my $searchbreeding = $dbh->prepare("select id from marc_breeding where
isbn=? and title=?");
- my $insertsql = $dbh->prepare("insert into marc_breeding
(file,isbn,title,author,marc,encoding,z3950random,classification,subclass)
values(?,?,?,?,?,?,?,?,?)");
- my $replacesql = $dbh->prepare("update marc_breeding set
file=?,isbn=?,title=?,author=?,marc=?,encoding=?,z3950random=?,classification=?,subclass=?
where id=?");
- $encoding = C4::Context->preference("marcflavour") unless $encoding;
- # fields used for import results
- my $imported=0;
- my $alreadyindb = 0;
- my $alreadyinfarm = 0;
- my $notmarcrecord = 0;
- my $breedingid;
-# for (my $i=0;$i<=$#marcarray;$i++) {
- my $marcrecord = MARC::File::USMARC::decode($marcrecords);
- my $marcxml=$marcrecord->as_xml_record($marcrecord);
- $marcxml=Encode::encode('utf8',$marcxml);
- my @warnings = $marcrecord->warnings();
- if (scalar($marcrecord->fields()) == 0) {
- $notmarcrecord++;
- } else {
- my $xmlhash=XML_xml2hash_onerecord($marcxml);
- my $oldbiblio =
XMLmarc2koha_onerecord($dbh,$xmlhash,'biblios');
- # if isbn found and biblio does not exist, add it. If
isbn found and biblio exists, overwrite or ignore depending on user choice
- # drop every "special" char : spaces, - ...
- $oldbiblio->{isbn} =~ s/ |-|\.//g,
- $oldbiblio->{isbn} = substr($oldbiblio->{isbn},0,10);
- $oldbiblio->{issn} =~ s/ |-|\.//g,
- $oldbiblio->{issn} = substr($oldbiblio->{issn},0,10);
- # search if biblio exists
- my $biblioitemnumber;
- my $facets;
- if ( !$z3950random){
- if ($oldbiblio->{isbn}) {
- push @kohafields,"isbn";
- push @values,$oldbiblio->{isbn};
- push @relations,"";
- push @and_or,"";
-
-
($count,$facets,@results)=ZEBRAsearch_kohafields(address@hidden,address@hidden,address@hidden);
- } else {
- push @kohafields,"issn";
- push @values,$oldbiblio->{issn};
- push @relations,"";
- push @and_or,"";
- $sort="";
-
($count,$facets,@results)=ZEBRAsearch_kohafields(address@hidden,address@hidden,address@hidden);
- }
- }
- if ($count>0 && !$z3950random) {
- $alreadyindb++;
- } else {
- # search in breeding farm
-
- if ($oldbiblio->{isbn}) {
-
$searchbreeding->execute($oldbiblio->{isbn},$oldbiblio->{title});
- ($breedingid) =
$searchbreeding->fetchrow;
- } elsif ($oldbiblio->{issn}){
-
$searchbreeding->execute($oldbiblio->{issn},$oldbiblio->{title});
- ($breedingid) =
$searchbreeding->fetchrow;
- }
- if ($breedingid && $overwrite_biblio eq 0) {
- $alreadyinfarm++;
- } else {
- my
$recoded=MARC::Record->new_from_xml($marcxml,"UTF-8");
- $recoded->encoding('UTF-8');
-
- if ($breedingid && $overwrite_biblio eq
1) {
- $replacesql
->execute($filename,substr($oldbiblio->{isbn}.$oldbiblio->{issn},0,10),$oldbiblio->{title},$oldbiblio->{author},$recoded->as_usmarc,$encoding,$z3950random,$oldbiblio->{classification},$oldbiblio->{subclass},$breedingid);
- } else {
- $insertsql
->execute($filename,substr($oldbiblio->{isbn}.$oldbiblio->{issn},0,10),$oldbiblio->{title},$oldbiblio->{author},$recoded->as_usmarc,$encoding,$z3950random,$oldbiblio->{classification},$oldbiblio->{subclass});
-
- $breedingid=$dbh->{'mysql_insertid'};
- }
- $imported++;
- }
- }
- }
- #}
- return
($notmarcrecord,$alreadyindb,$alreadyinfarm,$imported,$breedingid);
-}
-
-
-=item BreedingSearch
-
- ($count, @results) = &BreedingSearch($title,$isbn,$random);
-C<$title> contains the title,
-C<$isbn> contains isbn or issn,
-C<$random> contains the random seed from a z3950 search.
-
-C<$count> is the number of items in C<@results>. C<@results> is an
-array of references-to-hash; the keys are the items from the C<marc_breeding>
table of the Koha database.
-
-=cut
-
-sub BreedingSearch {
- my ($title,$isbn,$z3950random) = @_;
- my $dbh = C4::Context->dbh;
- my $count = 0;
- my ($query,@bind);
- my $sth;
- my @results;
-
- $query = "Select id,file,isbn,title,author,classification,subclass from
marc_breeding where ";
- if ($z3950random) {
- $query .= "z3950random = ?";
- @bind=($z3950random);
- } else {
- @bind=();
- if ($title) {
- $query .= "title like ?";
- push(@bind,"$title%");
- }
- if ($title && $isbn) {
- $query .= " and ";
- }
- if ($isbn) {
- $query .= "isbn like ?";
- push(@bind,"$isbn%");
- }
- }
- $sth = $dbh->prepare($query);
- $sth->execute(@bind);
- while (my $data = $sth->fetchrow_hashref) {
- $results[$count] = $data;
- $count++;
- } # while
-
- $sth->finish;
- return($count, @results);
-} # sub breedingsearch
-
-
-1;
-__END__
\ No newline at end of file
Index: modules/C4/Context.pm
===================================================================
RCS file: modules/C4/Context.pm
diff -N modules/C4/Context.pm
--- modules/C4/Context.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,952 +0,0 @@
-# Copyright 2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-# $Id: Context.pm,v 1.1.2.1 2007/03/10 01:35:34 tgarip1957 Exp $
-package C4::Context;
-use strict;
-use DBI;
-use CGI;
-use C4::Boolean;
-use XML::Simple;
-require Exporter;
-use vars qw($VERSION $AUTOLOAD),
- qw($context),
- qw(@context_stack);
-
-$VERSION = do { my @v = '$Revision: 1.1.2.1 $' =~ /\d+/g;
- shift(@v) . "." . join("_", map {sprintf "%03d", $_ } @v); };
-
-=head1 NAME
-
-C4::Context - Maintain and manipulate the context of a Koha script
-
-=head1 SYNOPSIS
-
- use C4::Context;
-
- use C4::Context("/path/to/koha.xml");
-
- $config_value = C4::Context->config("config_variable");
- $db_handle = C4::Context->dbh;
- $stopwordhash = C4::Context->stopwords;
-
-=head1 DESCRIPTION
-
-When a Koha script runs, it makes use of a certain number of things:
-configuration settings in F</etc/koha.xml>, a connection to the Koha
-databases, and so forth. These things make up the I<context> in which
-the script runs.
-
-This module takes care of setting up the context for a script:
-figuring out which configuration file to load, and loading it, opening
-a connection to the right database, and so forth.
-
-Most scripts will only use one context. They can simply have
-
- use C4::Context;
-
-at the top.
-
-Other scripts may need to use several contexts. For instance, if a
-library has two databases, one for a certain collection, and the other
-for everything else, it might be necessary for a script to use two
-different contexts to search both databases. Such scripts should use
-the C<&set_context> and C<&restore_context> functions, below.
-
-By default, C4::Context reads the configuration from
-F</etc/koha.xml>. This may be overridden by setting the C<$KOHA_CONF>
-environment variable to the pathname of a configuration file to use.
-
-=head1 METHODS
-
-=over 2
-
-=cut
-
-#'
-# In addition to what is said in the POD above, a Context object is a
-# reference-to-hash with the following fields:
-#
-# config
-# A reference-to-hash whose keys and values are the
-# configuration variables and values specified in the config
-# file (/etc/koha.xml).
-# dbh
-# A handle to the appropriate database for this context.
-# dbh_stack
-# Used by &set_dbh and &restore_dbh to hold other database
-# handles for this context.
-# Zconn
-# A connection object for the Zebra server
-
-use constant CONFIG_FNAME => "/etc/koha.xml";
- # Default config file, if none is specified
-
-#$context = undef; # Initially, no context is set
address@hidden = (); # Initially, no saved contexts
-
-# read_config_file
-# Reads the specified Koha config file. Returns a reference-to-hash
-# whose keys are the configuration variables, and whose values are the
-# configuration values (duh).
-# Returns undef in case of error.
-#
-# Revision History:
-# 2004-08-10 A. Tarallo: Added code that checks if a variable is already
-# assigned and prints a message, otherwise create a new entry in the hash to
-# be returned.
-# Also added code that complaints if finds a line that isn't a variable
-# assignmet and skips the line.
-# Added a quick hack that makes the translation between the db_schema
-# and the DBI driver for that schema.
-#
-sub read_config_file
-{
- my $fname = shift; # Config file to read
-
- my $retval = {}; # Return value: ref-to-hash holding the
- # configuration
-
-my $koha = XMLin($fname, keyattr => ['id'],forcearray => ['listen']);
-
- return $koha;
-}
-
-# db_scheme2dbi
-# Translates the full text name of a database into de appropiate dbi name
-#
-sub db_scheme2dbi
-{
- my $name = shift;
-
- for ($name) {
-# FIXME - Should have other databases.
- if (/mysql/i) { return("mysql"); }
- if (/Postgres|Pg|PostgresSQL/) { return("Pg"); }
- if (/oracle/i) { return("Oracle"); }
- }
- return undef; # Just in case
-}
-
-sub import
-{
- my $package = shift;
- my $conf_fname = shift; # Config file name
- my $context;
-
- # Create a new context from the given config file name, if
- # any, then set it as the current context.
- $context = new C4::Context($conf_fname);
- return undef if !defined($context);
- $context->set_context;
-}
-
-=item new
-
- $context = new C4::Context;
- $context = new C4::Context("/path/to/koha.xml");
-
-Allocates a new context. Initializes the context from the specified
-file, which defaults to either the file given by the C<$KOHA_CONF>
-environment variable, or F</etc/koha.xml>.
-
-C<&new> does not set this context as the new default context; for
-that, use C<&set_context>.
-
-=cut
-
-#'
-# Revision History:
-# 2004-08-10 A. Tarallo: Added check if the conf file is not empty
-sub new
-{
- my $class = shift;
- my $conf_fname = shift; # Config file to load
- my $self = {};
-
- # check that the specified config file exists and is not empty
- undef $conf_fname unless
- (defined $conf_fname && -e $conf_fname && -s $conf_fname);
- # Figure out a good config file to load if none was specified.
- if (!defined($conf_fname))
- {
- # If the $KOHA_CONF environment variable is set, use
- # that. Otherwise, use the built-in default.
- $conf_fname = $ENV{"KOHA_CONF"} || CONFIG_FNAME;
- }
- # Load the desired config file.
- $self = read_config_file($conf_fname);
- $self->{"config_file"} = $conf_fname;
-
-
-
- warn "read_config_file($conf_fname) returned undef" if
!defined($self->{"config"});
- return undef if !defined($self->{"config"});
-
- $self->{"dbh"} = undef; # Database handle
- $self->{"mcgi"} = undef; # CGI handle
- $self->{"Zconn"} = undef; # Zebra Connection
- $self->{"Zconnauth"} = undef; # Zebra Connection for updating
- $self->{"stopwords"} = undef; # stopwords list
- $self->{"marcfromkohafield"} = undef; # the hash with relations between
koha table fields and MARC field/subfield
- $self->{"attrfromkohafield"} = undef; # the hash with relations between
koha table fields and Bib1-attributes
- $self->{"userenv"} = undef; # User env
- $self->{"activeuser"} = undef; # current active user
-
- bless $self, $class;
- return $self;
-}
-
-=item set_context
-
- $context = new C4::Context;
- $context->set_context();
-or
- set_context C4::Context $context;
-
- ...
- restore_context C4::Context;
-
-In some cases, it might be necessary for a script to use multiple
-contexts. C<&set_context> saves the current context on a stack, then
-sets the context to C<$context>, which will be used in future
-operations. To restore the previous context, use C<&restore_context>.
-
-=cut
-
-#'
-sub set_context
-{
- my $self = shift;
- my $new_context; # The context to set
-
- # Figure out whether this is a class or instance method call.
- #
- # We're going to make the assumption that control got here
- # through valid means, i.e., that the caller used an instance
- # or class method call, and that control got here through the
- # usual inheritance mechanisms. The caller can, of course,
- # break this assumption by playing silly buggers, but that's
- # harder to do than doing it properly, and harder to check
- # for.
- if (ref($self) eq "")
- {
- # Class method. The new context is the next argument.
- $new_context = shift;
- } else {
- # Instance method. The new context is $self.
- $new_context = $self;
- }
-
- # Save the old context, if any, on the stack
- push @context_stack, $context if defined($context);
-
- # Set the new context
- $context = $new_context;
-}
-
-=item restore_context
-
- &restore_context;
-
-Restores the context set by C<&set_context>.
-
-=cut
-
-#'
-sub restore_context
-{
- my $self = shift;
-
- if ($#context_stack < 0)
- {
- # Stack underflow.
- die "Context stack underflow";
- }
-
- # Pop the old context and set it.
- $context = pop @context_stack;
-
- # FIXME - Should this return something, like maybe the context
- # that was current when this was called?
-}
-
-=item config
-
- $value = C4::Context->config("config_variable");
-
- $value = C4::Context->config_variable;
-
-Returns the value of a variable specified in the configuration file
-from which the current context was created.
-
-The second form is more compact, but of course may conflict with
-method names. If there is a configuration variable called "new", then
-C<C4::Config-E<gt>new> will not return it.
-
-=cut
-
-#'
-sub config
-{
- my $self = shift;
- my $var = shift; # The config variable to return
-
- return undef if !defined($context->{"config"});
- # Presumably $self->{config} might be
- # undefined if the config file given to &new
- # didn't exist, and the caller didn't bother
- # to check the return value.
-
- # Return the value of the requested config variable
- return $context->{"config"}->{$var};
-}
-=item zebraconfig
-$serverdir=C4::Context->zebraconfig("biblioserver")->{directory};
-
-returns the zebra server specific details for different zebra servers
-similar to C4:Context->config
-=cut
-
-sub zebraconfig
-{
- my $self = shift;
- my $var = shift; # The config variable to return
-
- return undef if !defined($context->{"server"});
- # Return the value of the requested config variable
- return $context->{"server"}->{$var};
-}
-=item preference
-
- $sys_preference = C4::Context->preference("some_variable");
-
-Looks up the value of the given system preference in the
-systempreferences table of the Koha database, and returns it. If the
-variable is not set, or in case of error, returns the undefined value.
-
-=cut
-
-#'
-# FIXME - The preferences aren't likely to change over the lifetime of
-# the script (and things might break if they did change), so perhaps
-# this function should cache the results it finds.
-sub preference
-{
- my $self = shift;
- my $var = shift; # The system preference to return
- my $retval; # Return value
- my $dbh = C4::Context->dbh; # Database handle
- my $sth; # Database query handle
-
- # Look up systempreferences.variable==$var
- $retval = $dbh->selectrow_array(<<EOT);
- SELECT value
- FROM systempreferences
- WHERE variable='$var'
- LIMIT 1
-EOT
- return $retval;
-}
-
-sub boolean_preference ($) {
- my $self = shift;
- my $var = shift; # The system preference to return
- my $it = preference($self, $var);
- return defined($it)? C4::Boolean::true_p($it): undef;
-}
-
-# AUTOLOAD
-# This implements C4::Config->foo, and simply returns
-# C4::Context->config("foo"), as described in the documentation for
-# &config, above.
-
-# FIXME - Perhaps this should be extended to check &config first, and
-# then &preference if that fails. OTOH, AUTOLOAD could lead to crappy
-# code, so it'd probably be best to delete it altogether so as not to
-# encourage people to use it.
-sub AUTOLOAD
-{
- my $self = shift;
-
- $AUTOLOAD =~ s/.*:://; # Chop off the package name,
- # leaving only the function name.
- return $self->config($AUTOLOAD);
-}
-
-=item Zconn
-
-$Zconn = C4::Context->Zconn
-$Zconnauth = C4::Context->Zconnauth
-Returns a connection to the Zebra database for the current
-context. If no connection has yet been made, this method
-creates one and connects.
-
-=cut
-
-sub Zconn {
- my $self = shift;
-my $server=shift;
-my $syntax=shift;
-# if ( defined($context->{"Zconn"}->{$server}) ) {
-# return $context->{"Zconn"}->{$server};
-
- # No connection object or it died. Create one.
-# } else {
- $context->{"Zconn"} = &new_Zconn($server,$syntax);
- return $context->{"Zconn"};
-# }
-}
-
-sub Zconnauth {
- my $self = shift;
-my $server=shift;
-my $syntax=shift;
- my $Zconnauth;
-##We destroy each connection made so create a new one
- $context->{"Zconnauth"} = &new_Zconnauth($server,$syntax);
- return $context->{"Zconnauth"};
-
-}
-
-
-
-=item new_Zconn
-
-Internal helper function. creates a new database connection from
-the data given in the current context and returns it.
-
-=cut
-
-sub new_Zconn {
-use ZOOM;
-my $server=shift;
-my $syntax=shift;
-$syntax="xml" unless $syntax;
-my $Zconn;
-my ($tcp,$host,$port)=split /:/,$context->{"listen"}->{$server}->{"content"};
-my $o = new ZOOM::Options();
-$o->option(async => 1);
-$o->option(preferredRecordSyntax => $syntax); ## in case we use MARC
-$o->option(databaseName=>$context->{"config"}->{$server});
-
-my $o2= new ZOOM::Options();
-
- $Zconn=create ZOOM::Connection($o);
- $Zconn->connect($host,$port);
-
- return $Zconn;
-}
-
-## Zebra handler with write permission
-sub new_Zconnauth {
-use ZOOM;
-my $server=shift;
-my $syntax=shift;
-$syntax="xml" unless $syntax;
-my $Zconnauth;
-my ($tcp,$host,$port)=split /:/,$context->{"listen"}->{$server}->{"content"};
-my $o = new ZOOM::Options();
-#$o->option(async => 1);
-$o->option(preferredRecordSyntax => $syntax);
-$o->option(user=>$context->{"config"}->{"zebrauser"});
-$o->option(password=>$context->{"config"}->{"zebrapass"});
-$o->option(databaseName=>$context->{"config"}->{$server});
- $o->option(charset=>"UTF8");
- $Zconnauth=create ZOOM::Connection($o);
-$Zconnauth->connect($host,$port);
-return $Zconnauth;
-}
-
-## cgi handler
-sub mcgi {
- my $self = shift;
- if (defined($context->{"mcgi"})) {
- return $context->{"mcgi"};
- # No connection object or it died. Create one.
- } else {
-
- $context->{"mcgi"} = &_new_cgi();
- return $context->{"mcgi"};
- }
-}
-## _new_cgi creates a CGI handle
-
-sub _new_cgi{
-my $cgi=CGI->new();
-return $cgi;
-}
-
-# _new_dbh
-# Internal helper function (not a method!). This creates a new
-# database connection from the data given in the current context, and
-# returns it.
-sub _new_dbh
-{
- ##correct name for db_schme
- my $db_driver;
- if ($context->config("db_scheme")){
- $db_driver=db_scheme2dbi($context->config("db_scheme"));
- }else{
- $db_driver="mysql";
- }
-
- my $db_name = $context->config("database");
- my $db_host = $context->config("hostname");
- my $db_user = $context->config("user");
- my $db_passwd = $context->config("pass");
- my $dbh= DBI->connect("DBI:$db_driver:$db_name:$db_host",
- $db_user, $db_passwd);
- # Koha 3.0 is utf-8, so force utf8 communication between mySQL and
koha, whatever the mysql default config.
- $dbh->do("set NAMES 'utf8'");
-
-
- return $dbh;
-}
-
-=item dbh
-
- $dbh = C4::Context->dbh;
-
-Returns a database handle connected to the Koha database for the
-current context. If no connection has yet been made, this method
-creates one, and connects to the database.
-
-This database handle is cached for future use: if you call
-C<C4::Context-E<gt>dbh> twice, you will get the same handle both
-times. If you need a second database handle, use C<&new_dbh> and
-possibly C<&set_dbh>.
-
-=cut
-
-#'
-sub dbh
-{
- my $self = shift;
- if (defined($context->{"dbh"}) && !$ENV{MOD_PERL}) {
- my $sth=$context->{"dbh"}->prepare("select 1");
- return $context->{"dbh"} if (defined($sth->execute));
- }
- $context->{"dbh"} = &_new_dbh();
- return $context->{"dbh"};
-}
-
-=item new_dbh
-
- $dbh = C4::Context->new_dbh;
-
-Creates a new connection to the Koha database for the current context,
-and returns the database handle (a C<DBI::db> object).
-
-The handle is not saved anywhere: this method is strictly a
-convenience function; the point is that it knows which database to
-connect to so that the caller doesn't have to know.
-
-=cut
-
-#'
-sub new_dbh
-{
- my $self = shift;
-
- return &_new_dbh();
-}
-
-=item set_dbh
-
- $my_dbh = C4::Connect->new_dbh;
- C4::Connect->set_dbh($my_dbh);
- ...
- C4::Connect->restore_dbh;
-
-C<&set_dbh> and C<&restore_dbh> work in a manner analogous to
-C<&set_context> and C<&restore_context>.
-
-C<&set_dbh> saves the current database handle on a stack, then sets
-the current database handle to C<$my_dbh>.
-
-C<$my_dbh> is assumed to be a good database handle.
-
-=cut
-
-#'
-sub set_dbh
-{
- my $self = shift;
- my $new_dbh = shift;
-
- # Save the current database handle on the handle stack.
- # We assume that $new_dbh is all good: if the caller wants to
- # screw himself by passing an invalid handle, that's fine by
- # us.
- push @{$context->{"dbh_stack"}}, $context->{"dbh"};
- $context->{"dbh"} = $new_dbh;
-}
-
-=item restore_dbh
-
- C4::Context->restore_dbh;
-
-Restores the database handle saved by an earlier call to
-C<C4::Context-E<gt>set_dbh>.
-
-=cut
-
-#'
-sub restore_dbh
-{
- my $self = shift;
-
- if ($#{$context->{"dbh_stack"}} < 0)
- {
- # Stack underflow
- die "DBH stack underflow";
- }
-
- # Pop the old database handle and set it.
- $context->{"dbh"} = pop @{$context->{"dbh_stack"}};
-
- # FIXME - If it is determined that restore_context should
- # return something, then this function should, too.
-}
-
-=item marcfromkohafield
-
- $dbh = C4::Context->marcfromkohafield;
-
-Returns a hash with marcfromkohafield.
-
-This hash is cached for future use: if you call
-C<C4::Context-E<gt>marcfromkohafield> twice, you will get the same hash
without real DB access
-
-=cut
-
-#'
-sub marcfromkohafield
-{
- my $retval = {};
-
- # If the hash already exists, return it.
- return $context->{"marcfromkohafield"} if
defined($context->{"marcfromkohafield"});
-
- # No hash. Create one.
- $context->{"marcfromkohafield"} = &_new_marcfromkohafield();
-
- return $context->{"marcfromkohafield"};
-}
-
-
-# _new_marcfromkohafield
-# Internal helper function (not a method!).
-sub _new_marcfromkohafield
-{
- my $dbh = C4::Context->dbh;
- my $marcfromkohafield;
- my $sth = $dbh->prepare("select
kohafield,tagfield,tagsubfield,recordtype from koha_attr where tagfield is not
null ");
- $sth->execute;
- while (my ($kohafield,$tagfield,$tagsubfield,$recordtype) =
$sth->fetchrow) {
- my $retval = {};
- $marcfromkohafield->{$recordtype}->{$kohafield} =
[$tagfield,$tagsubfield];
- }
-
- return $marcfromkohafield;
-}
-
-
-#item attrfromkohafield
-#To use as a hash of koha to z3950 attributes
-sub _new_attrfromkohafield
-{
- my $dbh = C4::Context->dbh;
- my $attrfromkohafield;
- my $sth2 = $dbh->prepare("select kohafield,attr from koha_attr" );
- $sth2->execute;
- while (my ($kohafield,$attr) = $sth2->fetchrow) {
- my $retval = {};
- $attrfromkohafield->{$kohafield} = $attr;
- }
- return $attrfromkohafield;
-}
-sub attrfromkohafield
-{
- my $retval = {};
-
- # If the hash already exists, return it.
- return $context->{"attrfromkohafield"} if
defined($context->{"attrfromkohafield"});
-
- # No hash. Create one.
- $context->{"attrfromkohafield"} = &_new_attrfromkohafield();
-
- return $context->{"attrfromkohafield"};
-}
-=item stopwords
-
- $dbh = C4::Context->stopwords;
-
-Returns a hash with stopwords.
-
-This hash is cached for future use: if you call
-C<C4::Context-E<gt>stopwords> twice, you will get the same hash without real
DB access
-
-=cut
-
-#'
-sub stopwords
-{
- my $retval = {};
-
- # If the hash already exists, return it.
- return $context->{"stopwords"} if defined($context->{"stopwords"});
-
- # No hash. Create one.
- $context->{"stopwords"} = &_new_stopwords();
-
- return $context->{"stopwords"};
-}
-
-# _new_stopwords
-# Internal helper function (not a method!). This creates a new
-# hash with stopwords
-sub _new_stopwords
-{
- my $dbh = C4::Context->dbh;
- my $stopwordlist;
- my $sth = $dbh->prepare("select word from stopwords");
- $sth->execute;
- while (my $stopword = $sth->fetchrow_array) {
- my $retval = {};
- $stopwordlist->{$stopword} = uc($stopword);
- }
- $stopwordlist->{A} = "A" unless $stopwordlist;
- return $stopwordlist;
-}
-
-=item userenv
-
- C4::Context->userenv;
-
-Builds a hash for user environment variables.
-
-This hash shall be cached for future use: if you call
-C<C4::Context-E<gt>userenv> twice, you will get the same hash without real DB
access
-
-set_userenv is called in Auth.pm
-
-=cut
-
-#'
-sub userenv
-{
- my $var = $context->{"activeuser"};
- return $context->{"userenv"}->{$var} if (defined
$context->{"userenv"}->{$var});
- return 0;
- warn "NO CONTEXT for $var";
-}
-
-=item set_userenv
-
- C4::Context->set_userenv($usernum, $userid, $usercnum, $userfirstname,
$usersurname, $userbranch, $userflags, $emailaddress);
-
-Informs a hash for user environment variables.
-
-This hash shall be cached for future use: if you call
-C<C4::Context-E<gt>userenv> twice, you will get the same hash without real DB
access
-
-set_userenv is called in Auth.pm
-
-=cut
-#'
-sub set_userenv{
- my ($usernum, $userid, $usercnum, $userfirstname, $usersurname,
$userbranch, $branchname, $userflags, $emailaddress,$branchprinter)= @_;
- my $var=$context->{"activeuser"};
- my $cell = {
- "number" => $usernum,
- "id" => $userid,
- "cardnumber" => $usercnum,
-# "firstname" => $userfirstname,
-# "surname" => $usersurname,
-#possibly a law problem
- "branch" => $userbranch,
- "branchname" => $branchname,
- "flags" => $userflags,
- "emailaddress" => $emailaddress,
- "branchprinter" => $branchprinter,
- };
- $context->{userenv}->{$var} = $cell;
- return $cell;
-}
-
-=item _new_userenv
-
- C4::Context->_new_userenv($session);
-
-Builds a hash for user environment variables.
-
-This hash shall be cached for future use: if you call
-C<C4::Context-E<gt>userenv> twice, you will get the same hash without real DB
access
-
-_new_userenv is called in Auth.pm
-
-=cut
-
-#'
-sub _new_userenv
-{
- shift;
- my ($sessionID)= @_;
- $context->{"activeuser"}=$sessionID;
-}
-
-=item _unset_userenv
-
- C4::Context->_unset_userenv;
-
-Destroys the hash for activeuser user environment variables.
-
-=cut
-#'
-
-sub _unset_userenv
-{
- my ($sessionID)= @_;
- undef $context->{"activeuser"} if ($context->{"activeuser"} eq
$sessionID);
-}
-
-
-
-1;
-__END__
-
-=back
-
-=head1 ENVIRONMENT
-
-=over 4
-
-=item C<KOHA_CONF>
-
-Specifies the configuration file to read.
-
-=back
-
-=head1 SEE ALSO
-
-DBI(3)
-
-=head1 AUTHOR
-
-Andrew Arensburger <arensb at ooblick dot com>
-
-=cut
-# $Log: Context.pm,v $
-# Revision 1.1.2.1 2007/03/10 01:35:34 tgarip1957
-# fresh files for rel_TG
-#
-# Revision 1.50 2006/11/06 21:01:43 tgarip1957
-# Bug fixing and complete removal of Date::Manip
-#
-# Revision 1.49 2006/10/20 01:20:56 tgarip1957
-# A new Date.pm to use for all date calculations. Mysql date calculations
removed from Circ2.pm, all modules free of DateManip, a new get_today function
to call in allscripts, and some bug cleaning in authorities.pm
-#
-# Revision 1.48 2006/10/01 21:48:54 tgarip1957
-# Field weighting applied to ranked searches. A new facets table in mysql db
-#
-# Revision 1.47 2006/09/27 19:53:52 tgarip1957
-# Finalizing main components. All koha modules are now working with the new
XML API
-#
-# Revision 1.46 2006/09/06 16:21:03 tgarip1957
-# Clean up before final commits
-#
-# Revision 1.43 2006/08/10 12:49:37 toins
-# sync with dev_week.
-#
-# Revision 1.42 2006/07/04 14:36:51 toins
-# Head & rel_2_2 merged
-#
-# Revision 1.41 2006/05/20 14:36:09 tgarip1957
-# Typo error. Missing '>'
-#
-# Revision 1.40 2006/05/20 14:28:02 tgarip1957
-# Adding support to read zebra database name from config files
-#
-# Revision 1.39 2006/05/19 09:52:54 alaurin
-# committing new feature ip and printer management
-# adding two fields in branches table (branchip,branchprinter)
-#
-# branchip : if the library enter an ip or ip range any librarian that connect
from computer in this ip range will be temporarly affected to the corresponding
branch .
-#
-# branchprinter : the library can select a default printer for a branch
-#
-# Revision 1.38 2006/05/14 00:22:31 tgarip1957
-# Adding support for getting details of different zebra servers
-#
-# Revision 1.37 2006/05/13 19:51:39 tgarip1957
-# Now reads koha.xml rather than koha.conf.
-# koha.xml contains both the koha configuration and zebraserver configuration.
-# Zebra connection is modified to allow connection to authority zebra as well.
-# It will break head if koha.conf is not replaced with koha.xml
-#
-# Revision 1.36 2006/05/09 13:28:08 tipaul
-# adding the branchname and the librarian name in every page :
-# - modified userenv to add branchname
-# - modifier menus.inc to have the librarian name & userenv displayed on every
page. they are in a librarian_information div.
-#
-# Revision 1.35 2006/04/13 08:40:11 plg
-# bug fixed: typo on Zconnauth name
-#
-# Revision 1.34 2006/04/10 21:40:23 tgarip1957
-# A new handler defined for zebra Zconnauth with read/write permission.
Zconnauth should only be called in biblio.pm where write operations are. Use of
this handler will break things unless koha.conf contains new variables:
-# zebradb=localhost
-# zebraport=<your port>
-# zebrauser=<username>
-# zebrapass=<password>
-#
-# The zebra.cfg file should read:
-# perm.anonymous:r
-# perm.username:rw
-# passw.c:<yourpasswordfile>
-#
-# Password file should be prepared with Apaches htpasswd utility in encrypted
mode and should exist in a folder zebra.cfg can read
-#
-# Revision 1.33 2006/03/15 11:21:56 plg
-# bug fixed: utf-8 data where not displayed correctly in screens. Supposing
-# your data are truely utf-8 encoded in your database, they should be
-# correctly displayed. "set names 'UTF8'" on mysql connection (C4/Context.pm)
-# is mandatory and "binmode" to utf8 (C4/Interface/CGI/Output.pm) seemed to
-# converted data twice, so it was removed.
-#
-# Revision 1.32 2006/03/03 17:25:01 hdl
-# Bug fixing : a line missed a comment sign.
-#
-# Revision 1.31 2006/03/03 16:45:36 kados
-# Remove the search that tests the Zconn -- warning, still no fault
-# tollerance
-#
-# Revision 1.30 2006/02/22 00:56:59 kados
-# First go at a connection object for Zebra. You can now get a
-# connection object by doing:
-#
-# my $Zconn = C4::Context->Zconn;
-#
-# My initial tests indicate that as soon as your funcion ends
-# (ie, when you're done doing something) the connection will be
-# closed automatically. There may be some other way to make the
-# connection more stateful, I'm not sure...
-#
-# Local Variables:
-# tab-width: 4
-# End:
Index: modules/C4/Date-new.pm
===================================================================
RCS file: modules/C4/Date-new.pm
diff -N modules/C4/Date-new.pm
--- modules/C4/Date-new.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,232 +0,0 @@
-#!/usr/bin/perl
-## written by T Garip 2006-10-10 address@hidden
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-# $Id: Date-new.pm,v 1.1.2.1 2007/03/10 01:35:34 tgarip1957 Exp $
-
-package C4::Date;
-
-use strict;
-use C4::Context;
-use Date::Calc qw(:all);
-
-require Exporter;
-
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-
-$VERSION = do { my @v = '$Revision: 1.1.2.1 $' =~ /\d+/g; shift(@v) . "." .
join( "_", map { sprintf "%03d", $_ } @v ); };
-
address@hidden = qw(Exporter);
-
address@hidden = qw(
- &display_date_format
- &format_date
- &format_date_in_iso
- &get_date_format_string_for_DHTMLcalendar
- &DATE_diff &DATE_Add
-&get_today
-&DATE_subtract
-);
-
-sub get_date_format {
-
- #Get the database handle
- my $dbh = C4::Context->dbh;
- return C4::Context->preference('dateformat');
-}
-
-sub display_date_format {
- my $dateformat = get_date_format();
-
- if ( $dateformat eq "us" ) {
- return "mm/dd/yyyy";
- }
- elsif ( $dateformat eq "metric" ) {
- return "dd/mm/yyyy";
- }
- elsif ( $dateformat eq "iso" ) {
- return "yyyy-mm-dd";
- }
- else {
- return
-"Invalid date format: $dateformat. Please change in system preferences";
- }
-}
-
-sub get_date_format_string_for_DHTMLcalendar {
- my $dateformat = get_date_format();
-
- if ( $dateformat eq 'us' ) {
- return '%m/%d/%Y';
- }
- elsif ( $dateformat eq 'metric' ) {
- return '%d/%m/%Y';
- }
- elsif ( $dateformat eq "iso" ) {
- return '%Y-%m-%d';
- }
- else {
- return 'Invalid date format: '
- . $dateformat . '.'
- . ' Please change in system preferences';
- }
-}
-
-sub format_date
-{
- my $olddate = shift;
- my $newdate;
-
- if ( ! $olddate )
- {
- return "";
- }
-
-# warn $olddate;
-# $olddate=~s#/|\.|-##g;
- my ($year,$month,$day)=Parse_Date($olddate);
- ($year,$month,$day)=split /-|\/|\.|:/,$olddate unless ($year && $month);
-# warn "$olddate annee $year mois $month jour $day";
- if ($year>0 && $month>0){
- my $dateformat = get_date_format();
-# $dateformat="metric" if (index(":",$olddate)>0);
- if ( $dateformat eq "us" )
- {
- $newdate = sprintf("%02d/%02d/%04d",$month,$day,$year);
- }
- elsif ( $dateformat eq "metric" )
- {
- $newdate = sprintf("%02d/%02d/%04d",$day,$month,$year);
- }
- elsif ( $dateformat eq "iso" )
- {
- # Date_Init("DateFormat=iso");
- $newdate = sprintf("%04d-%02d-%02d",$year,$month,$day);
- }
- else
- {
- return "Invalid date format: $dateformat. Please change in system
preferences";
- }
-# warn "newdate :$newdate";
- }
- return $newdate;
-}
-
-
-sub format_date_in_iso
-{
- my $olddate = shift;
- my $newdate;
-
- if ( ! $olddate )
- {
- return "";
- }
- if (check_whether_iso($olddate)){
- return $olddate;
- } else {
- my $dateformat = get_date_format();
- my ($year,$month,$day);
- my @date;
- my $tmpolddate=$olddate;
- $tmpolddate=~s#/|\.|-|\\##g;
- $dateformat="metric" if (index(":",$olddate)>0);
- if ( $dateformat eq "us" )
- {
- ($month,$day,$year)=split /-|\/|\.|:/,$olddate unless ($year &&
$month);
- if ($month>0 && $day >0){
- @date = Decode_Date_US($tmpolddate);
- } else {
- @date=($year, $month,$day)
- }
- }
- elsif ( $dateformat eq "metric" )
- {
- ($day,$month,$year)=split /-|\/|\.|:/,$olddate unless ($year &&
$month);
- if ($month>0 && $day >0){
- @date = Decode_Date_EU($tmpolddate);
- } else {
- @date=($year, $month,$day)
- }
- }
- elsif ( $dateformat eq "iso" )
- {
- ($year,$month,$day)=split /-|\/|\.|:/,$olddate unless ($year &&
$month);
- if ($month>0 && $day >0){
- @date=($year, $month,$day) if (check_date($year,$month,$day));
- } else {
- @date=($year, $month,$day)
- }
- }
- else
- {
- return "9999-99-99";
- }
- $newdate = sprintf("%04d-%02d-%02d",$date[0],$date[1],$date[2]);
- return $newdate;
- }
-}
-
-sub check_whether_iso
-{
- my $olddate = shift;
- my @olddate= split /\-/,$olddate ;
- return 1 if (length($olddate[0])==4 && length($olddate[1])<=2 &&
length($olddate[2])<=2);
- return 0;
-}
-
-sub get_today{
-my ($year,$month,$day)=Today();
-return sprintf("%04d-%02d-%02d",$year,$month,$day);
-}
-
-###Utility functions for serials management
-sub DATE_diff {
-## returns 1 if date1>date2 0 if date1==date2 -1 if date1<date2
-my ($date1,$date2)address@hidden;
-my ($year1,$month1,$day1)=Parse_Date($date1);
-my ($year2,$month2,$day2)=Parse_Date($date2);
-return Delta_Days($year1,$month1,$day1, $year2,$month2,$day2)
-}
-
-sub DATE_Add {
-## $amount in days
-my ($date,$amount)address@hidden;
-my ($year,$month,$day)=Parse_Date($date);
-($year,$month,$day) = Add_Delta_Days($year,$month,$day, $amount);
-return sprintf("%04d-%02d-%02d",$year,$month,$day);
-}
-
-
-
-
-
-
-
-
-sub DATE_subtract{
-my ($date1,$date2)address@hidden;
-my ($year1,$month1,$day1)=Parse_Date($date1);
-my ($year2,$month2,$day2)=Parse_Date($date2);
-my $lower = Date_to_Days($year1,$month1,$day1);
- my $upper = Date_to_Days($year2,$month2,$day2);
-
-return ($lower-$upper);
-}
-1;
-__END__
Index: modules/C4/Date.pm
===================================================================
RCS file: modules/C4/Date.pm
diff -N modules/C4/Date.pm
--- modules/C4/Date.pm 11 Mar 2007 20:03:27 -0000 1.1.2.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,232 +0,0 @@
-#!/usr/bin/perl
-## written by T Garip 2006-10-10 address@hidden
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-# $Id: Date.pm,v 1.1.2.2 2007/03/11 20:03:27 tgarip1957 Exp $
-##changed to use Date::Calc
-package C4::Date;
-
-use strict;
-use C4::Context;
-use Date::Calc qw(:all);
-
-require Exporter;
-
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-
-$VERSION = do { my @v = '$Revision: 1.1.2.2 $' =~ /\d+/g; shift(@v) . "." .
join( "_", map { sprintf "%03d", $_ } @v ); };
-
address@hidden = qw(Exporter);
-
address@hidden = qw(
- &display_date_format
- &format_date
- &format_date_in_iso
- &get_date_format_string_for_DHTMLcalendar
- &DATE_diff &DATE_Add
-&get_today
-&DATE_subtract
-);
-
-sub get_date_format {
-
- #Get the database handle
- my $dbh = C4::Context->dbh;
- return C4::Context->preference('dateformat');
-}
-
-sub display_date_format {
- my $dateformat = get_date_format();
-
- if ( $dateformat eq "us" ) {
- return "mm/dd/yyyy";
- }
- elsif ( $dateformat eq "metric" ) {
- return "dd/mm/yyyy";
- }
- elsif ( $dateformat eq "iso" ) {
- return "yyyy-mm-dd";
- }
- else {
- return
-"Invalid date format: $dateformat. Please change in system preferences";
- }
-}
-
-sub get_date_format_string_for_DHTMLcalendar {
- my $dateformat = get_date_format();
-
- if ( $dateformat eq 'us' ) {
- return '%m/%d/%Y';
- }
- elsif ( $dateformat eq 'metric' ) {
- return '%d/%m/%Y';
- }
- elsif ( $dateformat eq "iso" ) {
- return '%Y-%m-%d';
- }
- else {
- return 'Invalid date format: '
- . $dateformat . '.'
- . ' Please change in system preferences';
- }
-}
-
-sub format_date
-{
- my $olddate = shift;
- my $newdate;
-
- if ( ! $olddate )
- {
- return "";
- }
-
-# warn $olddate;
-# $olddate=~s#/|\.|-##g;
- my ($year,$month,$day)=Parse_Date($olddate);
- ($year,$month,$day)=split /-|\/|\.|:/,$olddate unless ($year && $month);
-# warn "$olddate annee $year mois $month jour $day";
- if ($year>0 && $month>0){
- my $dateformat = get_date_format();
-# $dateformat="metric" if (index(":",$olddate)>0);
- if ( $dateformat eq "us" )
- {
- $newdate = sprintf("%02d/%02d/%04d",$month,$day,$year);
- }
- elsif ( $dateformat eq "metric" )
- {
- $newdate = sprintf("%02d/%02d/%04d",$day,$month,$year);
- }
- elsif ( $dateformat eq "iso" )
- {
- # Date_Init("DateFormat=iso");
- $newdate = sprintf("%04d-%02d-%02d",$year,$month,$day);
- }
- else
- {
- return "Invalid date format: $dateformat. Please change in system
preferences";
- }
-# warn "newdate :$newdate";
- }
- return $newdate;
-}
-
-
-sub format_date_in_iso
-{
- my $olddate = shift;
- my $newdate;
-
- if ( ! $olddate )
- {
- return "";
- }
- if (check_whether_iso($olddate)){
- return $olddate;
- } else {
- my $dateformat = get_date_format();
- my ($year,$month,$day);
- my @date;
- my $tmpolddate=$olddate;
- $tmpolddate=~s#/|\.|-|\\##g;
- $dateformat="metric" if (index(":",$olddate)>0);
- if ( $dateformat eq "us" )
- {
- ($month,$day,$year)=split /-|\/|\.|:/,$olddate unless ($year &&
$month);
- if ($month>0 && $day >0){
- @date = Decode_Date_US($tmpolddate);
- } else {
- @date=($year, $month,$day)
- }
- }
- elsif ( $dateformat eq "metric" )
- {
- ($day,$month,$year)=split /-|\/|\.|:/,$olddate unless ($year &&
$month);
- if ($month>0 && $day >0){
- @date = Decode_Date_EU($tmpolddate);
- } else {
- @date=($year, $month,$day)
- }
- }
- elsif ( $dateformat eq "iso" )
- {
- ($year,$month,$day)=split /-|\/|\.|:/,$olddate unless ($year &&
$month);
- if ($month>0 && $day >0){
- @date=($year, $month,$day) if (check_date($year,$month,$day));
- } else {
- @date=($year, $month,$day)
- }
- }
- else
- {
- return "9999-99-99";
- }
- $newdate = sprintf("%04d-%02d-%02d",$date[0],$date[1],$date[2]);
- return $newdate;
- }
-}
-
-sub check_whether_iso
-{
- my $olddate = shift;
- my @olddate= split /\-/,$olddate ;
- return 1 if (length($olddate[0])==4 && length($olddate[1])<=2 &&
length($olddate[2])<=2);
- return 0;
-}
-
-sub get_today{
-my ($year,$month,$day)=Today();
-return sprintf("%04d-%02d-%02d",$year,$month,$day);
-}
-
-###Utility functions for serials management
-sub DATE_diff {
-## returns 1 if date1>date2 0 if date1==date2 -1 if date1<date2
-my ($date1,$date2)address@hidden;
-my ($year1,$month1,$day1)=Parse_Date($date1);
-my ($year2,$month2,$day2)=Parse_Date($date2);
-return Delta_Days($year1,$month1,$day1, $year2,$month2,$day2)
-}
-
-sub DATE_Add {
-## $amount in days
-my ($date,$amount)address@hidden;
-my ($year,$month,$day)=Parse_Date($date);
-($year,$month,$day) = Add_Delta_Days($year,$month,$day, $amount);
-return sprintf("%04d-%02d-%02d",$year,$month,$day);
-}
-
-
-
-
-
-
-
-
-sub DATE_subtract{
-my ($date1,$date2)address@hidden;
-my ($year1,$month1,$day1)=Parse_Date($date1);
-my ($year2,$month2,$day2)=Parse_Date($date2);
-my $lower = Date_to_Days($year1,$month1,$day1);
- my $upper = Date_to_Days($year2,$month2,$day2);
-
-return ($lower-$upper);
-}
-1;
-__END__
Index: modules/C4/Format.pm
===================================================================
RCS file: modules/C4/Format.pm
diff -N modules/C4/Format.pm
--- modules/C4/Format.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,232 +0,0 @@
-package C4::Format;
-
-# $Id: Format.pm,v 1.1.2.1 2007/03/10 01:35:34 tgarip1957 Exp $
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-use strict;
-require Exporter;
-
-
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = 0.01;
-
-=head1 NAME
-
-C4::Format - Functions for pretty-printing strings and numbers
-
-=head1 SYNOPSIS
-
- use C4::Format;
-
-=head1 DESCRIPTION
-
-These functions return pretty-printed versions of strings and numbers.
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
address@hidden = qw(Exporter);
address@hidden = qw(&fmtstr &fmtdec);
-
-=item fmtstr
-
- $str = &fmtstr($env, $string, $format);
-
-Returns C<$string>, padded with space to a given length.
-
-C<$format> is either C<Ln> or C<Rn>, where I<n> is a positive integer.
-C<$str> will be either left-padded or right-padded, respectively.
-
-C<&fmtstr> is almost equivalent to
-
- sprintf("%-n.ns", $string);
-
-or
-
- sprintf("%n.ns", $string);
-
-The only difference is that if I<n> is less than the length of
-C<$string>, then C<&fmtstr> will return the last I<n> characters of
-C<$string>, whereas C<sprintf> will return the first I<n> characters.
-
-C<$env> is ignored.
-
-=cut
-#'
-sub fmtstr {
- # format (space pad) a string
- # $fmt is Ln.. or Rn.. where n is the length
- my ($env,$strg,$fmt)address@hidden;
- my $align = substr($fmt,0,1);
- my $lenst = substr($fmt,1,length($fmt)-1);
- if ($align eq"R" ) {
- $strg = substr((" "x$lenst).$strg,0-$lenst,$lenst);
- } elsif ($align eq "C" ) {
- $strg =
- substr((" "x(($lenst/2)-(length($strg)/2))).$strg.("
"x$lenst),0,$lenst);
- } else {
- $strg = substr($strg.(" "x$lenst),0,$lenst);
- }
- return ($strg);
-}
-
-=item fmtdec
-
- $str = &fmtdec($env, $number, $format)
-
-Returns a pretty-printed version of C<$number>.
-
-C<$format> specifies how to print the number. It is of the form
-
- [$][,]n[m]
-
-where I<n> and I<m> are digits, specifying the number of digits to use
-before and after the decimal, respectively. Thus,
-
- &fmtdec(undef, 123.456, "42")
-
-will return
-
- " 123.45"
-
-If I<n> is smaller than the size of the integer part, only the last
-I<n> digits will be returned. If I<m> is greater than the number of
-digits after the decimal in C<$number>, the result will be
-right-padded with zeros.
-
-If C<$format> has a leading dollar sign, the number is assumed to be a
-monetary amount. C<$str> will have a dollar sign prepended to the
-value.
-
-If C<$format> has a comma after the optional dollar sign, the integer
-part will be split into three-digit groups separated by commas.
-
-C<$env> is effectively ignored.
-
-=cut
-#'
-# FIXME - This is all terribly provincial, not at all
-# internationalized. I'm pretty sure there's already something out
-# there that'll figure out the current locale, look up the local
-# currency symbol (and whether it goes on the left or right), figure
-# out how numbers are grouped (commas, periods, or what? And how many
-# digits per group?), and will print the whole thing prettily.
-# But I can't find it just now. Maybe POSIX::setlocale() or
-# perllocale(1) might help.
-# FIXME - Bug:
-# fmtdec(undef, 12345.6, ',82') prints " 345.60"
-# fmtdec(undef, 12345.6, '$,82') prints ".60"
-sub fmtdec {
- # format a decimal
- # $fmt is [$][,]n[m]
- my ($env,$numb,$fmt)address@hidden;
-
- # FIXME - Use $fmt =~ /^(\$)?(,)?(\d)(\d)?$/ instead of this mess of
- # substr()s.
-
- # See if there's a leading dollar sign.
- my $curr = substr($fmt,0,1);
- if ($curr eq "\$") {
- $fmt = substr($fmt,1,length($fmt)-1);
- };
- # See if there's a leading comma
- my $comma = substr($fmt,0,1);
- if ($comma eq ",") {
- $fmt = substr($fmt,1,length($fmt)-1);
- };
- # See whether one number was given, or two.
- my $right;
- my $left = substr($fmt,0,1);
- if (length($fmt) == 1) {
- $right = 0;
- } else {
- $right = substr($fmt,1,1);
- }
- # See if $numb is a floating-point number.
- my $fnumb = "";
- my $tempint = "";
- my $tempdec = "";
- # FIXME - Use
- # $numb =~ /(\d+)\.(\d+)/;
- # $tempint = $1 + 0;
- # $tempdec = $2;
- if (index($numb,".") == 0 ){
- $tempint = 0;
- $tempdec = substr($numb,1,length($numb)-1);
- } else {
- if (index($numb,".") > 0) {
- my $decpl = index($numb,".");
- $tempint = substr($numb,0,$decpl);
- $tempdec = substr($numb,$decpl+1,length($numb)-1-$decpl);
- } else {
- $tempint = $numb;
- $tempdec = 0;
- }
- # If a comma was specified, then comma-separate the integer part
- # FIXME - From the Perl Cookbook (ISBN 1-56592-243-3), sec. 2.1.7:
- # sub commify {
- # my $test = reverse $_[0];
- # $text =~ s/(\d\d\d)(?=\d)(?!\d*\.)/$1,/g;
- # return scalar reverse $text;
- # }
- if ($comma eq ",") {
- while (length($tempdec) > 3) {
- $fnumb = ",".substr($tempint,-3,3).$fnumb;
- substr($tempint,-3,3) = "";
- }
- $fnumb = substr($tempint,-3,3).$fnumb;
- } else {
- $fnumb = $tempint;
- }
- }
- # If a dollar sign was specified, prepend a dollar sign and
- # right-justify the number
- if ($curr eq "\$") {
- $fnumb = fmtstr($env,$curr.$fnumb,"R".$left+1);
- } else {
- if ($left==0) {
- $fnumb = "";
- } else {
- $fnumb = fmtstr($env,$fnumb,"R".$left);
- }
- }
- # Right-pad the decimal part to the given number of digits.
- if ($right > 0) {
- $tempdec .= "0"x$right;
- $tempdec = substr($tempdec,0,$right);
- $fnumb .= ".".$tempdec;
- }
- return $fnumb; # FIXME - Shouldn't return a list.
-}
-
-1;
-__END__
-
-=back
-
-=head1 AUTHOR
-
-Koha Developement team <address@hidden>
-
-=cut
Index: modules/C4/Input.pm
===================================================================
RCS file: modules/C4/Input.pm
diff -N modules/C4/Input.pm
--- modules/C4/Input.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,220 +0,0 @@
-package C4::Input; #assumes C4/Input
-
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-use strict;
-require Exporter;
-use C4::Context;
-
-use vars qw($VERSION @ISA @EXPORT);
-
-# set the version for version checking
-$VERSION = 0.01;
-
-=head1 NAME
-
-C4::Input - Miscellaneous sanity checks
-
-=head1 SYNOPSIS
-
- use C4::Input;
-
-=head1 DESCRIPTION
-
-This module provides functions to see whether a given library card
-number or ISBN is valid.
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
address@hidden = qw(Exporter);
address@hidden = qw(
- &checkdigit &checkvalidisbn
- &buildCGIsort
-);
-
-# FIXME - This is never used.
-#sub checkflds {
-# my ($env,$reqflds,$data) = @_;
-# my $numrflds = @$reqflds;
-# my @probarr;
-# my $i = 0;
-# while ($i < $numrflds) {
-# if ($data->address@hidden eq "") {
-# push(@probarr, @$reqflds[$i]);
-# }
-# $i++
-# }
-# return (address@hidden);
-#}
-
-=item checkdigit
-
- $valid = &checkdigit($env, $cardnumber $nounique);
-
-Takes a card number, computes its check digit, and compares it to the
-checkdigit at the end of C<$cardnumber>. Returns a true value iff
-C<$cardnumber> has a valid check digit.
-
-C<$env> is ignored.
-
-=cut
-#'
-sub checkdigit {
-
- my ($env,$infl, $nounique) = @_;
- $infl = uc $infl;
-
-
- #Check to make sure the cardnumber is unique
-
- #FIXME: We should make the error for a nonunique cardnumber
- #different from the one where the checkdigit on the number is
- #not correct
-
- unless ( $nounique )
- {
- my $dbh=C4::Context->dbh;
- my $query=qq{SELECT * FROM borrowers WHERE cardnumber=?};
- my $sth=$dbh->prepare($query);
- $sth->execute($infl);
- my %results = $sth->fetchrow_hashref();
- if ( $sth->rows != 0 )
- {
- return 0;
- }
- }
- if (C4::Context->preference("checkdigit") eq "none") {
- return 1;
- }
-
- my @weightings = (8,4,6,3,5,2,1);
- my $sum;
- my $i = 1;
- my $valid = 0;
-
- foreach $i (1..7) {
- my $temp1 = $weightings[$i-1];
- my $temp2 = substr($infl,$i,1);
- $sum += $temp1 * $temp2;
- }
- my $rem = ($sum%11);
- if ($rem == 10) {
- $rem = "X";
- }
- if ($rem eq substr($infl,8,1)) {
- $valid = 1;
- }
- return $valid;
-} # sub checkdigit
-
-=item checkvalidisbn
-
- $valid = &checkvalidisbn($isbn);
-
-Returns a true value iff C<$isbn> is a valid ISBN: it must be ten
-digits long (counting "X" as a digit), and must have a valid check
-digit at the end.
-
-=cut
-#'
-#--------------------------------------
-# Determine if a number is a valid ISBN number, according to length
-# of 10 digits and valid checksum
-sub checkvalidisbn {
- use strict;
- my ($q)address@hidden ; # Input: ISBN number
-
- my $isbngood = 0; # Return: true or false
-
- $q=~s/x$/X/g; # upshift lower case X
- $q=~s/[^X\d]//g;
- $q=~s/X.//g;
-
- #return 0 if $q is not ten digits long
- if (length($q)!=10) {
- return 0;
- }
-
- #If we get to here, length($q) must be 10
- my $checksum=substr($q,9,1);
- my $isbn=substr($q,0,9);
- my $i;
- my $c=0;
- for ($i=0; $i<9; $i++) {
- my $digit=substr($q,$i,1);
- $c+=$digit*(10-$i);
- }
- $c %= 11;
- ($c==10) && ($c='X');
- $isbngood = $c eq $checksum;
- return $isbngood;
-
-} # sub checkvalidisbn
-
-=item buildCGISort
-
- $CGIScrollingList = &BuildCGISort($name string, $input_name string);
-
-Returns the scrolling list with name $input_name, built on authorised Values
named $name.
-Returns NULL if no authorised values found
-
-=cut
-sub buildCGIsort {
- use strict;
- my ($name,$input_name,$data) = @_;
- my $dbh=C4::Context->dbh;
- my $query=qq{SELECT * FROM authorised_values WHERE category=? order by
lib};
- my $sth=$dbh->prepare($query);
- $sth->execute($name);
- my $CGISort;
- if ($sth->rows>0){
- my @values;
- my %labels;
- for (my $i =0;$i<=$sth->rows;$i++){
- my $results = $sth->fetchrow_hashref;
- push @values, $results->{authorised_value};
- $labels{$results->{authorised_value}}=$results->{lib};
- }
- $CGISort= CGI::scrolling_list(
- -name => $input_name,
- -values => address@hidden,
- -labels => \%labels,
- -default=> $data,
- -size => 1,
- -multiple => 0);
- }
- $sth->finish;
- return $CGISort;
-}
-END { } # module clean-up code here (global destructor)
-
-1;
-__END__
-
-=back
-
-=head1 AUTHOR
-
-Koha Developement team <address@hidden>
-
-=cut
Index: modules/C4/Koha.pm
===================================================================
RCS file: modules/C4/Koha.pm
diff -N modules/C4/Koha.pm
--- modules/C4/Koha.pm 10 Mar 2007 01:35:34 -0000 1.1.2.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,961 +0,0 @@
-package C4::Koha;
-
-# Copyright 2000-2002 Katipo Communications
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-# $Id: Koha.pm,v 1.1.2.1 2007/03/10 01:35:34 tgarip1957 Exp $
-
-use strict;
-require Exporter;
-use C4::Context;
-use C4::Biblio;
-use CGI;
-use vars qw($VERSION @ISA @EXPORT);
-
-$VERSION = do { my @v = '$Revision: 1.1.2.1 $' =~ /\d+/g; shift(@v) . "." .
join("_", map {sprintf "%03d", $_ } @v); };
-
-=head1 NAME
-
-C4::Koha - Perl Module containing convenience functions for Koha scripts
-
-=head1 SYNOPSIS
-
- use C4::Koha;
-
-
-=head1 DESCRIPTION
-
-Koha.pm provides many functions for Koha scripts.
-
-=head1 FUNCTIONS
-
-=over 2
-
-=cut
-
address@hidden = qw(Exporter);
address@hidden = qw(
- &subfield_is_koha_internal_p
- &GetBranches &getbranch &getbranchdetail
- &getprinters &getprinter
- &GetItemTypes &getitemtypeinfo &ItemType
- get_itemtypeinfos_of
- &getframeworks &getframeworkinfo
- &getauthtypes &getauthtype
- &getallthemes &getalllanguages
- &GetallBranches &getletters
- &getbranchname
- getnbpages
- getitemtypeimagedir
- getitemtypeimagesrc
- getitemtypeimagesrcfromurl
- &getcities
- &getroadtypes
- get_branchinfos_of
- get_notforloan_label_of
- get_infos_of
- &getFacets
-
- $DEBUG);
-
-use vars qw();
-
-my $DEBUG = 0;
-
-# FIXME.. this should be moved to a MARC-specific module
-sub subfield_is_koha_internal_p {
- my($subfield) = @_;
-
- # We could match on 'lib' and 'tab' (and 'mandatory', & more to come!)
- # But real MARC subfields are always single-character
- # so it really is safer just to check the length
-
- return length $subfield != 1;
-}
-
-=head2 GetBranches
-
- $branches = &GetBranches();
- returns informations about branches.
- Create a branch selector with the following code
- Is branchIndependant sensitive
- When IndependantBranches is set AND user is not superlibrarian, displays
only user's branch
-
-=head3 in PERL SCRIPT
-
-my $branches = GetBranches;
-my @branchloop;
-foreach my $thisbranch (sort keys %$branches) {
- my $selected = 1 if $thisbranch eq $branch;
- my %row =(value => $thisbranch,
- selected => $selected,
- branchname => $branches->{$thisbranch}->{'branchname'},
- );
- push @branchloop, \%row;
-}
-
-
-=head3 in TEMPLATE
- <select name="branch">
- <option value="">Default</option>
- <!-- TMPL_LOOP name="branchloop" -->
- <option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF
name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="branchname"
--></option>
- <!-- /TMPL_LOOP -->
- </select>
-
-=cut
-
-sub GetBranches {
-# returns a reference to a hash of references to branches...
- my ($type) = @_;
- my %branches;
- my $branch;
- my $dbh = C4::Context->dbh;
- my $sth;
- if (C4::Context->preference("IndependantBranches") &&
(C4::Context->userenv->{flags}!=1)){
- my $strsth ="Select * from branches ";
- $strsth.= " WHERE branchcode =
".$dbh->quote(C4::Context->userenv->{branch});
- $strsth.= " order by branchname";
- $sth=$dbh->prepare($strsth);
- } else {
- $sth = $dbh->prepare("Select * from branches order by branchname");
- }
- $sth->execute;
- while ($branch=$sth->fetchrow_hashref) {
- my $nsth = $dbh->prepare("select categorycode from branchrelations
where branchcode = ?");
- if ($type){
- $nsth = $dbh->prepare("select categorycode from branchrelations
where branchcode = ? and categorycode = ?");
- $nsth->execute($branch->{'branchcode'},$type);
- } else {
- $nsth = $dbh->prepare("select categorycode from
branchrelations where branchcode = ? ");
-
- $nsth->execute($branch->{'branchcode'});
- }
- while (my ($cat) = $nsth->fetchrow_array) {
- # FIXME - This seems wrong. It ought to be
- # $branch->{categorycodes}{$cat} = 1;
- # otherwise, there's a namespace collision if there's a
- # category with the same name as a field in the 'branches'
- # table (i.e., don't create a category called "issuing").
- # In addition, the current structure doesn't really allow
- # you to list the categories that a branch belongs to:
- # you'd have to list keys %$branch, and remove those keys
- # that aren't fields in the "branches" table.
- $branch->{$cat} = 1;
- }
- $branches{$branch->{'branchcode'}}=$branch;
-}
- return (\%branches);
-}
-
-sub getbranchname {
- my ($branchcode)address@hidden;
- my $dbh = C4::Context->dbh;
- my $sth;
- $sth = $dbh->prepare("Select branchname from branches where
branchcode=?");
- $sth->execute($branchcode);
- my $branchname = $sth->fetchrow_array;
- $sth->finish;
-
- return($branchname);
-}
-
-=head2 getallbranches
-
- @branches = &GetallBranches();
- returns informations about ALL branches.
- Create a branch selector with the following code
- IndependantBranches Insensitive...
-
-
-=cut
-
-
-sub GetallBranches {
-# returns an array to ALL branches...
- my @branches;
- my $dbh = C4::Context->dbh;
- my $sth;
- $sth = $dbh->prepare("Select * from branches order by branchname");
- $sth->execute;
- while (my $branch=$sth->fetchrow_hashref) {
- push @branches,$branch;
- }
- return (@branches);
-}
-
-=head2 getletters
-
- $letters = &getletters($category);
- returns informations about letters.
- if needed, $category filters for letters given category
- Create a letter selector with the following code
-
-=head3 in PERL SCRIPT
-
-my $letters = getletters($cat);
-my @letterloop;
-foreach my $thisletter (keys %$letters) {
- my $selected = 1 if $thisletter eq $letter;
- my %row =(value => $thisletter,
- selected => $selected,
- lettername => $letters->{$thisletter},
- );
- push @letterloop, \%row;
-}
-
-
-=head3 in TEMPLATE
- <select name="letter">
- <option value="">Default</option>
- <!-- TMPL_LOOP name="letterloop" -->
- <option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF
name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="lettername"
--></option>
- <!-- /TMPL_LOOP -->
- </select>
-
-=cut
-
-sub getletters {
-# returns a reference to a hash of references to ALL letters...
- my $cat address@hidden;
- my %letters;
- my $dbh = C4::Context->dbh;
- my $sth;
- if ($cat ne ""){
- $sth = $dbh->prepare("Select * from letter where module = \'".$cat."\'
order by name");
- } else {
- $sth = $dbh->prepare("Select * from letter order by name");
- }
- $sth->execute;
- my $count;
- while (my $letter=$sth->fetchrow_hashref) {
- $letters{$letter->{'code'}}=$letter->{'name'};
- $count++;
- }
- return ($count,\%letters);
-}
-
-=head2 GetItemTypes
-
- $itemtypes = &GetItemTypes();
-
-Returns information about existing itemtypes.
-
-build a HTML select with the following code :
-
-=head3 in PERL SCRIPT
-
-my $itemtypes = GetItemTypes;
-my @itemtypesloop;
-foreach my $thisitemtype (sort keys %$itemtypes) {
- my $selected = 1 if $thisitemtype eq $itemtype;
- my %row =(value => $thisitemtype,
- selected => $selected,
- description => $itemtypes->{$thisitemtype}->{'description'},
- );
- push @itemtypesloop, \%row;
-}
-$template->param(itemtypeloop => address@hidden);
-
-=head3 in TEMPLATE
-
-<form action='<!-- TMPL_VAR name="script_name" -->' method=post>
- <select name="itemtype">
- <option value="">Default</option>
- <!-- TMPL_LOOP name="itemtypeloop" -->
- <option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF
name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="description"
--></option>
- <!-- /TMPL_LOOP -->
- </select>
- <input type=text name=searchfield value="<!-- TMPL_VAR name="searchfield"
-->">
- <input type="submit" value="OK" class="button">
-</form>
-
-
-=cut
-
-sub GetItemTypes {
-# returns a reference to a hash of references to branches...
- my %itemtypes;
- my $dbh = C4::Context->dbh;
- my $query = qq|
- SELECT *
- FROM itemtypes
- |;
- my $sth=$dbh->prepare($query);
- $sth->execute;
- while (my $IT=$sth->fetchrow_hashref) {
- $itemtypes{$IT->{'itemtype'}}=$IT;
- }
- return (\%itemtypes);
-}
-
-# FIXME this function is better and should replace GetItemTypes everywhere
-sub get_itemtypeinfos_of {
- my @itemtypes = @_;
-
- my $query = '
-SELECT itemtype,
- description,
- notforloan
- FROM itemtypes
- WHERE itemtype IN ('.join(',', map({"'".$_."'"} @itemtypes)).')
-';
-
- return get_infos_of($query, 'itemtype');
-}
-
-sub ItemType {
- my ($type)address@hidden;
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("select description from itemtypes where itemtype=?");
- $sth->execute($type);
- my $dat=$sth->fetchrow_hashref;
- $sth->finish;
- return ($dat->{'description'});
-}
-=head2 getauthtypes
-
- $authtypes = &getauthtypes();
-
-Returns information about existing authtypes.
-
-build a HTML select with the following code :
-
-=head3 in PERL SCRIPT
-
-my $authtypes = getauthtypes;
-my @authtypesloop;
-foreach my $thisauthtype (keys %$authtypes) {
- my $selected = 1 if $thisauthtype eq $authtype;
- my %row =(value => $thisauthtype,
- selected => $selected,
- authtypetext => $authtypes->{$thisauthtype}->{'authtypetext'},
- );
- push @authtypesloop, \%row;
-}
-$template->param(itemtypeloop => address@hidden);
-
-=head3 in TEMPLATE
-
-<form action='<!-- TMPL_VAR name="script_name" -->' method=post>
- <select name="authtype">
- <!-- TMPL_LOOP name="authtypeloop" -->
- <option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF
name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="authtypetext"
--></option>
- <!-- /TMPL_LOOP -->
- </select>
- <input type=text name=searchfield value="<!-- TMPL_VAR name="searchfield"
-->">
- <input type="submit" value="OK" class="button">
-</form>
-
-
-=cut
-
-sub getauthtypes {
-# returns a reference to a hash of references to authtypes...
- my %authtypes;
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("select * from auth_types order by authtypetext");
- $sth->execute;
- while (my $IT=$sth->fetchrow_hashref) {
- $authtypes{$IT->{'authtypecode'}}=$IT;
- }
- return (\%authtypes);
-}
-
-sub getauthtype {
- my ($authtypecode) = @_;
-# returns a reference to a hash of references to authtypes...
- my %authtypes;
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("select * from auth_types where authtypecode=?");
- $sth->execute($authtypecode);
- my $res=$sth->fetchrow_hashref;
- return $res;
-}
-
-=head2 getframework
-
- $frameworks = &getframework();
-
-Returns information about existing frameworks
-
-build a HTML select with the following code :
-
-=head3 in PERL SCRIPT
-
-my $frameworks = frameworks();
-my @frameworkloop;
-foreach my $thisframework (keys %$frameworks) {
- my $selected = 1 if $thisframework eq $frameworkcode;
- my %row =(value => $thisframework,
- selected => $selected,
- description =>
$frameworks->{$thisframework}->{'frameworktext'},
- );
- push @frameworksloop, \%row;
-}
-$template->param(frameworkloop => address@hidden);
-
-=head3 in TEMPLATE
-
-<form action='<!-- TMPL_VAR name="script_name" -->' method=post>
- <select name="frameworkcode">
- <option value="">Default</option>
- <!-- TMPL_LOOP name="frameworkloop" -->
- <option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF
name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="frameworktext"
--></option>
- <!-- /TMPL_LOOP -->
- </select>
- <input type=text name=searchfield value="<!-- TMPL_VAR name="searchfield"
-->">
- <input type="submit" value="OK" class="button">
-</form>
-
-
-=cut
-
-sub getframeworks {
-# returns a reference to a hash of references to branches...
- my %itemtypes;
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("select * from biblios_framework");
- $sth->execute;
- while (my $IT=$sth->fetchrow_hashref) {
- $itemtypes{$IT->{'frameworkcode'}}=$IT;
- }
- return (\%itemtypes);
-}
-=head2 getframeworkinfo
-
- $frameworkinfo = &getframeworkinfo($frameworkcode);
-
-Returns information about an frameworkcode.
-
-=cut
-
-sub getframeworkinfo {
- my ($frameworkcode) = @_;
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("select * from biblios_framework where
frameworkcode=?");
- $sth->execute($frameworkcode);
- my $res = $sth->fetchrow_hashref;
- return $res;
-}
-
-
-=head2 getitemtypeinfo
-
- $itemtype = &getitemtype($itemtype);
-
-Returns information about an itemtype.
-
-=cut
-
-sub getitemtypeinfo {
- my ($itemtype) = @_;
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("select * from itemtypes where itemtype=?");
- $sth->execute($itemtype);
- my $res = $sth->fetchrow_hashref;
-
- $res->{imageurl} = getitemtypeimagesrcfromurl($res->{imageurl});
-
- return $res;
-}
-
-sub getitemtypeimagesrcfromurl {
- my ($imageurl) = @_;
-
- if (defined $imageurl and $imageurl !~ m/^http/) {
- $imageurl =
- getitemtypeimagesrc()
- .'/'.$imageurl
- ;
- }
-
- return $imageurl;
-}
-
-sub getitemtypeimagedir {
- return
- C4::Context->intrahtdocs
- .'/'.C4::Context->preference('template')
- .'/itemtypeimg'
- ;
-}
-
-sub getitemtypeimagesrc {
- return
- '/intranet-tmpl'
- .'/'.C4::Context->preference('template')
- .'/itemtypeimg'
- ;
-}
-
-=head2 getprinters
-
- $printers = &getprinters($env);
- @queues = keys %$printers;
-
-Returns information about existing printer queues.
-
-C<$env> is ignored.
-
-C<$printers> is a reference-to-hash whose keys are the print queues
-defined in the printers table of the Koha database. The values are
-references-to-hash, whose keys are the fields in the printers table.
-
-=cut
-
-sub getprinters {
- my ($env) = @_;
- my %printers;
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("select * from printers");
- $sth->execute;
- while (my $printer=$sth->fetchrow_hashref) {
- $printers{$printer->{'printqueue'}}=$printer;
- }
- return (\%printers);
-}
-
-sub getbranch {
- my($query, $branches) = @_; # get branch for this query from branches
- my $branch = $query->param('branch');
- ($branch) || ($branch = $query->cookie('branch'));
- ($branches->{$branch}) || ($branch=(keys %$branches)[0]);
- return $branch;
-}
-
-=item getbranchdetail
-
- $branchname = &getbranchdetail($branchcode);
-
-Given the branch code, the function returns the corresponding
-branch name for a comprehensive information display
-
-=cut
-
-sub getbranchdetail
-{
- my ($branchcode) = @_;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("SELECT * FROM branches WHERE branchcode = ?");
- $sth->execute($branchcode);
- my $branchname = $sth->fetchrow_hashref();
- $sth->finish();
- return $branchname;
-} # sub getbranchname
-
-
-sub getprinter {
- my($query, $printers) = @_; # get printer for this query from printers
- my $printer = $query->param('printer');
- ($printer) || ($printer = $query->cookie('printer')) || ($printer='');
- ($printers->{$printer}) || ($printer = (keys %$printers)[0]);
- return $printer;
-}
-
-=item getalllanguages
-
- (@languages) = &getalllanguages($type);
- (@languages) = &getalllanguages($type,$theme);
-
-Returns an array of all available languages.
-
-=cut
-
-sub getalllanguages {
- my $type=shift;
- my $theme=shift;
- my $htdocs;
- my @languages;
- if ($type eq 'opac') {
- $htdocs=C4::Context->config('opachtdocs');
- if ($theme and -d "$htdocs/$theme") {
- opendir D, "$htdocs/$theme";
- foreach my $language (readdir D) {
- next if $language=~/^\./;
- next if $language eq 'all';
- next if $language=~ /png$/;
- next if $language=~ /css$/;
- next if $language=~ /images$/;
- next if $language=~ /CVS$/;
- next if $language=~ /itemtypeimg$/;
- next if $language=~ /\.txt$/i; #Don't read the readme.txt !
- push @languages, $language;
- }
- return sort @languages;
- } else {
- my $lang;
- foreach my $theme (getallthemes('opac')) {
- opendir D, "$htdocs/$theme";
- foreach my $language (readdir D) {
- next if $language=~/^\./;
- next if $language eq 'all';
- next if $language=~ /png$/;
- next if $language=~ /css$/;
- next if $language=~ /images$/;
- next if $language=~ /CVS$/;
- next if $language=~ /itemtypeimg$/;
- next if $language=~ /\.txt$/i; #Don't read the readme.txt !
- $lang->{$language}=1;
- }
- }
- @languages=keys %$lang;
- return sort @languages;
- }
- } elsif ($type eq 'intranet') {
- $htdocs=C4::Context->config('intrahtdocs');
- if ($theme and -d "$htdocs/$theme") {
- opendir D, "$htdocs/$theme";
- foreach my $language (readdir D) {
- next if $language=~/^\./;
- next if $language eq 'all';
- next if $language=~ /png$/;
- next if $language=~ /css$/;
- next if $language=~ /images$/;
- next if $language=~ /CVS$/;
- next if $language=~ /itemtypeimg$/;
- next if $language=~ /\.txt$/i; #Don't read the readme.txt !
- push @languages, $language;
- }
- return sort @languages;
- } else {
- my $lang;
- foreach my $theme (getallthemes('opac')) {
- opendir D, "$htdocs/$theme";
- foreach my $language (readdir D) {
- next if $language=~/^\./;
- next if $language eq 'all';
- next if $language=~ /png$/;
- next if $language=~ /css$/;
- next if $language=~ /images$/;
- next if $language=~ /CVS$/;
- next if $language=~ /itemtypeimg$/;
- next if $language=~ /\.txt$/i; #Don't read the readme.txt !
- $lang->{$language}=1;
- }
- }
- @languages=keys %$lang;
- return sort @languages;
- }
- } else {
- my $lang;
- my $htdocs=C4::Context->config('intrahtdocs');
- foreach my $theme (getallthemes('intranet')) {
- opendir D, "$htdocs/$theme";
- foreach my $language (readdir D) {
- next if $language=~/^\./;
- next if $language eq 'all';
- next if $language=~ /png$/;
- next if $language=~ /css$/;
- next if $language=~ /images$/;
- next if $language=~ /CVS$/;
- next if $language=~ /itemtypeimg$/;
- next if $language=~ /\.txt$/i; #Don't read the readme.txt !
- $lang->{$language}=1;
- }
- }
- $htdocs=C4::Context->config('opachtdocs');
- foreach my $theme (getallthemes('opac')) {
- opendir D, "$htdocs/$theme";
- foreach my $language (readdir D) {
- next if $language=~/^\./;
- next if $language eq 'all';
- next if $language=~ /png$/;
- next if $language=~ /css$/;
- next if $language=~ /images$/;
- next if $language=~ /CVS$/;
- next if $language=~ /itemtypeimg$/;
- next if $language=~ /\.txt$/i; #Don't read the readme.txt !
- $lang->{$language}=1;
- }
- }
- @languages=keys %$lang;
- return sort @languages;
- }
-}
-
-=item getallthemes
-
- (@themes) = &getallthemes('opac');
- (@themes) = &getallthemes('intranet');
-
-Returns an array of all available themes.
-
-=cut
-
-sub getallthemes {
- my $type=shift;
- my $htdocs;
- my @themes;
- if ($type eq 'intranet') {
- $htdocs=C4::Context->config('intrahtdocs');
- } else {
- $htdocs=C4::Context->config('opachtdocs');
- }
- opendir D, "$htdocs";
- my @dirlist=readdir D;
-