* bugfix for the search on a MARC detail, when you clic on the magnifying glass (caused an internal server error)
* partial support of the "linkage" MARC feature : if you enter a "link" on a MARC subfield, the magnifying glass won't search on the field, but on the linked field. I agree it's a partial support. Will be improved, but I need to investigate MARC21 & UNIMARC diffs on this topic.
This commit is contained in:
parent
2dfe2c917a
commit
5aa60ee667
10
C4/Biblio.pm
10
C4/Biblio.pm
|
|
@ -253,7 +253,7 @@ sub MARCgettagslib {
|
|||
|
||||
$sth =
|
||||
$dbh->prepare(
|
||||
"select tagfield,tagsubfield,$libfield as lib,tab, mandatory, repeatable,authorised_value,authtypecode,value_builder,kohafield,seealso,hidden,isurl from marc_subfield_structure where frameworkcode=? order by tagfield,tagsubfield"
|
||||
"select tagfield,tagsubfield,$libfield as lib,tab, mandatory, repeatable,authorised_value,authtypecode,value_builder,kohafield,seealso,hidden,isurl,link from marc_subfield_structure where frameworkcode=? order by tagfield,tagsubfield"
|
||||
);
|
||||
$sth->execute($frameworkcode);
|
||||
|
||||
|
|
@ -265,12 +265,13 @@ sub MARCgettagslib {
|
|||
my $seealso;
|
||||
my $hidden;
|
||||
my $isurl;
|
||||
my $link;
|
||||
|
||||
while (
|
||||
( $tag, $subfield, $lib, $tab,
|
||||
$mandatory, $repeatable, $authorised_value, $authtypecode,
|
||||
$value_builder, $kohafield, $seealso, $hidden,
|
||||
$isurl )
|
||||
$isurl, $link )
|
||||
= $sth->fetchrow
|
||||
)
|
||||
{
|
||||
|
|
@ -285,6 +286,7 @@ sub MARCgettagslib {
|
|||
$res->{$tag}->{$subfield}->{seealso} = $seealso;
|
||||
$res->{$tag}->{$subfield}->{hidden} = $hidden;
|
||||
$res->{$tag}->{$subfield}->{isurl} = $isurl;
|
||||
$res->{$tag}->{$subfield}->{link} = $link;
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
|
|
@ -2632,6 +2634,10 @@ Paul POULAIN paul.poulain@free.fr
|
|||
|
||||
# $Id$
|
||||
# $Log$
|
||||
# Revision 1.114 2005/01/03 10:48:33 tipaul
|
||||
# * bugfix for the search on a MARC detail, when you clic on the magnifying glass (caused an internal server error)
|
||||
# * partial support of the "linkage" MARC feature : if you enter a "link" on a MARC subfield, the magnifying glass won't search on the field, but on the linked field. I agree it's a partial support. Will be improved, but I need to investigate MARC21 & UNIMARC diffs on this topic.
|
||||
#
|
||||
# Revision 1.113 2004/12/10 16:27:53 tipaul
|
||||
# limiting the number of search term to 8. There was no limit before, but 8 words seems to be the upper limit mySQL can deal with (in less than a second. tested on a DB with 13 000 items)
|
||||
# In 2.4, a new DB structure will highly speed things and this limit will be removed.
|
||||
|
|
|
|||
|
|
@ -166,6 +166,7 @@ $marcflavour ("MARC21" or "UNIMARC") determines which tags are used for retrievi
|
|||
|
||||
sub catalogsearch {
|
||||
my ($dbh, $tags, $and_or, $excluding, $operator, $value, $offset,$length,$orderby) = @_;
|
||||
warn "@$tags[0], @$and_or[0], @$excluding[0], @$operator[0], @$value[0], $offset,$length,$orderby";
|
||||
# build the sql request. She will look like :
|
||||
# select m1.bibid
|
||||
# from marc_subfield_table as m1, marc_subfield_table as m2
|
||||
|
|
@ -190,10 +191,11 @@ sub catalogsearch {
|
|||
$orderby = "biblio.title" unless $orderby;
|
||||
|
||||
#last minute stripping out of ' and ,
|
||||
foreach $_ (@$value) {
|
||||
$_=~ s/\'/ /g;
|
||||
$_=~ s/\,/ /g;
|
||||
}
|
||||
# paul : quoting, it's done a few lines lated.
|
||||
# foreach $_ (@$value) {
|
||||
# $_=~ s/\'/ /g;
|
||||
# $_=~ s/\,/ /g;
|
||||
# }
|
||||
|
||||
for(my $i = 0 ; $i <= $#{$value} ; $i++)
|
||||
{
|
||||
|
|
@ -201,7 +203,7 @@ sub catalogsearch {
|
|||
@$value[$i] =~ s/\*/%/g;
|
||||
# remove % at the beginning
|
||||
@$value[$i] =~ s/^%//g;
|
||||
@$value[$i] =~ s/(\.|\?|\:|\!|\'|,|\-|\"|\(|\)|\[|\]|\{|\})/ /g;
|
||||
@$value[$i] =~ s/(\.|\?|\:|\!|\'|,|\-|\"|\(|\)|\[|\]|\{|\})/ /g if @$operator[$i] eq "contains";
|
||||
if(@$excluding[$i]) # NOT statements
|
||||
{
|
||||
$any_not = 1;
|
||||
|
|
|
|||
|
|
@ -85,8 +85,12 @@
|
|||
<!-- TMPL_LOOP NAME="subfield" -->
|
||||
<p>
|
||||
<label class="labelsubfield">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator=&#x003D&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
<!-- TMPL_IF name="link">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="link" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- TMPL_ELSE -->
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
</a>
|
||||
<!-- TMPL_VAR NAME="marc_subfield" -->
|
||||
<!-- TMPL_VAR NAME="marc_lib" --></label>
|
||||
|
|
@ -111,8 +115,12 @@
|
|||
<!-- TMPL_LOOP NAME="subfield" -->
|
||||
<p>
|
||||
<label class="labelsubfield">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator=&#x003D&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
<!-- TMPL_IF name="link">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="link" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- TMPL_ELSE -->
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
</a>
|
||||
<!-- TMPL_VAR NAME="marc_subfield" -->
|
||||
<!-- TMPL_VAR NAME="marc_lib" --></label>
|
||||
|
|
@ -137,8 +145,12 @@
|
|||
<!-- TMPL_LOOP NAME="subfield" -->
|
||||
<p>
|
||||
<label class="labelsubfield">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator=&#x003D&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
<!-- TMPL_IF name="link">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="link" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- TMPL_ELSE -->
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
</a>
|
||||
<!-- TMPL_VAR NAME="marc_subfield" -->
|
||||
<!-- TMPL_VAR NAME="marc_lib" --></label>
|
||||
|
|
@ -163,8 +175,12 @@
|
|||
<!-- TMPL_LOOP NAME="subfield" -->
|
||||
<p>
|
||||
<label class="labelsubfield">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator=&#x003D&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
<!-- TMPL_IF name="link">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="link" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- TMPL_ELSE -->
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
</a>
|
||||
<!-- TMPL_VAR NAME="marc_subfield" -->
|
||||
<!-- TMPL_VAR NAME="marc_lib" --></label>
|
||||
|
|
@ -189,8 +205,12 @@
|
|||
<!-- TMPL_LOOP NAME="subfield" -->
|
||||
<p>
|
||||
<label class="labelsubfield">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator=&#x003D&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
<!-- TMPL_IF name="link">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="link" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- TMPL_ELSE -->
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
</a>
|
||||
<!-- TMPL_VAR NAME="marc_subfield" -->
|
||||
<!-- TMPL_VAR NAME="marc_lib" --></label>
|
||||
|
|
@ -215,8 +235,12 @@
|
|||
<!-- TMPL_LOOP NAME="subfield" -->
|
||||
<p>
|
||||
<label class="labelsubfield">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator=&#x003D&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
<!-- TMPL_IF name="link">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="link" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- TMPL_ELSE -->
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
</a>
|
||||
<!-- TMPL_VAR NAME="marc_subfield" -->
|
||||
<!-- TMPL_VAR NAME="marc_lib" --></label>
|
||||
|
|
@ -241,8 +265,12 @@
|
|||
<!-- TMPL_LOOP NAME="subfield" -->
|
||||
<p>
|
||||
<label class="labelsubfield">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator=&#x003D&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
<!-- TMPL_IF name="link">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="link" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- TMPL_ELSE -->
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
</a>
|
||||
<!-- TMPL_VAR NAME="marc_subfield" -->
|
||||
<!-- TMPL_VAR NAME="marc_lib" --></label>
|
||||
|
|
@ -267,8 +295,12 @@
|
|||
<!-- TMPL_LOOP NAME="subfield" -->
|
||||
<p>
|
||||
<label class="labelsubfield">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator=&#x003D&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
<!-- TMPL_IF name="link">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="link" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- TMPL_ELSE -->
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
</a>
|
||||
<!-- TMPL_VAR NAME="marc_subfield" -->
|
||||
<!-- TMPL_VAR NAME="marc_lib" --></label>
|
||||
|
|
@ -293,8 +325,12 @@
|
|||
<!-- TMPL_LOOP NAME="subfield" -->
|
||||
<p>
|
||||
<label class="labelsubfield">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator=&#x003D&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
<!-- TMPL_IF name="link">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="link" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- TMPL_ELSE -->
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
</a>
|
||||
<!-- TMPL_VAR NAME="marc_subfield" -->
|
||||
<!-- TMPL_VAR NAME="marc_lib" --></label>
|
||||
|
|
@ -319,8 +355,12 @@
|
|||
<!-- TMPL_LOOP NAME="subfield" -->
|
||||
<p>
|
||||
<label class="labelsubfield">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator=&#x003D&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
<!-- TMPL_IF name="link">
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="link" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- TMPL_ELSE -->
|
||||
<a href="search.marc/search.pl?op=do_search&marclist=<!-- TMPL_VAR NAME="marc_tag" --><!-- TMPL_VAR NAME="marc_subfield" -->&operator==&type=intranet&value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
|
||||
<!-- /TMPL_IF -->
|
||||
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/filefind.png" height="15" alt="Search on this Field's Value">
|
||||
</a>
|
||||
<!-- TMPL_VAR NAME="marc_subfield" -->
|
||||
<!-- TMPL_VAR NAME="marc_lib" --></label>
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@
|
|||
<!-- TMPL_IF NAME="authorised_value" --> Auth value :<!-- TMPL_VAR NAME="authorised_value" -->,<!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="authtypecode" --> Authority :<!-- TMPL_VAR NAME="authtypecode" -->,<!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="value_builder" -->Plugin :<!-- TMPL_VAR NAME="value_builder" -->,<!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="link" -->Link:<!-- TMPL_VAR NAME="link" -->,<!-- /TMPL_IF -->
|
||||
<!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><a href="<!-- TMPL_VAR NAME="delete" -->"><img src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/images/edittrash.png" width="32" hspace="0" vspace="0" border="0"></a></td>
|
||||
|
|
|
|||
Loading…
Reference in New Issue