Commit graph

35 commits

Author SHA1 Message Date
Jared Camins-Esakov
4bc293c3aa Bug 5810: Subject tracings search complete subfields
This patch adds the syspref TraceCompleteSubfields. When TraceCompleteSubfields
is set to "force," clicking on links in non-authority controlled subject
tracings will only find other records where the entire subfields match. Leaving
it at "don't force" keeps the current behavior of doing a keyword search of the
subject indexes.

This patch implements complete-subfield subject tracings in MARC21 XSLTs (OPAC
and Staff) and all Normal mode interfaces. UNIMARC XSLTs have not been updated.

This patch also adds the syspref UseAuthoritiesForTracings. When set to "Do not"
tracings in the XSLT detail displays will never generate links using authority
numbers, but rather use the heading strings (NB: the tracings currently use only
subfield 'a' for generating links).

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Jane Wagner <jwagner@ptfs.com>
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-13 15:02:59 +13:00
326222e3f1 Bug 4072 Lost items aren't hidden on OPAC result page
When hidelostitems system preference is enabled, lost items are hidden on OPAC
detail page but are shown on result page. This patch modify MARC21/UNIMARC XSL
in order to take into account hidelostitems syspref on OPAC result page.

Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-12 12:52:57 +13:00
bfec5ef4c1 Bug 5727 Warning in log due to XSLT.pm
XSLT.pm add few syspref to MARCXML record send to be transformed by XSLT. If
one of those syspref doesn't exist, it generated a warning.

Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-02-14 09:46:20 +13:00
Katrin Fischer
9f688ad92b Bug 5370: Fix all references to koha.org
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-08 09:41:47 +13:00
f88f88dcc5 bug 5301: improve escaping of XML characters in bib output
<, >, ', or " in an item call number will no longer make
the bib displays break when using XSLT mode.

Added a new routine to C4::Koha, xml_escape(), to implement
converting &, <, >, ', and " to their corresponding
entities.

