Commit Graph

323 Commits

Author SHA1 Message Date
Joe Atzberger ea510b04bb Cleanup docs, typos, style etc.
Unused variable removed.  Weirdness with empty position in
assignment list also removed.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2009-09-16 23:19:44 +02:00
Chris Cormack 129c28d6d1 Fixing bug introduced by a cherry-pick conflict 2009-09-16 23:19:42 +02:00
Joe Atzberger ff7ab2d62a Bug 3056 - replace span hacking for terms in C4::Search
Reimplemented using jquery, added OSS plugin to both interfaces.  This is
another case where having a /common directory used by both OPAC and STAFF
would increase runtime efficiency and cut development time.

Removed unused variables.

I changed the OPAC .term color to match the staff interface, rather than being a
second shade of blue.  The highlight/unhighlight link is currently a bit bolder
than its neighbors, but my styling choices are provisional.  I expect the final
tweaking of CSS to come from another more capable designer, like Owen.

Note this patch may rely on previously submitted "Search.pm minor cleanup" patch.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-09-16 23:19:42 +02:00
Galen Charlton 84fe754654 bug 3263: Staff Search Results Interface Changes
Coding by Rick Welykochy <rick@praxis.com.au>

[1] Three new system preferences to enable particular
bib record views in the staff interface:

viewMARC
viewLabeledMARC
viewISBD

Implements enhancement 2642.

[2] New button in the regular and cataloging search results
   pages in the staff interface to allow the operator to redo
   the search against Z39.50 targets instead of the Koha database.

[3] Added copyright date and edition to cataloging and Z39.50 search results.
    Implements enhancement 2640.