Patch loosely based on work done by Daniel Latrémolière <daniel.latremoliere@bulac.fr>

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-02 08:31:47 +13:00
d3b07c1889 More fixes for Bug 4423, Staff Client XSLT is just a copy of the OPAC one
- Adding material type icons from the OPAC side
- Adding OPAC View link
- Copying revised handling of MU from the OPAC
- Removing OPAC-specific markup

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-23 22:50:29 -04:00
Andrew Elwell
546a0244bb More POD cleanups
Signed-off-by: Andrew Elwell <Andrew.Elwell@gmail.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-09 08:38:58 -04:00
e7f8cc8f5e bug 4403: look in appropriate theme/lang for bib display XSL
Note: approach used can be described as a hack at best; the current
language should probably become a session attribute.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-08 18:59:41 -04:00
Ian Walls
b86e4e5700 Fixes bug 4448: &'s in itemcallnumber
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-05 11:35:34 -04:00
Jane Wagner
6ecb2ddbb5 Bug 3788 XSLT does not obey viewISBD syspref
Modified XSLT.pm and MARC21slim2OPACDetail.xsl to obey the viewISBD syspref
setting in the OPAC.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-04-29 22:09:59 -04:00
Cindy Murdock Ames
7c7794d838 Fix for ampersand display problem in OPAC search results
This is a quick fix to XSLTParse4Display to make ampersands display
correctly in OPAC search results.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-04-07 11:12:34 -04:00
Lars Wirzenius
7279f55b60 Fix FSF address in directory C4/
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-03-16 20:17:56 -04:00
Garry Collum
9fa69bff82 Bug 2655: Partial fix for Items on hold shelf showing as available.
Fixes the opac results (opac-search.pl), if using xsl to transform data.  I have no way to test UNIMARC results, if someone could test it for me.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-21 20:12:12 -05:00
Chris Cormack
a319a402f7 Removing noisy warn in C4/XSLT.pm
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-08 07:39:50 -05:00
Paul Poulain
9d1e7f43e1 (bug #4020) XSLT unimarc display
When using XSLT Display, and UNIMARC,
since marcFlavour is not used in encoding data, when data is true utf8, as_xml
fails on some subfields.

Moreover, because transformMARCXMLForXSLT edits some values in the marc record
and the PERL UTF8 is not handled by MARC::File::USMARC, it endsup in double
encoding the data.
Sending a patch to fix both issues.

This patch adds
    - two functions in  C4/Charset.pm
        NormalizeString (uses Unicode::Normalize)
        SetUTF8Flag (This function in my opinion belongs to MARC::Record, or at least MARC::File::USMARC)
    - edits C4::XSLT in order to cope with the correct marcflavour
    - edits C4::Search searchResults to use setUTF8Flag
2010-01-28 15:11:51 +01:00
David Birmingham
77141dab35 Translated & to &amp; in xmlrecord
If the homebranch tag had an & in its name, then the XML wouldn't parse
correctly.  As a result, if XSLT was turned on, "No copies available" would
always be displayed.
2009-12-20 14:26:35 +01:00
Paul Poulain
ed047fead8 adding XSLT for intranet (UNIMARC only, MARC21 will be done by kf)
- the XSLTParse4Display sub now has a new parameter : the interface (intranet or opac)
- the XSLTdisplay sysprefs is common to staff & opac (Auth.pm)
- added UNIMARC xslt in intranet templates (modified to deal with staff/opac differences)
2009-11-10 22:23:50 +01:00
Jane Wagner
2889603e0e Bug-3098-Bug-3108-Bug-3545 revision to XSLT syspref patch
The patch I sent earlier repeated a line having to do with the count of items, which mean the count was now doubling (2 items instead of 1, 4 instead of 2, etc.).  This patch removes the first, now superflous line of $xmlrecord =~ s/\<\/record\>/$itemsxml\<\/record\>/;

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-16 13:49:13 -04:00
Jane Wagner
486a9496de Bug 3098, Bug 3108, Bug 3545 -- Make MARC21 XSLT obey sysprefs in OPAC
The MARC21slim2OPACDetail.xsl and MARC21slim2OPACResults.xsl XSLT
stylesheets do not obey any of the OPAC sysprefs, OPACURLOpenInNewWindow,
URLLinkText, or a new one added for Bug 3545, DisplayOPACiconsXSLT.
Modified C4/XSLT.pm based on code written by Fréric Demians (thanks!) to
pass the values of the sysprefs to the .xsl files.  Modified the .xsl
files to implement them.  If the respective sysprefs are set, the OPAC
results and display pages will/will not display the format/material
type/audience icons, will/will not open URLs in new browser windows,
and will/will not use the text entered in URLLinkText as generic link
text when there is no value in the 856 subfield y, 3, or z.  (Note that
if subfields y, 3, or z do contain text, the first match is what will be displayed.)

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-15 21:40:47 -04:00
Galen Charlton
a244ff6671 bug 2505: turn on warnings in seven modules
C4::XSLT
C4::VirtualShelves
C4::Review
C4::Output
C4::Boolean
C4::Charset
C4::Stats

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-06-07 20:09:16 -05:00
d470e2b932 Improve XSLT.pm performances
This patch is done in the process of understanding what's
going wrong with bug #3226. It improves some processing.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-05-15 09:48:27 -05:00
5ef1d6ff9e Bug 3213 - UNIMARC/MARC21 selection
Modify how XSLT stylesheet are choosen
depending on 'marcflavour' syspref.

DOCUMENTATION: XSLTResultsDisplay and XSLTDetailsDisplay
sysprefs aren't MARC21-only anymore.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-05-11 07:35:53 -05:00
15d95fdd0e Optimize XSLT.pm
Avoid reading marc_tag_structure for each biblo record to
transform by XSLT. Not totaly useless on OPAC result page.
Should be done via application variables rather than
request variable, but this is another story.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-05-08 07:54:08 -05:00
Galen Charlton
4c55cc220f reduce bib fetches during search and OPAC display
Speed up bib search and OPAC bib display, especially
when the XSLT OPAC results and details display sysprefs are
ON, by passing an existing MARC::Record object to three
functions:

C4::Biblio::get_biblio_authorised_values()
C4::XSLT::XSLTParse4Display()
C4::XSLT::transformMARCXML4XSLT (internal)

These functions previously fetched the bib from the
database, incurring the cost of DB retrieval and MARCXML
parsing even though client code already had a
MARC::Record object available.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-02-12 14:31:55 -06:00
Joshua Ferraro
d2cb0a20de Fixes to two issues with status display on OPAC:
1. rather than testing for notforloan == -1, test for any negative values to set the On order status
2. in cases where itemcallnumber is blank or null, don't display the itemcallnumber brackets []

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-02-09 14:36:56 -06:00
Joshua Ferraro
04270d01b2 Distinguish between items marked 'not for loan' and 'Available'
This patch works with XSL* sysprefs == ON, a future patch will address XSL sysprefs==OFF

Items with notforloan set to a negative number still designate an 'ordered' status

Some items are marked 'not for loan' by setting that value at the item level, others by assigning
that value to that item's itemtype. This patch works for both scenarios.

Specific changes this patch introduces to the OPAC:

* Adds a new OPAC results page key 'Copies available for reference:'
* Changes 'Copies available at:' to 'Copies available for loan:'
* Changes the availability limit label in opac-advsearch from:
    'Only items currently available' to 'Only items currently
	available for loan or reference
* Displays the authorised value for the specific notforloan value in the OPAC detail page in
	parentheses next to 'Not for Loan'

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-02-09 14:36:51 -06:00
eaa3ee40a7 Avoid XSLT stylesheet building for each biblio record to transform
In XSLT.pm, put XSLT stylesheet object in a session variable in order
to avoid to build it for each biblio to parse: useful on search
result page.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-02-09 14:06:57 -06:00
Joshua Ferraro
acd431f55d Adds the ability to reference itemcallnumber within XSLT
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-12-31 10:19:55 -06:00
Galen Charlton
556538e101 bug 2248 [2/2]: import item status display in search results
The in transit status now displays as such in the
OPAC search results.  In the non-XSLT version, the status
is checked only for bibs having 20 or fewer items to avoid
extra hits on the database during result set presentation.
In the XSLT version, all items are checked.

Note that because an item's transfer status is not
stored in the MARC record, the transfer status
has no effect when limiting a search by item
availability.  For a future version, the transit status
should be added to the Zebra index.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 17:47:04 -05:00
Joshua Ferraro
affaae1247 Normalizing s/On loan/Checked out/ 2008-04-25 15:28:14 -05:00
Joshua Ferraro
bedb9fffa0 avoid crashes if record in result set is corrupted
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-11 04:51:40 -05:00
Joshua Ferraro
4d3519dffd Partial fixes to enable unapi for non-zebra and non-public-facing sru
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-08 19:48:55 -05:00
Joshua Ferraro
eee5289de5 adding additional statuses display for XSL
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-07 21:20:50 -05:00
Galen Charlton
4c596e4e97 fixed locating OPAC stylesheet in a "standard" install
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-01 06:46:09 -05:00
Joshua Ferraro
556721e86a Experimental XSLT-based display of results and details pages To enable, create two new YesNo sysprefs: XSLTDetailsDisplay and XSLTResultsDisplay, and set them to ON. Feature to be expanded in a future version, this experimental code is for proof of concept only and doesn't introduce any changes if sysprefs are not created.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-21 21:49:04 -05:00