Feature sponsored by MassCat.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-09-16 23:19:37 +02:00
Henri-Damien LAURENT b450285003 Adding autotruncation
Allow autotruncation to be set on its own
This simply reprocess operands in order to add * at lefthandside
It is a problem with non LTR scripts. But works fine with all the latin scripts

Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-09-16 23:19:31 +02:00
Nahuel ANGELINETTI 1471d30dfb (bug #3541) show reserved items as not available
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-09-16 23:19:31 +02:00
Henri-Damien LAURENT df024e89d6 _remove_stopwords in C4::Search had some issues
For some reason, it would not really do an exact match on stopwords but would also prune some other part of words

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-09-16 23:19:24 +02:00
Joe Atzberger 9ae23c7b05 Search.pm minor cleanup
Trying to move towards enabling warnings.
Add warn for unknown $query_type.
Use common $dbh.

push @array, ({key1=>value1...}); is the same as
push @array, {key1=>value1...};

if ( scalar(@$arrayref) > 0 ) is the same as
if (scalar @$arrayref)

Lines like:
    my @operators = @$operators if $operators;
are bad because we need @operators to be declared and in scope later,
even if it is undef.  Without $operators, the variable is not in scope.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-09-16 23:19:22 +02:00
Nahuel ANGELINETTI 48c548fb40 (bug #3405) fix on loan list in search result
The hash keys were made using a base and $item->{date_due}, but this key doesn't exists, so the possibility to have duplicate keys exists, and sometimes the others items were not shown. This patch fix this bug.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-09-16 23:19:19 +02:00
Ricardo Dias Marques 4242d03b87 Fix for Bug 2599 - Search limits not working for NoZebra
Adds the change suggested by Amer Denni to fix Bug 2599
in comment #7 at:

http://bugs.koha.org/cgi-bin/bugzilla3/show_bug.cgi?id=2599

For UNIMARC installations, this patch only works after
updating the "NoZebraIndexes" system preference to
UNIMARC indexes (by default, NoZebraIndexes is being
wrongly set to MARC21 values in UNIMARC installations).

That has also been reported as a Bug, by me (see Bug 2178):

Bug 2178 - "NoZebraIndexes" system preference is being set
to MARC21 values in UNIMARC installations
http://bugs.koha.org/cgi-bin/bugzilla3/show_bug.cgi?id=2178

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-09-16 23:19:16 +02:00
Galen Charlton ed9e78f9df display library name instead of code in limit description
The OPAC and staff search results page will now display
the library name instead of the library code in the limit
part of the search description, e.g.,

"kw,wrdl: cat branch:Centerville" instead of
"kw,wrdl: cat branch:CPL"

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-09-16 23:19:04 +02:00
Galen Charlton 44a4e8943a bug 3236: remove disused scripts and a function
Removed opac/opac-dictionary.pl and catalogue/dictionary.pl,
which were not in use and not linked to from any active
template files.  According to Henri, the functionality that
these scripts implemented hasn't been working since 2.2.

Also removed C4::Search::findseealso(), which was used
only by the two scripts.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-09-16 23:18:51 +02:00
Jesse Weaver 3095040986 fix for bug 1771: Template errors with remote itemtype image
This adds a new function, getitemtypeimagelocation, that returns the image
unmodified for absolute urls and returns the proper intranet or opac path
otherwise. It also updates all of the relevant files to use that function.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-09-04 10:23:10 +12:00
Frédéric Demians e7f8b61085 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>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-05-26 21:15:28 +02:00
Chris Cormack 45e21f785a Bug 2944 fix courtesy of Amr Denni
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-05-26 21:15:26 +02:00
Nahuel ANGELINETTI 1dfad03e11 (bug #3058) show items that are excluded of loan in search results
This patchs show all items that are available for reading to the library but excluded of loan.
And don't show them as same way as "damaged" or other "not for loan" status.
2009-05-26 21:15:24 +02:00
Galen Charlton c9356742c5 bug 2958: fix search results navigation for CCL, CQL, and PQF queries
The shortcut to build $query_cgi in C4::Search::buildQuery()
for CCL, CQL, and PQF queries is incorrect, as (for now)
the "q=" prefix is required.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-05-26 21:15:11 +02:00
Galen Charlton f5d17df508 qualify warn; sort_by is not a required search parameter
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-05-26 21:15:09 +02:00
Henri-Damien LAURENT e9701c67a6 auto truncation was not used
Auto truncation now works on LTR languages
For RTL languages(Arab, Hebrew), development should be really improved.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-05-26 21:15:09 +02:00
Galen Charlton b00a0d9991 remove incomplete bib bulk editing code
Per discussion I had with Henri, removing experimental
bulk editing from the staff search results code, as
feature is incomplete and can be dangerous if
one tries to use it on a large search result
set.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-05-26 21:15:08 +02:00
Owen Leonard d4dd13f115 Adding details to OPAC search results RSS, described in Bug 2973.
This includes a change to Search.pm to add a variable, subtitle_nospan, in order to display subtitles in the feed without search term highlighting HTML. The modified template attempts to display Amazon, Syndetics, or Baker & Taylor book cover images. Google images are not included because they require Javascript.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-05-26 21:15:05 +02:00
Galen Charlton aacefca565 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>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-05-26 21:14:57 +02:00
Joe Atzberger 0ef54684d1 Minor cleanup, unused variable removed.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-05-26 21:14:53 +02:00
Michael Hafen 1d0aba55a5 Add barcode to staff search results page.
This adds a copy barcode do the item list (Location) on the staff search
results page.
2009-03-04 12:47:38 +01:00
Henri-Damien LAURENT 3355adce2f Followup previous patch bug 2955 :
Some calls to GetMarcFromKohaField would not tell which framework to
use.

Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2009-02-11 18:31:44 +01:00
Joe Atzberger 79cd91dfe4 Basic reformat of section in Search.pm
In for loops, replace all-inclusive conditional blocks like:
    for (@foo) {
        if (test) {
            block;
        }
    }

with conditional use of "next":
    for (@foo) {
        test or next;
        block;
    }

This reduces the number of unnecessarily nested blocks, and the
overall number of lines.

Signed-off-by: Henri-Damien LAURENT <henridamien@koha-fr.org>
2009-01-27 12:19:46 +01:00
Henri-Damien LAURENT 1b9542fbeb bug #2852 encoding problems with custom summaries
decoding data in order to correctly display.

Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2008-12-10 14:29:16 +01:00
Henri-Damien LAURENT 8d29c78cbb Bug Fix : 2494
Adds some rewriting
bug fix for merging
AddAuthority had some problem with updating existing data.
ModAuthority adds a new Syspref called MergeAuthoritiesOnUpdate which is used to launch or disable biblios update when updating an authority

Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
2008-11-24 17:55:03 +01:00
Clay Fouts 727cbd2241 bug 2729: redundant call to C4::Biblio::get_biblio_authorised_values
Removes redundant and expensive call to C4:Biblio:get_biblio_authorised_values

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-11-12 15:14:19 +01:00
Henri-Damien LAURENT 3063d08e51 Bug Fixing : 2581 Problem With HomeBranchOrHoldingBranch (count items management)
Using $item->{$hbranch} rather than $item->{homebranch}

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-11-12 11:23:37 +01:00
Andrew Moore 644b97fe81 bug 2526: removing DEBUG flag from C4::Search
The DEBUG flag was left turned on.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-11-04 17:40:38 +01:00
Frederic Demians 57fcd4884e Bugfix #2630 2nd attempt
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-10-28 22:09:32 +01:00
Galen Charlton 2ef43f56f0 bug 2509: fix file permissions
Following suggestion by Vincent Danjean for Debian
packaging, 0755 -> 0644 for non-executable
files.

Also removed shebang from a few modules in C4.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-10-28 22:09:24 +01:00
Jesse Weaver 102792a89f fix for bug 1771: Template errors with remote itemtype image
This adds a new function, getitemtypeimagelocation, that returns the image
unmodified for absolute urls and returns the proper intranet or opac path
otherwise. It also updates all of the relevant files to use that function.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-10-28 22:09:24 +01:00
Joshua Ferraro 85b59ff91d Partial fix for 2446: single word queries that were stopwords
weren't being striped out of the query
2008-08-08 14:09:52 -05:00
Joshua Ferraro 71e436504b Removes the Libraries facet if singleBranchMode is ON 2008-07-18 17:54:11 -05:00
Andrew Moore 66c420c3d0 bug 1980: updateing calls to SimpleSearch to limit number of things returned
C4::Search::SimpleSearch was alredy patched to let you pass in the number of results you want back.
These instances were not using the new API. This patch makes all calls to SimpleSearch specify a limit.

I improved the documentation of SimpleSearch a bit to include the third returned value.

I believe there's a bug in C4::Output::pagination_bar, in that it doesn't deal well with URLs
with only one pair of parameter=value passed to it. I'm getting around this by passing in a second
pair that does nothing.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-10 09:11:24 -05:00
Joshua Ferraro 1e45b14714 Prior to this patch, XSL and scan indexes conflicted.
This patch resolves the issue by passing $scan to the
searchResults function to toggle XSL for scan results
2008-07-08 15:59:09 -05: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
Galen Charlton 233a40f1d1 bug 2098: do not apply stemming if search term has digits
If a search contains a digit, it is almost certainly an identifier, and should
not be stemmed.  This is particularly relevant for ISBNs and ISSNs, which
can contain the letter "X" - for example, C4::Search::_build_stemmend_operand
would reduce "014100018X" to "x ", which for a MARC21 database would bring
up irrelevant results (e.g., "23 x 29 cm." from the 300$c).

With this patch, supplying a search term that contains one or more digits
followed by "X" will no longer retrieve irrelevant results.  This applies
to catalogs using Zebra and query stemming.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-10 08:22:18 -05:00
Galen Charlton af14b082e4 kohabug 2225 - fix resource leak in SimpleSearch
Explicitly destroy ZOOM Query and ResultSet objects created
in C4::Search::SimpleSearch() - for long-running users
of SimpleSearch, such as link_bibs_to_authorities.pl or
the matcher used by the staging MARC import, the failure
to do this causes a memory leak in both the client Perl
script and (in the case of ZOOM ResultSet objects) a
corresponding resource leak in zebrasrv for the life
of the Z39.50 connection.

With this change, link_bibs_to_authorities.pl will be
be able to process large bib datasets without leaking
memory due to the Z39.50 lookups it does.

Similar changes are indicated for all uses of
ZOOM that could last longer than a single CGI
query.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-09 06:38:06 -05:00
Frederic Demians 1bf93a36db Facets (current) translatable via template
This patch allows to translate facets label with standart
templates / PO files. Facets are still hard coded in Koha.pm.
Template wait those hard coded facets: Topics, Places, Titles,
Autors and Libraries.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-27 07:26:31 -05:00
Galen Charlton 496b6c8ef4 bugfix - fix 'not' operator in NoZebra
Corrected bug that prevented the 'not' operator
from working consistently - i.e., a search of
'mice not men' would not always work.

Also added test cases for NoZebra, so far focusing on
NZanalyse and adding and deleting bibs.  A couple of
the test cases are currently known to fail and
therefore are marked TODO.  The tests in question
are to verify that rows in nozebra are removed if
no bib is linked to the relevant word.  However, it
looks like such rows are retained, just with
nozebra.biblionubmers set to ''.  Is there any
reason to keep these rows?

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-16 08:18:25 -05:00
Galen Charlton c6d507f8a9 kohabug 2020 - fix infinite loop in NoZebra on Perl 5.10
When running Koha in NoZebra mode under Perl 5.10, a search
containing a operator (e.g., "mice and men") could cause
a bib search to enter into an infinite loop in NZanalyse.

This possibility arises from the fact that NZanalyse used
to use capture variables from regular expressions without
verifying whether the regular expressions actually matched.
It was compounded by the fact that NZanalyse is recursive;
however, because $1, $2, etc. are dynamically scoped,
*they are not automatically cleared when NZanalyse calls
itself*.

Consequently, if the search string contains a boolean
operator, it would be split into

left = mice
operator = and
right = men

Then NZanalyse would be called recursively on the search
string 'mice'.  However, because $1, $2, and $3 are not
automatically cleared when the function is called again,
and because they are not cleared if a match fails, the code
would fail to recognize that 'mice' is leaf, and would
call NZanalyse('mice') repeatedly, to the promotion of
warm server rooms.

The wrinkle in this is that because of a bug in Perl 5.8, a
failing matches can sometimes alter the capture variables, thus
avoiding the infinite recursion.  However,  this bug was fixed in
Perl 5.10, leading to the NZanalyse bug becoming evident.

The Perl bug is described at http://rt.perl.org/rt3/Public/Bug/Display.html?id=19049
and the fix http://public.activestate.com/cgi-bin/perlbrowse/p/29279.

The fix to the Koha code is to check whether each regexp
that uses capture variables matches or fails, then act
accordingly.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-16 08:18:24 -05:00
Galen Charlton c1ae207d54 kohabug 1621 - add subtitle to main results and details pages
Including the subtitle in search results and OPAC and staff
details templates.  The subtitle is expected to be in the
MARC subfield that is mapped to the (now nonexistant) column
bibliosubtitle.subtitle.

This is a fairly hackish patch that is meant to be minimally
disruptive while allowing subtitles to be displayed for those
not using the experimental XSLT bib display feature.  It
does *not* cover all cases where you have a MARC
record and want to display its subtitle.

UNIMARC notes: at the moment, none of the fr-FR UNIMARC
frameworks appear to be map any subfields to bibliosubtitle.subtitle.
This could be changed, but caveat programmer: the UNIMARC 200$e
is repeatable (meaning that get_koha_field_from_marc will put in ' | '
between multiple subtitles) and one may want to also include the
200$d (parallel title).  A GetMarcSubtitle routine may be in order
if absolutely necessary.

This points to a long-term need to make display of MARC (and later, hopefully,
non-MARC) bib records more flexible - the XSLT feature is one approach;
there may be others.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-13 17:40:34 -05:00
Joshua Ferraro d83a055504 Adding authorised value icons display in the search results
pages.
2008-04-30 21:07:29 -05:00
Andrew Moore 57b3b951c1 Bug 2047: adding images to arbitrary authorized values
I've refactored the subs I added in the previous commit so that they make a little
more sense and are in better places in the code base. I was really hoping to make use
of existing subs, but they all seemed so specific to particular uses.

The icons now show up on the OPAC item details page.

TODO: The icons still don't show up in the OPAC search results page.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-30 20:10:43 -05:00
Joe Atzberger caa8afd2cc C4::Search - just cleanup, 1 FIXME added
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-22 18:02:34 -05:00
Chris Nighswonger 743fbda69d More work on SimpleSearch
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-17 05:52:43 -05:00
Chris Nighswonger d50ab5e6e8 Enabling SimpleSearch to return the total number of hits to caller
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-17 05:52:42 -05:00